Table of Contents

Справочник кодов ошибок API карт разреженного пространства

Формат ответа

Все ответы 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 Возвращаемое содержимое. При statusCode=0 содержит структуру объекта целевой карты, иначе пусто
date string Время сервера
Важно

Поле result содержит ответ только при условии statusCode == 0. В остальных случаях result пустое.
При statusCode != 0 обращайте внимание на сообщение об ошибке в поле msg.

Классификация кодов ошибок

Пояснения кодам состояния HTTP

Код состояния HTTP Описание
200 Запрос успешен (может содержать бизнес-ошибку)
400 Ошибка в параметрах запроса
401 Сбой аутентификации APIKey
403 Недостаточно прав или доступ к ресурсу запрещен
404 Запрашиваемый URL-путь API не существует
500 Внутренняя ошибка сервера
502 Перехвачено исключение приложения (возможна ошибка данных)

Примечание: Бизнес-ошибки обычно возвращаются с HTTP-статусом 200, конкретный тип ошибки указывается в поле statusCode.

Таблица бизнес-кодов состояния

Код состояния Сообщение
0 Успех
101 Загруженный файл пуст
102 Размер файла слишком велик
106 Отсутствует параметр или параметр пуст
110 Ошибки вызова API сервера
111 Ресурс не найден
401 Срок действия токена аутентификации истек
401 Отсутствует параметр аутентификации
401 Неизвестный appId или appKey
401 Учетная запись заблокирована
401 Ошибка аутентификации, недействительная подпись или токен

Распространенные сценарии ошибок

Таймаут отсутствия ответа

  • Request Timeout: Сеть медленная, рекомендуется проверить сетевое окружение клиента.

Ошибки аутентификации

  • Http 401 Unauthorized: Сбой аутентификации APIKey. Проверьте правильность appId/appKey.
  • Код состояния 401: Недействительный ключ приложения или приложение не существует. Проверьте настройки приложения.

Ошибки параметров

  • 400 Bad Request: Ошибка формата параметров запроса.

Ошибки операций с ресурсами

  • Код состояния 10x: Целевой ресурс для запроса не существует или параметр содержит ошибку.

Системные ошибки

  • Http 50x Internal Server Error: Внутренняя исключительная ситуация сервера или перехвачено исключение приложения. Рекомендуется протестировать на сайте или с использованием примера.

Рекомендации по лучшим практикам

  1. Обработка на клиенте: Рекомендуется определять успешность операции по полю statusCode, а не только по коду состояния HTTP.
  2. Повтор при ошибке: Для ошибок 5xx допустим разумный повтор запроса. Для ошибок 4xx необходимо проверить параметры запроса.
  3. Логирование: Рекомендуется записывать полный ответ об ошибке для упрощения диагностики проблем.
  4. Обработка таймаутов: Установите разумное время ожидания запроса, чтобы избежать длительного простоя.