CCedarAPI v1 · стабильная
Справочник / Коды ошибок

Коды ошибок

Формат ошибки один на все методы. Разбирать текст сообщения не нужно и вредно: он меняется, а code - нет.

Формат

json
{
  "error": {
    "code": "validation_failed",
    "message": "stock должен быть целым неотрицательным числом",
    "field": "items[2].stock",
    "request_id": "req_7f31c0a8"
  }
}

HTTP-коды

КодЗначитЧто делать
400Запрос не разобралсяСмотреть тело: скорее всего, битый JSON
401Ключ не передан или отозванПроверить заголовок и контур ключа
403Ключу не хватает праваПрава выдаются в кабинете на конкретные методы
404Нет такого sku или заказаПроверить код позиции, он чувствителен к регистру
409Конфликт состоянияПеречитать объект и повторить с новой версией
422Значение не прошло проверкуПоле указано в field
429Превышен лимитЖдать Retry-After секунд
503Идут работы или перегрузкаПовторять с растущей задержкой

Коды сервиса

codeКогда приходит
sku_not_foundПозиции с таким кодом нет в каталоге контура
stock_negativeПрислан отрицательный остаток
price_below_minЦена ниже минимальной для категории
state_transitionПереход статуса не разрешён, текущий статус в теле
order_lockedЗаказ на сборке, состав менять нельзя
batch_too_largeВ пакете больше позиций, чем разрешено контуру
idempotency_conflictТот же ключ с другим телом запроса
signature_mismatchПодпись вебхука не сошлась (см. проверку подписи)

Повторы

Повторять стоит только 429, 500, 502, 503 и 504. Все остальные ответы повтор не чинит: он лишь съедает лимит. Задержку берите растущей - 1, 2, 4, 8 секунд со случайной добавкой, - иначе после сбоя все клиенты приходят одной волной в одну и ту же секунду.

409 - это не сбойКонфликт означает, что объект успели изменить. Правильная реакция - перечитать его и решить, нужна ли правка, а не слать тот же запрос в цикле.

Если не сходится

В каждом ответе есть request_id, он же в заголовке X-Request-Id. Мы храним запросы 30 дней и по этому идентификатору видим тело, заголовки и время. Приложите его к обращению из кабинета: без него разбор начинается с поиска запроса, а с ним - сразу с причины.

На этой страницеФорматHTTP-кодыКоды сервисаПовторыЕсли не сходится