Отправка PUSH#
Отправка PUSH-сообщений#
POST https://direct.i-dgtl.ru/api/v1/message
Метод позволяет отправлять массив одиночных сообщений (от 1 до 1000)
Headers#
Name |
Type |
Description |
|---|---|---|
Authorization* |
string |
|
Content-Type* |
string |
|
Request Body#
Name |
Type |
Description |
|---|---|---|
channelType* |
string |
Канал отправки ( |
senderName* |
string |
Имя отправителя. Допускается любая строка |
destination* |
string |
Номер телефона абонента |
content* |
object |
Контент сообщения |
tags |
array |
Теги сообщения (массив строк). Каждый тег должен соответствовать выражению |
useLocalTime |
boolean |
Флаг, отвечающий за таймзону, в которой будет отправлено сообщение: |
localSendTime |
string |
Нижняя граница допустимого времени отправки сообщения (с учетом значения |
localCompletionTime |
string |
Верхняя граница допустимого времени отправки сообщения (с учетом |
ttl |
integer |
Время жизни сообщения в секундах. По истечении ttl сообщению устанавливается финальный статус. |
hours |
array |
Допустимые часы отправки (массив чисел). В массиве могут быть переданы целые числа от 0 до 23, каждое из которых соответствует разрешенному для отправки интервалу с учетом |
days |
array |
Допустимые дни отправки (массив чисел). В массиве могут быть переданы целые числа от 1 (пн) до 7 (вс), каждое из которых соответствует разрешенному для отправки дню недели; значения должны быть уникальны. |
callbackUrl |
string |
Адрес для отправки callback |
callbackEvents |
array |
События, по которым будут отправлены callback (массив строк). При наличии |
externalMessageId |
string |
Внутренний id сообщения в вашей системе. До 100 символов. |
content.contentType* |
String |
Тип контента. Допускается только |
content.deviceApp* |
String |
Название пакета приложения, на которое отправляется PUSH |
content.platform* |
String |
Облако отправки сообщения. Допускаются значения APNS, FCM, HCM, RCM |
content.text* |
String |
Текст сообщения. До 4096 символов. |
content.token* |
String |
Идентификатор абонента в приложении |
content.attributes |
object |
Объект с произвольными парами |
В случае успешного запроса возвращается ответ, в котором перечислены идентификаторы сообщений и коды результата. При значении errors = false гарантируется, что все переданные сообщения успешно созданы.
{
"errors": false,
"items": [
{
"messageUuid": "063474ec-a34f-4558-90c5-984395000004",
"code": 201
},
{
"messageUuid": "063564ec-a34f-4558-90c5-984395000005",
"code": 201
}
]
}
Использование невалидного токена / отсутствие заголовка авторизации.
{
"error": {
"code": 4012,
"msg": "Bad credentials"
}
}
{
"error": {
"code": 4010,
"msg": "Not Authenticated"
}
}
Использование неподходящего токена.
{
"error": {
"code": 4030,
"msg": "Access Denied"
}
}
Невалидные параметры в теле запроса.
Payment Required. Недостаточно средств на балансе.
{
"error": {
"code": 402,
"msg": "Insufficient funds"
}
}
{% hint style=»warning» %}
Рекомендуемое время ожидания ответа: 70 секунд.
Как правило, ответ на запрос возвращается не более чем за несколько секунд, но таймаут величиной в 70 секунд позволяет гарантированно получить ответ на запрос, в том числе в ситуациях повышенной нагрузки.
{% endhint %}
Возможные варианты перечислений:
Параметр |
Варианты |
|---|---|
content.platform |
|
callbackEvents |
Пример запроса с минимальным набором параметров #
В примере ниже указан минимально необходимый набор параметров для отправки PUSH-сообщения.
POST https://direct.i-dgtl.ru/api/v1/message
Authorization: Basic {TOKEN_1}
Content-Type: application/json
[
{
"senderName": "push-sender",
"channelType": "PUSH",
"destination": "79999999999",
"content": {
"contentType": "text",
"text": "Текст PUSH-сообщения",
"platform": "APNS",
"deviceApp": "ru.i_dgtl.android.push",
"token": "ceSMD4uWT3y_2z2MLhA...JFHGypuijPYJ_CMHRV"
}
}
]
curl -X POST 'https://direct.i-dgtl.ru/api/v1/message' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic QWxhZGRpbjpvc...' \
-d '[{"senderName":"push-sender","channelType":"PUSH","destination":"79999999999","content":{"contentType":"text","text":"Текст PUSH-сообщения","platform":"APNS","deviceApp":"ru.i_dgtl.android.push","token":"ceSMD4uWT3y_2z2MLhA...JFHGypuijPYJ_CMHRV"}}]'
Пример запроса с расширенными параметрами #
Ниже указан пример запроса для отправки PUSH-сообщения с кастомным объектом attributes, отложенной датой отправки и внутренним id сообщения из вашей системы.
POST https://direct.i-dgtl.ru/api/v1/message
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
[
{
"channelType": "PUSH",
"senderName": "push-sender",
"destination": "79999999999",
"content": {
"contentType": "text",
"text": "Текст пуш-сообщения",
"deviceApp": "ru.i_dgtl.android.nativepush",
"platform": "APNS",
"token": "ceSMD4uWT3y_2z2MLh...JFHGypuijPYJ_CMHRV",
"attributes": {
"imageUrl": "https://image.png",
"size": "medium",
"key": "value"
}
},
"localSendTime": "2024-03-08 10:00:00",
"externalMessageId": "bc45281e-b1bc-47da-b231-6d8658b7d12e"
}
]
curl -X POST 'https://direct.i-dgtl.ru/api/v1/message' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
-d '[{"channelType":"PUSH","senderName":"push-sender","destination":"79999999999","content":{"contentType":"text","text":"Текст пуш-сообщения","deviceApp":"ru.i_dgtl.android.nativepush","platform":"APNS","token":"ceSMD4uWT3y_2z2MLhAnG...JFHGypuijPYJ_CMHRV","attributes":{"imageUrl":"https://image.png","size":"medium","key":"value"}},"localSendTime":"2024-03-08 10:00:00","externalMessageId":"bc45281e-b1bc-47da-b231-6d8658b7d12e"}]'