Бот предоставляет публичный эндпоинт /healthcheck, который возвращает состояние самого бота и всех его внешних зависимостей. Используйте его для мониторинга (uptime-сервисы, healthcheck в Docker/Compose, балансировщики).
Запрос
curl https://ваш-домен/healthcheckМетод — GET, авторизация не требуется.
Коды ответа
| HTTP-код | Поле status | Значение |
|---|---|---|
200 | pass | Все зависимости доступны |
503 | fail | Хотя бы одна зависимость недоступна |
503 | starting | Бот ещё не завершил первую проверку (холодный старт) |
Пример ответа
{
"status": "pass",
"time": "2026-06-19T10:00:00Z",
"last_check": "2026-06-19T09:59:30Z",
"checks": {
"postgres": { "status": "pass", "latency_ms": 3 },
"remnawave": { "status": "pass", "latency_ms": 42 },
"s3": { "status": "pass", "latency_ms": 18 },
"telegram_bot_api": { "status": "pass", "latency_ms": 90 }
}
}| Поле | Описание |
|---|---|
status | Общий статус: pass, fail или starting |
time | Время формирования ответа (UTC) |
last_check | Время последней фоновой проверки зависимостей |
checks | Статус каждой зависимости: pass/fail и задержка в мс |
Как это работает
Бот проверяет зависимости в фоне по расписанию и в ответе отдаёт последний снимок, а не опрашивает провайдеров на каждый запрос. Эндпоинт публичный, поэтому повторный опрос на каждый запрос позволил бы усиливать трафик на внешние сервисы. Тексты ошибок наружу не отдаются — детальные причины сбоев приходят админам в Telegram-топик healthcheck.
Проверяемые зависимости
В checks могут присутствовать (в зависимости от подключённых сервисов):
postgres— база данныхremnawave— панель Remnawaves3— объектное хранилищеtelegram_bot_api— Telegram Bot APIsmtp— почтовый сервер- Платёжные провайдеры:
yookassa,wata,cryptopay,pally,antilopay,cloudpayments,heleket,paykilla,platega