Qut Pay Сайт Кабинет База знаний Инструкции Документация API ҚАЗРУС
ГлавнаяБаза знаний → Справочник

Проверка состояния сервиса

Обновлено: 2026-09-14 · Версия в Markdown

Коротко

GET /api/v1/status — лёгкий эндпоинт, который сразу подтверждает три вещи: API доступен, ваш ключ действителен и организация находится в ожидаемом режиме.

GET https://api.qut.kz/api/v1/status
X-API-Key: qp_live_…

Ответ:

{
  "provider": "kaspi-app",
  "mode": "live",
  "connected": true
}
ПолеЗначение
providerВ боевом режиме kaspi-app, в песочнице mock
modeТекущий режим организации: live или sandbox
connectedПризнак того, что запрос успешно обработан

Эндпоинт требует API-ключ, но отдельного scope не нужно — подойдёт любой действующий ключ.

Что проверяется, а что нет

Это важно: status проверяет не всё.

ПроверяетсяНе проверяется
Доступность нашего APIРабота стороны Kaspi
Действительность ключаАктивность привязки кассира
Режим организацииАктивность тарифа
Сетевой путь до насДоступность вашего адреса вебхука

То есть из ответа 200 нельзя сделать вывод «всё в порядке». Он означает «запрос до нас дошёл, ключ рабочий». Состояние кассира смотрите в кабинете, раздел Kaspi.

Как поставить в мониторинг

Эндпоинт лёгкий, поэтому его удобно использовать как точку проверки во внешнем мониторинге (UptimeRobot, Healthchecks, Zabbix, собственный скрипт — неважно).

Рекомендуемые настройки:

ПараметрЗначение
ЧастотаРаз в 1-5 минут
Таймаут10 секунд
Считается успехомHTTP 200 и ожидаемое значение mode
Повторы2-3 попытки перед отправкой оповещения

Два совета:

Это дополнительное оповещение, а не основное. Основное приходит в Telegram: бот сразу сообщит, что привязка кассира оборвалась.

Проблема у нас или у Kaspi

Когда что-то не работает, порядок поиска такой.

Шаг 1. Отправьте GET /api/v1/status.

РезультатВывод
Ответа нет, таймаутИсходящая сеть вашего сервера или наша доступность. Повторите из другой сети
401 unauthorizedКлюч недействителен или удалён. Проблема на вашей стороне
403 tariff_inactiveТариф не активен. Кабинет → Тариф
200, но "mode": "sandbox"Режим тестовый, платежи ненастоящие
200 и "mode": "live"Наша сторона работает. Переходите к шагу 2

Шаг 2. Попробуйте создать счёт. POST /api/v1/invoices на маленькую сумму.

ОшибкаГде причина
kaspi_session_expired, kaspi_session_not_configuredПривязка кассира. Переподключите: Привязка оборвалась
invoice_create_failed, 502Kaspi не принял счёт. Повторите
tariff_limit_reached, 429Исчерпан лимит: Достигнут лимит
Счёт создалсяНи у нас, ни у Kaspi проблем нет. Переходите к шагу 3

Шаг 3. Счета создаются, но уведомления не приходят. Значит, дело в доставке вебхуков: Вебхук не приходит.

Короткая версия этой диагностики: Проблема у вас или у Kaspi.

Что мерить у себя

status — это одна точка, видимая снаружи. Большинство реальных проблем в ней не отражается. Заведите у себя три метрики.

1. Доставка вебхуков. Сколько вебхуков пришло за последний час? Если вы делаете 200 счетов в сутки и за час не пришло ни одного — это сигнал.

Что мерить: время последнего полученного вебхука. Превысило порог (например, 30 минут) — отправляйте оповещение.

2. Успешность создания счетов. Доля успешных POST /api/v1/invoices. В норме она выше 99%.

Что мерить: долю неудачных запросов за последние 15 минут. Больше 5% — ищите причину по коду ошибки.

3. Частота ошибок в разрезе кодов. Не сваливайте все ошибки в одну кучу — группируйте по error. Например:

Код резко выросЧто это значит
kaspi_session_expiredПривязка кассира оборвалась
tariff_daily_burstВ коде появился цикл
rate_limitedПревышена частота запросов
invoice_create_failedВременный сбой на стороне Kaspi

С этими тремя метриками вы узнаёте о проблеме раньше, чем о ней сообщит покупатель.

Вопросы и ответы

Можно ли вызвать status без ключа? Нет, API-ключ обязателен. Но отдельный scope не требуется.

Он попадает под ограничение частоты запросов? Общее ограничение действует и на него, так что не опрашивайте его раз в секунду. Для мониторинга раз в минуту более чем достаточно.

Может ли прийти connected: false? На практике нет: если запрос обработан, ответ будет 200 и connected: true. При сбое вы либо не получите ответ, либо получите код ошибки.

Есть ли эндпоинт, показывающий состояние Kaspi? Нет. Сбой на стороне Kaspi виден только при попытке создать счёт — как invoice_create_failed или 502.

Что лучше ставить в мониторинг: status или создание счёта? status. Создание счетов ради мониторинга расходует лимит и оставляет лишние данные.

Связанные статьи

Проблема у вас или у Kaspi — диагностика за две минутыТри вопроса показывают, на чьей стороне сбой: в вашей интеграции, в привязке Kaspi или в самом сервисе. К каждому ответу — конкретное действие и список того, что собрать для поддержки.Каталог ошибок — что возвращает API и что делатьВсе основные коды ошибок Qut Pay API по группам: авторизация, привязка Kaspi, счета, возвраты, лимиты тарифа, вебхуки, подписки. Причина и решение для каждой.Вебхук не приходит — как найти причинуСчёт оплачен, а на ваш сервер уведомление не пришло. С чего начать диагностику, какая причина встречается чаще всего и как проверить её одним запросом.Вебхук или опрос статуса: что когдаВебхук — основной способ узнать об оплате, но гарантия доставки не абсолютна. В сценариях, чувствительных к задержке, нужны оба механизма сразу: как их совместить, с какой частотой опрашивать и почему это не лишняя работа.Привязка кассира оборвалась — как переподключитьСчета внезапно перестали создаваться — значит, сессия Kaspi оборвалась. Переподключение занимает минуту. Причина, шаги и что сделать, чтобы не повторялось.

Остались вопросы? WhatsApp +77788813333 · kazprose@gmail.com
Написать можно и из кабинета: Поддержка.

Qut Pay — независимый сервис, не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки их правообладателя.