Коды состояния HTTP
Ошибки HTTP возвращаются, когда запрос не может быть обработан на уровне передачи.
| Код состояния↕ | Значение↕ |
|---|---|
| 400 | Неверный аргумент / неправильный запрос – запрос содержит неверные данные. |
| 401 | Не авторизован – не предоставлены действительные учетные данные. |
| 404 | Не найдено – запрашиваемый ресурс не существует. |
| 409 | Конфликт ресурса – запрос конфликтует с текущим состоянием ресурса. |
| 412 | Ошибка предусловия – требуемое условие не было выполнено перед обработкой. |
| 422 | Необрабатываемая сущность – тело запроса структурно верно, но содержит неверные значения. |
| 429 | Превышен лимит частоты – слишком много запросов за короткий период. Используйте экспоненциальную задержку. |
| 500 | Внутренняя ошибка сервера – произошел неожиданный сбой на сервере. Повторите попытку; свяжитесь с поддержкой, если проблема сохраняется. |
| 503 | Сервис недоступен – сервис временно не в сети. Повторите попытку после короткой задержки. |
| 504 | Тайм-аут – сервер не получил ответ вовремя. Повторите запрос. |
Формат ошибки GraphQL
Ошибки на уровне приложения возвращаются как список в поле errors тела ответа. Каждая ошибка включает message, path операции, которая не удалась, и объект extensions с типом ошибки и ID запроса.
1
{2
"errors": [3
{4
"message": "Description of the error",5
"path": [6
"landedCostCalculate"7
],8
"extensions": {9
"errorType": "BAD_REQUEST",10
"requestId": "req_abc123"11
}12
}13
]14
}Классификация ошибок
Поле extensions.errorType указывает категорию ошибки и рекомендуемое действие.
| Классификация↕ | Эквивалент HTTP↕ | Значение↕ | Действие↕ |
|---|---|---|---|
BAD_REQUEST | 400 | Неверные входные данные или параметры запроса. | Исправьте запрос – проверьте обязательные поля, форматы и значения. |
NOT_FOUND | 404 | Ссылаемый ресурс не существует. | Проверьте ID, коды и что необходимые значения по умолчанию настроены. |
UNAVAILABLE | 503 | Запрашиваемый сервис или опция недоступны для этого маршрута. | Попробуйте другой метод, уровень обслуживания или пункт назначения. |
PERMISSION_DENIED | 401 / 403 | Сбой аутентификации или авторизации. | Проверьте учетные данные и разрешения аккаунта. |
FAILED_PRECONDITION | 412 | Требуемое условие конфигурации или настройки не выполнено. | Проверьте параметры организации или свяжитесь с поддержкой. |
INTERNAL | 500 | Произошел неожиданный сбой на сервере. | Повторите попытку запроса; свяжитесь с поддержкой, если проблема сохраняется. |
UNKNOWN | 500 | Неожиданная ошибка без дополнительной классификации. | Проверьте формат запроса; свяжитесь с поддержкой, если проблема сохраняется. |
Ошибки API
Разберитесь с ошибками, возвращаемыми GraphQL API Zonos, и устраните их.
GraphQL
API Zonos возвращает два типа ошибок: коды состояния HTTP для сбоев на уровне передачи и ошибки GraphQL для проблем на уровне приложения. Большинство ошибок – это ошибки GraphQL, включающие классификацию в поле
extensionsдля определения причины и надлежащего решения.