Отправка клиентам
Клиент - содержит информацию о пользователе приложения. Добавление клиента осуществляется по клиентскому токену. Клиент содержит информацию о номере телефона, закреплённых за ним токенов и т.п.
Попробуйте в Swagger
Аутентификация
Для всех методов используется аутентификация на основе Bearer токена, который можно получить в личном кабинете
Отправка клиенту
Формат запроса
POST https://api.multipushed.ru/v2/customer-publish
Тело запроса:
{
"customerId": null,
"ttl": <time_to_live>,
"ttd": <time_to_delivery>,
"payload": "My push",
"cascadingSMS": true,
"cascadingMailRU": false,
"SMSpayload": {
"body": null
},
"apns": {
"alert": {
"title": null,
"subtitle": null,
"body": null,
"launch-image": null,
"title-loc-key": null,
"title-loc-args": null,
"subtitle-loc-key": null,
"subtitle-loc-args": null,
"loc-key": null,
"loc-args": null
},
"badge": null,
"sound": {
"critical": null,
"name": null,
"volume": null
},
"thread-id": null,
"category": null,
"content-available": 1,
"mutable-available": null,
"target-content-id": null,
"interruption-level": null,
"relevance-score": null,
"filter-criteria": null,
"stale-date": null,
"timestamp": null,
"event": null,
"dismissal-date": null,
"attributes-type": null
},
"pushedNotification": {
"title": null,
"body": null,
"image": null,
"logo": null,
"url": null,
"utm": null
},
"templateId": null
}
Параметры тела запроса
customerId | ID клиента, которому осуществляется отправка | Обязательное поле |
clientToken | Клиентский токен устройства | Обязательное поле |
accessToken | Токен мобильного приложения (из системы управления Pushed) | Обязательное поле |
ttl | Время жизни сообщения в секундах (по умолчанию 24 часа) | Необязательное поле |
ttd | Время доставки пуша. Если в сервисе включен каскад, например, на СМС, то при неуспешной доставке через время TTD будет отправлена СМС (по умолчанию 24 часа) | Необязательное поле |
payload | Тело сообщения (До клиента будет доставлено в том виде, в котором передано) | Обязательное поле |
cascadingSMS | Включить каскадную отправку через смс(по умолчанию true, если cascadingSMS = false при неудачной отправке пуш сообщения через все включенные транспорты отправка смс не произойдёт) | Необязательное поле |
cascadingMailRU | Включить каскадную отправку через ВК/одноклассники | Необязательное поле |
SMSpayload | Текст, который будет отправлен в СМС (payload идет в пуш, а SMSPayload в СМС, если передан только payload, то он отправляется по всем каналам) | Необязательное поле |
apns | Настройки для отправки через APNs | Необязательное поле |
pushedNotification | Конфигурация отображения пуша | Необязательное поле, но если его заполнить, то поле pushedNotification.Body будет обязательным |
title | Заголовок | Необязательное поле |
body | Тело пуш-уведомления | Необязательное поле |
image | Ссылка на картинку, доступно только на android | Необязательное поле |
logo | Имя графического ресурса внутри приложения, которое содержит иконку. Если оно не указано или ресурс не найден, будет использована стандартная иконка приложения | Необязательное поле |
url | Url, на который пользователь будет перенаправлен при нажатии на пуш | Необязательное поле |
utm | Utm метка | Необязательное поле |
templateId | Идентификатор шаблона | Необязательное поле |
Пример запроса:
curl https://pub.multipushed.ru/v2/customer-publish \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: YOUR_SECRET_TOKEN' \
--data '{
"customerId": null,
"ttl": 1,
"ttd": null,
"cascadeToSms": true,
"groupId": null,
"payload": null,
"apns": {
"alert": null,
"badge": null,
"sound": null,
"thread-id": null,
"category": null,
"content-available": 1,
"target-content-id": null,
"interruption-level": null,
"relevance-score": null,
"filter-criteria": null,
"stale-date": null,
"timestamp": null,
"event": null,
"dismissal-date": null,
"attributes-type": null
},
"hpk": {
"notificationTitle": null,
"notificationBody": null,
"notificationButtons": [
{
"buttonId": null,
"buttonName": null
}
]
},
"sms": {
"body": null
},
"pushedNotification": {
"title": null,
"body": null,
"image": null,
"logo": null,
"sound": null,
"url": null,
"utm": null,
"font": null
},
"templateId": null
}'
Пример ответа:
В случае успеха
{
"model": {
"id": "66d5a0bb6a1dc7d467d1adee",
"createdAt": "2024-09-02T11:25:47.8329958Z",
"sentAt": null,
"messageStatus": "InProcess"
},
"success": true/false,
"message": string/null,
"errCode": int/null
}
success | результат выполнения запроса |
errCode | код ошибки, будет заполнено в случае ошибки |
message | текстовое описание ошибки, будет заполнено в случае ошибки |