Описание кодов ошибок APIs sparse spatial map
Формат ответа
Все ответы API используют единый формат JSON. Ниже приведен пример:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //result присутствует только когда statusCode равен 0; при ошибке поле результата пустое
}
| Поле | Тип | Описание |
|---|---|---|
| statusCode | integer | Бизнес-код состояния. 0 означает успех, не 0 означает ошибку |
| msg | string | Сообщение |
| result | object | Возвращаемое содержимое. Когда status code равен 0, возвращается структура объекта target image; иначе пусто |
| date | string | Время сервера |
Важно
result содержит ответ только при statusCode == 0. В других состояниях result пуст
При statusCode != 0 обратите внимание на сообщение об ошибке msg
Категории кодов ошибок
Описание HTTP status code
| HTTP status code | Описание |
|---|---|
| 200 | Запрос успешен (может содержать бизнес-ошибки) |
| 400 | Ошибка параметров запроса |
| 401 | Ошибка аутентификации APIKey |
| 403 | Недостаточно прав или доступ к ресурсу запрещен |
| 404 | Path API в URL запроса не существует |
| 500 | Внутренняя ошибка сервера |
| 502 | Перехвачено исключение приложения, возможна ошибка данных |
Внимание: бизнес-ошибки обычно возвращаются через ответ HTTP 200, а конкретный тип ошибки указывается в поле statusCode.
Список business status code
| Status Code | Message |
|---|---|
| 0 | Success |
| 101 | Uploaded file is empty |
| 102 | File size is too large |
| 106 | Missing parameter or parameter is empty |
| 110 | Call server API errors |
| 111 | Resource not found |
| 401 | Authentication token expired |
| 401 | Authentication parameter is missing |
| 401 | Unknown appId or appKey |
| 401 | Account is locked |
| 401 | Authentication failed, invalid signature or token |
Распространенные сценарии ошибок
Тайм-аут без ответа
- Request Timeout: сеть относительно медленная. Рекомендуется проверить сетевую среду клиента
Ошибки, связанные с аутентификацией
- Http 401 Unauthorized: Ошибка аутентификации APIKey. Проверьте правильность appId/appKey
- Status code 401: ключ приложения недействителен или приложение не существует. Проверьте конфигурацию приложения
Ошибки параметров
- 400 Bad Request: ошибка формата параметров запроса
Ошибки операций с ресурсами
- Status code 10x: запрашиваемый целевой ресурс не существует или параметры неверны
Системные ошибки
- Http 50x Internal Server Error: внутренняя ошибка сервера или перехвачено исключение приложения. Рекомендуется проверить на сайте или с sample
Рекомендации по лучшим практикам
- Обработка на клиенте: рекомендуется определять успешность бизнес-операции по полю
statusCode, а не только по HTTP status code - Повтор при ошибке: для ошибок 5xx можно выполнить повторную попытку, для ошибок 4xx нужно проверить параметры запроса
- Журналирование: рекомендуется записывать полный ответ с ошибкой, чтобы упростить диагностику
- Обработка тайм-аута: задайте разумное время ожидания запроса, чтобы избежать длительного ожидания