CPVM HTTP API: Errors¶
4xx¶
Все методы CPVM HTTP API будут возвращать только 3 статусных кода в группе 4XX: 400
, 401
, 404
Исключения: /astorage/*
, /fragseq/*
400¶
Данный код возвращается при любой ошибке, вызванной неправильной работой с API (исключения: 401
, 404
).
Ответ со статусом 400
всегда содержит JSON body с двумя полями: code
и message
. Пример:
{ "code": 7, "message": "Invalid request argument `userId`" }
code¶
code
- числовой код ошибки. Их может быть два типа:
Ошибки, о специфике которых нужно сообщать конечному пользователю, всегда имеют НЕ отрицательный код, который глобально уникален для всего CPVM API.
Ошибки, о специфике которых конечному пользователю знать не нужно, могут иметь отрицательный код, повторяющися для разных в ошибок разных методах.
message¶
message
- объяснение ошибки для разработчика. Не нужно показывать это сообщение конечному пользователю.
401, 404¶
401
- при попытке работать с API, который требует авторизации.
404
- возникает только если допущена ошибка в пути или если не найден какой-то статический ресурс.
Никогда не возникает если не найдена какая-то сущность API (напрмер снапшот, транзакция или фрагмент) - в этом случае всегда возвращается статус 400
с кодом ошибки и объяснением проблемы.
5xx¶
При любой непридвиденной ошибке любой метод возвращает статус 500
.
Формат ответа не специфицирован и не предназначен для автоматического разбора.