Table of Contents

Описание кодов ошибок API распознавания облаков

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

Все ответы API используют единый формат JSON. Пример ниже:

{

  "statusCode": 422,

  "reuslt": "The image or meta exceeds its maximum permitted size",

  "timestamp": 1514736000000,

  "appKey": "test_app_key"

}
Поле Тип Описание
statusCode integer Бизнес-код состояния. 0 означает успех, не 0 означает ошибку
result string Возвращаемое содержимое. При коде состояния 0 возвращает структуру объекта целевого изображения, иначе возвращает сообщение об ошибке
timestamp long Метка времени сервера в формате Unix (в миллисекундах)
Важно

Только при условии statusCode == 0, result включает содержимое ответа. В остальных случаях result возвращает сообщение об ошибке.

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

Пояснение кодов состояния HTTP

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

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

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

Status Code Message
0 ok
1 invalid appId (appKey)
2 invalid signature
3 invalid date
4 appId (appKey) not exist
6 invalid token
6 invalid appkey token
7 non-sdk client for dau databases
8 Dau databases are not compatible with sense-4.6+ any more.
404 Target not found
414 Parameter required not exists or not correct
422 The image or meta exceeds its maximum permitted size
417 fail to add image
419 Cannot update target in database because similar target exists.
420 Target delete failed
424 Target enable error
403 Target already exists
426 Judge exceeds maxium candidates
427 Image not correct

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

Отсутствие ответа по таймауту

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

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

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

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

  • 400 Bad Request: Ошибка формата параметров запроса.
  • Код состояния 414: Отсутствует обязательный параметр или значение параметра не соответствует требованиям.

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

  • Код состояния 404: Запрашиваемый целевой ресурс не существует.
  • Код состояния 403: Цель уже существует, невозможно создать повторно.
  • Код состояния 417/420/424: Сбой операций добавления, удаления или изменения.

Ошибки, связанные с файлами

  • Код состояния 422: Размер загружаемого файла превышает ограничение.
  • Код состояния 427: Формат изображения не поддерживается или файл поврежден.

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

  • Http 500 Internal Server Error: Внутреннее исключение сервера, рекомендуется протестировать на сайте или с помощью sample.
  • Http 501 Exception: Исключение приложения, возможно ошибка данных, рекомендуется протестировать на сайте или с помощью sample.
  • Http 502 Server: Ошибка ответа сервиса, возможно ошибка сервера, рекомендуется связаться с нами.

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

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