Troubleshooting

Kaspi API недоступен: что делать и как подготовиться

Вы интегрировали проверку чеков в свой бизнес-процесс, всё работает стабильно — и вдруг Kaspi API перестаёт отвечать. Запросы возвращают timeout, клиенты ждут подтверждения оплаты, а операторы не понимают, что происходит. Знакомая ситуация? В этой статье разберём, почему Kaspi API может быть недоступен, как к этому подготовиться заранее и что делать в момент сбоя.

Недоступность Kaspi API — это не вопрос «если», а вопрос «когда». Любой внешний сервис рано или поздно испытывает сбои. Разница между бизнесом, который теряет деньги при каждом сбое, и бизнесом, который справляется с ними без последствий, заключается в подготовке.

Почему Kaspi API может быть недоступен

Прежде чем строить план действий, важно понять типичные причины недоступности. Каждая из них имеет свои особенности и требует разного подхода.

Плановые технические работы

Kaspi регулярно проводит обновления инфраструктуры. Обычно это происходит в ночные часы (с 2:00 до 6:00 по Астане) или в выходные дни. Во время технических работ API receipt.kaspi.kz может возвращать ошибки 503 Service Unavailable или просто не отвечать на запросы. Длительность таких работ варьируется от 15 минут до нескольких часов.

Пиковые нагрузки

В периоды массовых акций — «Чёрная пятница», «Kaspi Жума», распродажи к праздникам — нагрузка на серверы Kaspi возрастает многократно. API может отвечать значительно медленнее обычного или возвращать ошибки 429 Too Many Requests. Это особенно актуально в первые часы акций, когда количество транзакций увеличивается в десятки раз.

Сетевые проблемы

Между вашим сервером и серверами Kaspi существует цепочка сетевых узлов. Проблемы могут возникнуть на любом из них: у вашего хостинг-провайдера, на магистральном канале связи или на стороне CDN Kaspi. Такие сбои обычно непродолжительны (от нескольких минут до часа), но могут повторяться.

Изменения в API

Периодически Kaspi обновляет формат ответов или параметры своего API. Если такое изменение не было анонсировано или вы его пропустили, ваши запросы могут начать возвращать неожиданные ответы. Формально API работает, но результаты парсинга будут некорректными.

Статистика из практики: по нашим данным за последний год, Kaspi receipt API был полностью недоступен в среднем 2-4 раза в месяц, каждый раз от 10 минут до 2 часов. Замедления (ответ дольше 10 секунд вместо обычных 1-2) случаются чаще — примерно 1-2 раза в неделю.

Как ProverkaCheka обрабатывает недоступность Kaspi

Система ProverkaCheka спроектирована с учётом того, что Kaspi API — внешний сервис с непредсказуемой доступностью. Вот как работает обработка сбоев на нашей стороне.

Автоматические повторные попытки

Когда Kaspi API не отвечает или возвращает timeout, ProverkaCheka не сразу сообщает об ошибке. Система выполняет до 3 повторных попыток с экспоненциальной задержкой: первая повторная попытка через 2 секунды, вторая — через 4, третья — через 8. Это позволяет «переждать» кратковременные сбои без участия пользователя.

Поле retry_after в ответе

Если все повторные попытки исчерпаны и Kaspi API по-прежнему недоступен, API ProverkaCheka возвращает ответ с полем retry_after: 5. Это означает: «Kaspi сейчас недоступен, попробуйте отправить чек снова через 5 секунд». Обратите внимание: HTTP-статус при этом остаётся 200 для обратной совместимости — но поле retry_after в JSON-ответе однозначно указывает на проблему с Kaspi.

Мониторинг состояния

Endpoint /health ProverkaCheka API возвращает два специальных поля для мониторинга состояния Kaspi:

Эти данные позволяют настроить алерты на вашей стороне: если количество ошибок за 10 минут превышает порог (например, 5), — значит, у Kaspi проблемы и стоит временно переключиться на альтернативный сценарий.

Кредиты не списываются при сбоях

Если Kaspi API недоступен и проверку выполнить невозможно, кредиты с вашего аккаунта не списываются. Вы платите только за успешные проверки, а не за попытки.

Как подготовить бизнес к сбоям: пошаговый план

