Реализация Loyalty API

Веб-сервис Cardsmobile Loyalty API развертывается в информационной системе партнера в соответствии с документацией Cardsmobile Developers. Для обмена сообщениями используется стандартная модель RESTful, данные передаются в формате JSON по протоколу HTTPS:

Реализация API в информационной системе партнера

Поскольку веб-сервис API реализуется на хосте партнера, необходимо предоставить Cardsmobile следующие данные для интеграции:

  • host:port

  • login:password

Авторизация запросов к API

Взаимодействие осуществляется по протоколу HTTPS. Для авторизации запросов необходимо использовать HTTP Basic Authentication (RFC 7617). Данные для авторизации запросов передаются в заголовке "Authorization".

Требования к кодировкам

Как в запросах, так и в ответах используется кодировка UTF-8.

Структура ответов API

Заголовки

Ответ со стороны партнера должен содержать заголовок:

Content-Type: application/json; charset=utf-8;

HTTP-коды

Коды HTTP-ответов со стороны партнера:

Код

Назначение

200

Возвращается в случае успешного выполнения запроса к API

422

Возвращается в случае любой ошибки выполнения запроса

Тело ответа

Тело ответа со стороны партнера должно соответствовать требованию к ответу, указанному в описании соответствующего запроса.

Ошибки

В случае ошибки необходимо вернуть JSON-объект, содержащий код ошибки и строковое сообщение с техническим описанием причины ошибки на русском языке.

Пример ответа в случае ошибки выполнения запроса:

HTTP/1.1 422 Unprocessable Entity
<заголовки>
{
"code": "123",
"description": "Недоступен сервер баз данных"
}

Обратите внимание:

Протокол предполагает, что все «элементарные» поля объектов JSON, возвращаемых в ответах, имеют строковый тип (string), даже если они содержат значения других типов (числовой, булев и т.п.).

См. пример возврата числового кода ошибки выше.