Статусы и ошибки
Статусы заказа Reefox Stars API, формат ошибок и все коды ошибок с HTTP-кодами и рекомендациями, что делать.
Справочник статусов заказа и кодов ошибок. В логике опирайтесь на машинные status и code, а message пишите только в журнал.
Статусы заказа
| Статус | Что значит | Конечный |
|---|---|---|
fulfillment_pending | Сумма зарезервирована, заказ ждёт выдачи | нет |
processing | Выдача отправлена провайдеру | нет |
delivered | Получатель получил товар, резерв списан | да |
failed | Безопасная окончательная ошибка, резерв освобождён | да |
reconciliation_required | Результат неоднозначен, резерв сохраняется до ручной проверки | нет |
reconciliation_required — не повод создавать заказ заново
Такой заказ мог быть выдан. Если отправить новый, получатель может получить товар дважды. Дождитесь, пока статус станет конечным, или напишите в поддержку.
Формат ошибки
{
"ok": false,
"error": {
"code": "idempotency_conflict",
"message": "Idempotency-Key was already used…"
}
}Коды ошибок
| HTTP | code | Что делать |
|---|---|---|
| 400 | invalid_request | Проверьте поля запроса |
| 400 | recipient_invalid | Username не найден или не может получить товар — попросите клиента проверить |
| 401 | authentication_failed | Ключ неверный или отозван — выпустите новый в кабинете |
| 402 | insufficient_balance | Пополните баланс и повторите запрос |
| 404 | not_found | Заказа с таким id у этого ключа нет |
| 409 | idempotency_conflict | Ключ уже использован с другими параметрами — возьмите новый |
| 503 | quote_unavailable | Цена временно недоступна — повторите позже |
| 503 | platform_liquidity_unavailable | Временно не хватает ликвидности — повторите позже, заказ не создан |
Ошибки 5xx и обрывы соединения безопасно повторять с тем же Idempotency-Key.