Подключение к API
Требования к организации подключения
Модель взаимодействия
Promo API использует модель REST, данные передаются в виде объектов JSON.
Параметры подключения
Провайдером Promo API выступает узел платформы Кошелька. Партнёру передаются следующие параметры для подключения к API:
| Параметры | Описание |
|---|---|
| host:port | Адрес узла платформы Кошелька, предоставляющего API. |
| login:password | Имя пользователя и пароль для авторизации API-запросов. |
Авторизация запросов
Взаимодействие осуществляется по протоколу HTTPS. Для авторизации запросов необходимо использовать HTTP Basic Authentication (RFC 7617). Данные для авторизации запросов передаются в HTTP-заголовке Authorization.
Формат и структура сообщений
Все методы API ожидают в заголовке запроса:
Content-type ="application/json;charset=utf-8"
Требования к формату изображений
Ожидаемый формат изображений: JPG или PNG. Требования к разрешению изображений приведены в описаниях запросов API.
Коды HTTP
В случае успешного выполнения запроса, со стороны сервера Кошелька будет возвращён тип данных, описанный в документации запроса, и HTTP-код 200.
| Код | Назначение |
|---|---|
| 200 OK | Возвращается в случае успешного выполнения запроса API. |
В случае ошибки обработки запроса будет возвращен один из HTTP-кодов с описанием ошибки в теле ответа в формате JSON:
| Код | Назначение |
|---|---|
| 400 Bad Request | Неверный формат запроса. |
| 401 Unauthorized | Ошибка авторизации. |
| 403 Forbidden | Ошибка аутентификации (недостаточно прав для осуществления запроса). |
| 422 Unprocessable Entity | Ошибка обработки бизнес-сценария запроса. |
| 500 Internal Server Error | Внутренняя ошибка сервера. |
Формат тела ошибки
В случае получения одного из допустимых 4XX HTTP-кодов в ответ на запрос, в теле ошибки будет передан объект JSON, содержащий поля code и details:
{
"code": string, //Код ошибки. Не равен HTTP-коду. Осмысленное значение в формате UPPER_SNAKE_CASE.
"details": string //Описание ошибки на английском языке. Не предназначено для отображения конечному пользователю.
}
Info
Описания возможных ошибок формата запроса и бизнес-ошибок приведены в описании методов API.