Обработка ошибок

API Яндекс Маршрутизации возвращает JSON в ответ на все запросы и использует стандартные коды ответов.

В случае редких проблем на серверах Яндекса API ответит сообщением с кодом 50х.

Коды ответов сервера

  • 200 — операция выполнена успешно.

  • 400 — некорректный запрос. Рекомендуем проверить формат передаваемых данных.

  • 401 — отсутствует авторизация. Рекомендуем проверить корректность токена.

  • 403 — доступ к ресурсу запрещен. Рекомендуем проверить права доступа пользователя.

  • 404 — запрошенный ресурс не найден. Рекомендуем проверить идентификаторы.

  • 409 — возник конфликт (например, попытка создать дубликат записи или нарушение требований уникальности).

  • 500 — произошла внутренняя ошибка на сервере.

Разбор типичных ошибок

Ошибка 409 при создании сущности

Сущность с указанными идентификаторами уже присутствует в системе.

Рекомендации:

  • проверьте, не была ли сущность создана ранее;

  • используйте уникальные значения client_id;

  • учитывайте особенности идемпотентных операций (например, при создании заказа):

    • код ошибки 409 означает, что текущие данные отличаются от тех, что были переданы ранее для того же client_id;

    • код 200 означает, что данные идентичны.

Ошибка 409 при принятии маршрута

Один или несколько заказов в маршруте уже связаны с другим маршрутом.

Рекомендации:

  • отмените исходный маршрут с помощью запроса POST /api/integration/v1/routes/route/cancel;

  • после отмены повторите попытку принятия нового маршрута.

Ошибка 404 при обновлении сущности

Сервис не обнаружил запрашиваемую сущность.

Рекомендации:

  • убедитесь, что сущность действительно была создана ранее;

  • проверьте корректность идентификаторов (client_id или id);

  • проверьте корректность параметра company_id.

Ошибка 500 при конкурентном обновлении

Два или более запросов пытаются одновременно внести изменения в одну и ту же сущность.

Рекомендации:

  • повторите запрос — система использует версионирование, это может помочь разрешить конфликт;

  • для идемпотентных операций передайте заголовок X-Idempotency-Token.

Написать в службу поддержки