API Reference v1
Ошибки и лимиты
Формат ошибок API, коды ответов и ограничения на частоту запросов.
Формат ошибки
При ошибке API возвращает HTTP-код 4xx или 5xx и объект error с машинным кодом и понятным сообщением:
{
"error": {
"code": "invalid",
"message": "amount: Number must be greater than 0"
}
}Коды ошибок
| HTTP | code | Что означает | Что делать |
|---|---|---|---|
| 400 | invalid | Неверные параметры или тело запроса не JSON | Исправьте запрос по сообщению в message |
| 401 | unauthorized | Нет ключа или ключ неверный | Проверьте заголовок Authorization |
| 403 | inactive | Магазин отключён | Обратитесь в поддержку |
| 404 | not_found | Счёт или метод не найден | Проверьте идентификатор и путь |
| 405 | method_not_allowed | Метод HTTP не поддерживается | Используйте GET или POST согласно документации |
| 429 | rate_limited | Превышен лимит запросов | Повторите через минуту |
| 500 | internal | Внутренняя ошибка | Повторите запрос позже |
| 503 | unavailable | Сервис временно недоступен | Повторите с экспоненциальной задержкой |
| 503 | rail_unavailable | Выбранная сеть временно недоступна | Предложите клиенту другую монету |
Лимиты
- Не более 300 запросов в минуту на один API-ключ.
- Не опрашивайте статус счёта в цикле — используйте вебхуки. Если опрос всё же нужен, делайте его не чаще раза в 15–30 секунд.
- Для
GET /invoicesмаксимальныйlimit— 200 записей.
Повторы запросов
Повторяйте запросы только при ответах 429, 500 и 503 или сетевой ошибке. Чтобы при повторе POST /invoices не создать дубликат счёта, передавайте свой order_id и перед повтором проверяйте, нет ли уже счёта с ним: GET /invoices?order_id=....