Push API v1.2.0
API для отправки одиночных и пакетных пуш-сообщений пользователям Кошелька.
Общие сведения
Руководство предназначено для компаний-партнёров ООО «Бесконтакт», выпускающих карты лояльности своих клиентов в мобильном приложении «Кошелёк».
Push API предоставляет партнёру интерфейс для отправки пуш-сообщений на устройства клиентов.
Изменения: Push API v1.1.0 → v1.2.0
Добавлена возможность предварительной фильтрации пуш-сообщения на стороне Кошелька перед началом его отправки конечным пользователям:
POST /push/bulk/single
- Метод обновлён: добавлена возможность отправки сообщений с предварительной фильтрацией.
GET /push/restricted/{restrictedDeliveryId}/info
- Новый метод: используется для получения статуса доставки сообщений, требующих предварительной фильтрации.
Модель взаимодействия
API использует модель RESTful (данные передаются в виде объектов JSON). Особенностью является использование партнёром и Кошельком двух интерфейсов:
- Push API — используется партнёром для отправки пуш-сообщений;
- Callback API — используется Кошельком для передачи информации о доставке и прочтении сообщений.
Подключение и смена первоначального пароля
Провайдером Push API выступает узел Кошелька. При подключении партнёру передаются следующие параметры для авторизации API-запросов:
Параметр | Описание |
---|---|
host:port | URL узла платформы «Кошелёк», предоставляющего API. |
login:password | Имя пользователя и первоначальный пароль для авторизации API-запросов. |
Первоначальный пароль, выданный при подключении, необходимо сменить, используя метод PUT /public/user/reset-password
. Обращения к Push API с первоначальным паролем будут возвращать HTTP-код ошибки “401 Unauthorized” на все запросы за исключением запроса, предназначенного для смены пароля.
Количество учётных записей не ограничено. При этом каждая учётная запись определяет:
- партнёра, клиентам которого отправляются сообщения;
- адрес 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"
]
}