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. Формат ответа не специфицирован и не предназначен для автоматического разбора.