Push API v1.0.0
API для отправки одиночных и пакетных пуш-сообщений пользователям Кошелька.
Общие сведения
Руководство предназначено для компаний-партнёров ООО «Бесконтакт», выпускающих карты лояльности своих клиентов в мобильном приложении «Кошелёк».
Push API предоставляет партнёру интерфейс для отправки пуш-сообщений на устройства клиентов.
Модель взаимодействия
API использует модель RESTful (данные передаются в виде объектов JSON). Особенностью является использование партнёром и Кошельком двух интерфейсов:
- Push API — используется партнёром для отправки пуш-сообщений;
- Callback API — используется Кошельком для передачи информации о доставке и прочтении сообщений.
Подключение
Провайдером Push API выступает узел Кошелька. Партнёру передаются следующие параметры для подключения к API:
Параметр | Описание |
---|---|
host:port | URL узла платформы «Кошелёк», предоставляющего API. |
login:password | Имя пользователя и пароль для авторизации API-запросов. |
Количество учётных записей не ограничено. При этом каждая учётная запись определяет:
- партнёра, клиентам которого отправляются сообщения;
- адрес Callback API для информирования о доставке и прочтении сообщений.
Авторизация
Взаимодействие осуществляется по протоколу HTTPS. Для авторизации запросов необходимо использовать HTTP Basic Authentication (RFC 7617). Данные для авторизации запросов передаются в заголовке Authorization
.
Кодировки
Как в запросах, так и в ответах API используется кодировка UTF-8.
Коды HTTP
В случае успешного выполнения запроса со стороны узла платформы Кошелька будет возвращён тип данных, описанный в документации запроса, и HTTP-код 200
.
Код | Назначение |
---|---|
200 | Возвращается в случае успешного выполнения запроса API. |
В случае ошибки обработки запроса будет возвращён один из HTTP-кодов с описанием ошибки в теле ответа в формате JSON (в кодировке UTF-8):
Код | Назначение |
---|---|
304 | Новый запрос поступил ранее ожидаемого времени. |
400 | Неверный формат запроса. |
401 | Ошибка авторизации. |
404 | Не найден запрашиваемый тип данных. |
Пример тела ошибки, HTTP code 400
:
{
"status": "BAD_REQUEST",
"errors": [
"msisdn: size must be between 0 and 10000",
"subId: may not be null"
]
}
Пример тела ошибки, HTTP code 401
:
{
"status": "UNAUTHORIZED",
"errors": [
"Auth token is invalid"
]
}