|
Структура ошибочного ответа от API включает в себя обязательные поля и может включать поля с дополнительной информацией.
Пример ошибочного ответа от API - 404 Not Found
```
{
"result": false,
"errorId": "a8b5db7c-5153-4cd6-9376-5c70f6429ab4",
"errorMessage": "Документ с заданным ID не найден.",
"errorCode": "13.562",
"operationCode": "11.181",
"errorData": {
"documentId": "219e96b8-1180-4bbe-97e0-97a3ea6098b4"
}
}
``` |
Описание полей:
result - Операция выполнена успешно?errorId - Идентификатор ошибки.errorMessage - Сообщение об ошибке.errorCode - Код произошедшей ошибки.operationCode - Код операции, вызываемой API-методом.errorData - Дополнительные данные об ошибке.Тип: object
Обязательное?: Нет
Пример:
{ "documentId": "219e96b8-1180-4bbe-97e0-97a3ea6098b4" }
Пояснение: Структура объекта и типы данных в полях внутри объекта определяется конкретной ошибкой. В данном поле возвращаются дополнительные формализованные данные о произошедшей ошибке, если произошедшая ошибка предусматривает возврат этих данных.
Все формализованные ошибки входят в группу кодов ответов 4xx, предназначенных для указания ошибок клиента. Ниже приведены примеры тел ошибочных ответов от API с различным наполнением.
Пример ответа без дополнительных данных об ошибке - 401 Unauthorized
```
{
"result": false,
"errorId": "72b55807-ed45-4af0-916e-9fa97fd0da51",
"errorMessage": "Невалидный API токен.",
"errorCode": "11.006",
"operationCode": "11.100"
}
``` |
Пример ответа с дополнительными формализованными данными об ошибке - 400 Bad Request
```
{
"result": false,
"errorId": "602b88d8-86a5-4054-8082-0797fddd3e3b",
"errorMessage":
"Заданный JSON не соответствует ожидаемому формату.",
"errorCode": "11.021",
"operationCode": "11.181",
"errorData": {
"path": "documents[0]"
}
}
``` |
Пример ответа с дополнительными формализованными данными об ошибке - 403 Forbidden
```
{
"result": false,
"errorId": "e36dd708-4cc8-402f-94fd-e6a7a02d2921",
"errorMessage": "Нет прав выполнять запрошенную операцию.",
"errorCode": "10.000",
"operationCode": "11.082",
"errorData": {
"permission": "EMPLOYEE_POSITIONS"
}
}
``` |
При неуспешном выполнении API-запроса может также вернуться ответ с кодом ошибки 500 Internal Server Error, которая возникает из-за внутренней проблемы сервера при невозможности обработки запроса.
По таким ошибкам клиент не может самостоятельно определить причину возникновения ошибки. В таком случае необходимо обратиться в техподдержку и сообщить идентификатор ошибки (см. errorId).
Пример ответа от API при ошибке на сервере - 500 Internal Server Error
```
{
"result": false,
"errorId": "3c67ae53-9617-48e1-ab69-0657116f8585",
"errorMessage": "Внутренняя ошибка на сервере.",
"errorCode": "11.000",
"operationCode": "21.100"
}
``` |
В случае, когда при выполнении API-метода вызывающая сторона получила ошибочный ответ, рекомендуется каким-либо образом зафиксировать (см. errorId).: либо отобразить пользователю, либо сохранить. Только по ID ошибки техническая поддержка сможет быстро определить детали и причину возникновения ошибки, и, следовательно, решить вопрос, связанный с её появлением.
Поиск документации