Запросы API

Для отправки одиночных и пакетных push-сообщений

Push API

post
Отправка одиночного сообщения

https://api.cardsmobile.ru/push/delivery
Используется партнером для отправки одиночного push-сообщения (транзакционного, сервисного, рекламного), адресованного конкретному получателю.
Request
Response
Request
Body Parameters
pushType
required
string
Тип передаваемого сообщения: TRANSACTION — транзакционное; SERVICE — сервисное; PROMO — рекламное.
msisdn
required
integer
Номер телефона получателя сообщения, без ведущего "+".
payload
required
object
Отправляемое сообщение (JSON-объект Payload).
qos
optional
object
Настройки отправки сообщения (JSON-объект QoS).
utm
optional
object
Дополнительные настройки отправки (JSON-объект UTM).
Response
200: OK
Запрос успешно обработан Cardsmobile. В теле ответа — JSON-объект, содержащий идентификатор сессии отправки и текущий статус доставки сообщения:
Общий вид ответа
Пример ответа
Общий вид ответа
{
"messageId": "UUID",
"state": "MSISDN_NOT_REGISTERED|CLIENT_UNSUBSCRIBED|ENQUEUED"
}
Пример ответа
{
"messageId": "aeb739ab-8b3a-4404-94ce-3ec96b3c0afa",
"state": "ENQUEUED"
}
429: Too Many Requests
Ответ возвращается в случае превышения клиентом предельной частоты отправки push-сообщений. Тело ответа — пустое.

Описание объектов Payload, QoS и UTM см. в разделе Объекты API.

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

Пример тела запроса:

Отправка транзакционного сообщения
Отправка транзакционного сообщения
{
"pushType": "TRANSACTION",
"msisdn": 71234567890,
"payload": {
"title": "Списание баллов",
"message": "С вашей карты списано 10 баллов",
"image": "http://partnerdomain/logo.jpg",
"deeplink": {
"target": "card"
}
},
"qos": {
"deliverDue": "2020-01-29T23:41:11.64Z",
"deliveryStatusNotifications": true
},
"utm": {
"utmSource": "cardsmobile",
"utmMiddle": "cpc",
"utmCampaign": "campaign_name"
}
}

get
Получение списка акций из Личного кабинета

https://api.cardsmobile.ru/promos
Партнер, зарегистрированный в системе Кошелёк для бизнеса, имеет возможность настройки и публикации в Кошельке промо-акций для своих клиентов. Этот метод позволяет получить идентификаторы текущих действующих промо-акций, которые можно использовать для настройки перехода из push-сообщения к конкретному экрану промо-акции в Кошельке.
Request
Response
Request
Response
200: OK
Запрос успешно обработан Cardsmobile. В теле ответа — JSON-объект, содержащий массив всех текущих действующих промо-акций партнера:
Общий вид ответа
Пример ответа
Общий вид ответа
{
"promos": [
{
"id": <id акции>,
"name": "Название акции",
"active": true
},
{
"id": <id акции>,
"name": "Название акции",
"active": true
}
]
}
Пример ответа
{
"promos": [
{
"id": 1060,
"name": "Скидка 10% на покупку от 1200 рублей",
"active": true
},
{
"id": 435,
"name": "Скидка Пенсионерам",
"active": true
}
]
}
404: Not Found
Пустое тело ответа. Ответ будет возвращен в случае, если не найдено действующих промо-акций.

Тело запроса пустое.

get
Получение статуса доставки одиночного сообщения

https://api.cardsmobile.ru/push/{messageId}/transactional-state
Метод для получения сведений о статусе доставки одиночного сообщения.
Request
Response
Request
Path Parameters
messageId
required
string
Идентификатор сообщения.
Response
200: OK
Запрос успешно обработан Cardsmobile. В теле ответа — JSON-объект, содержащий последовательность смены статусов отправки для данного номера телефона:
Общий вид ответа
Пример ответа
Общий вид ответа
{
"states": [
{
"msisdn": <MSISDN>,
"state": "MSISDN_NOT_REGISTERED|CLIENT_UNSUBSCRIBED|ENQUEUED|DELIVERED|OPENED",
"time": "yyyy.mm.ddThh:mm:ssZ"
},
{
"msisdn": <MSISDN>,
"state": "MSISDN_NOT_REGISTERED|CLIENT_UNSUBSCRIBED|ENQUEUED|DELIVERED|OPENED",
"time": "yyyy.mm.ddThh:mm:ssZ"
}
]
}
Пример ответа
{
"states": [
{
"msisdn": 79051234567,
"state": "DELIVERED",
"time": "2019.10.02T11:00:00+3"
},
{
"msisdn": 79051234567,
"state": "OPENED",
"time": "2019.10.02T11:00:00+3"
}
]
}

Callback API

post
Информирование об изменении статуса доставки

https://<partner-base-url>/<callback-endpoint>
Если при создании сообщения значение параметра deliveryStatusNotifications равно "true", то при изменении статуса доставки сообщения узел Cardsmobile совершит вызов на URL, предоставленный партнером в рамках проекта интеграции (см. Подключение к API).
Request
Response
Request
Body Parameters
msisdn
required
integer
Номер телефона получателя сообщения, без ведущего "+".
messageId
required
string
Идентификатор сообщения.
state
required
string
Текущий статус доставки сообщения: DELIVERED — сообщение доставлено; OPENED — сообщение прочитано.
time
required
string
Время ("yyyy.mm.ddThh:mm:ssZ") перехода сообщения в указанный статус.
utm
optional
object
Объектный идентификатор, содержащий дополнительные настройки отправки сообщения, указанные партнером при отправке (см. выше).
Response
200: OK
Возвращается партнером в случае успешной обработки запроса. Тело ответа — пустое:

Пример тела запроса:

{
"msisdn": 79051234567,
"messageId": "c506b550-a309-11e9-a2a3-2a2ae2dbcce4",
"state": "DELIVERED",
"time": "2019-11-29T17:11:42.739Z",
"utm": {
"utmSource": "cardsmobile",
"utmMiddle": "cpc",
"utmCampaign": "campaign_name"
}
}