Даже с учётом встроенной обработки ошибок в ProverkaCheka, вашему бизнесу нужен собственный план действий на случай длительной недоступности Kaspi.

  1. Настройте мониторинг endpoint /health

    Создайте простой скрипт, который каждые 5 минут проверяет https://api.proverkacheka.kz/health и отслеживает значение kaspi_errors_10min. Если значение превышает 3 — отправляйте уведомление команде. Это даст вам раннее предупреждение о проблемах, прежде чем начнут накапливаться обращения от клиентов.

  2. Определите SLA для проверки чеков

    Не все чеки одинаково срочные. Разделите их на категории: критичные (оплата перед отгрузкой товара) и некритичные (подтверждение уже выданного заказа). Для критичных чеков определите максимальное время ожидания — например, 15 минут.

  3. Подготовьте очередь отложенных проверок

    Если вы используете API-интеграцию, реализуйте очередь: при получении retry_after помещайте чек в локальную очередь и обрабатывайте его повторно через указанный интервал. Это позволяет автоматически завершить проверку, как только Kaspi API восстановится.

  4. Определите процедуру ручной проверки

    Для случаев длительной недоступности (более 30 минут) подготовьте инструкцию для операторов: как проверить чек вручную через receipt.kaspi.kz, на какие поля обращать внимание, как зафиксировать результат. Эта инструкция должна быть доступна каждому оператору.

  5. Настройте уведомления для клиентов

    Подготовьте шаблон сообщения для клиентов на случай задержки проверки: «Проверка оплаты временно задерживается по техническим причинам. Ваш заказ будет обработан в течение 30 минут». Такое сообщение снижает тревожность и уменьшает количество повторных обращений.

Резервные сценарии для разных типов бизнеса

В зависимости от специфики вашего бизнеса, стратегия действий при недоступности Kaspi API будет отличаться.

Интернет-магазины и маркетплейсы

Для e-commerce ключевой показатель — скорость обработки заказа. При недоступности Kaspi API рекомендуется:

Сервисный бизнес (автомойки, салоны, фитнес)

В сфере услуг клиент находится на месте и ждёт подтверждения. Здесь важна скорость реакции:

B2B и оптовые продажи

При крупных суммах риск принятия поддельного чека выше. Рекомендации:

Техническая реализация retry-логики

Если вы используете API ProverkaCheka напрямую, вот рекомендуемый подход к обработке временной недоступности.

Алгоритм обработки

1. Отправить запрос на /upload
2. Если в ответе есть поле retry_after — подождать указанное количество секунд
3. Повторить запрос (до 5 попыток)
4. Если после 5 попыток результат не получен — поместить в очередь и обработать позже
5. Уведомить оператора о задержке

Ключевые принципы retry-логики:

Как отличить проблему Kaspi от проблемы на вашей стороне

Не каждая ошибка означает, что Kaspi недоступен. Вот чек-лист для диагностики:

Симптом Вероятная причина Что делать
retry_after в ответе Kaspi API недоступен Подождать и повторить
HTTP 401 Unauthorized Неверный API-ключ Проверить API-ключ в настройках
HTTP 429 Too Many Requests Превышен лимит запросов Снизить частоту запросов
status: invalid Чек не прошёл проверку Запросить корректный чек
Timeout на вашей стороне Сетевая проблема Проверить подключение к интернету
kaspi_errors_10min > 0 в /health Kaspi API нестабилен Мониторить, быть готовым к сбою

Что делать прямо сейчас — чеклист подготовки

Не ждите следующего сбоя. Подготовьтесь сейчас, когда всё работает стабильно:

Итоги

Недоступность Kaspi API — это штатная ситуация, к которой нужно быть готовым. Ключевые принципы:

Бизнес, который воспринимает сбои как часть рабочего процесса и готовится к ним заранее, не только минимизирует финансовые потери, но и сохраняет доверие клиентов. Сбой Kaspi API длится часы — но репутационные потери от необработанного сбоя могут стоить намного дороже.

Мониторьте состояние Kaspi API в реальном времени

ProverkaCheka автоматически обрабатывает сбои и не списывает кредиты при недоступности Kaspi. 10 бесплатных проверок для старта.

Подключиться бесплатно