Каскадная отправка
Каскадной отправкой называется технология переотправки сообщения по различным каналам. Последовательность каналов задается последовательностью объектов сообщений в массиве cascade– первое сообщение формируется сразу, следующие сообщения последовательно формируются и отправляются в случае неполучения статуса "Доставлено" или "Прочитано" предыдущим сообщением в течение его времени жизни.
post
https://direct.i-dgtl.ru/api
/v1/message/cascade
Отправка каскадных сообщений
Рекомендуемое минимальное время таймаута: 70 секунд
Для использования личного домена в сокращенных ссылках необходимо обратиться в поддержку
Возможные варианты перечислений:
Параметр
Варианты
cascade.channelType
SMS
VIBER
VK TELEGRAM FLASHCALL TEXT_TO_SPEECH VOICECODE
Параметры, переданные в корневом объекте, применяются к каждому сообщению каскада:
  • destination
  • tags
  • useLocalTime
  • localSendTime
  • localCompletionTime
  • hours
  • days
  • shortUrl
  • callbackUrl
  • callbackEvents
В объектах callback, отправляемых по каскадным сообщениям, присутствует идентификатор первого сообщения каскада и порядковый номер данного сообщения – cascade_message_uuid и cascade_step соответственно (описано в разделе Получение callback)

Содержимое SMS, FLASHCALL и VK-сообщений

Для каналов SMS, FLASHCALL и VK передается объект content следующего вида:
1
"content": {
2
"text": "текст сообщения"
3
}
Copied!
Параметр
Тип
Описание
content.text
string
required
Текст сообщения; строка в кодировке UTF-8 без Byte Order Mark
  • SMS:
    • строка от 1 до 5000 символов
  • VK:
    • строка от 1 до 2048 символов
  • FLASHCALL:
    • строка с числовым кодом длиной 4 символа

Содержимое VIBER-сообщения

Для канала VIBER формат и валидация объекта content описаны в разделе Отправка VIBER

Содержимое WHATSAPP-сообщения

Для канала WHATSAPP формат и валидация объекта content описаны в разделе Отправка WHATSAPP

Содержимое TEXT_TO_SPEECH-сообщения

Для канала TEXT_TO_SPEECH формат и валидация объекта content описаны в разделе Отправка TEXT_TO_SPEECH

Содержимое VOICECODE-сообщения

Для канала VOICECODE формат и валидация объекта content, а также допустимое значение senderName описаны в разделе Отправка VOICECODE

Содержимое TELEGRAM-сообщения

Для канала TELEGRAM формат и валидация объекта content, а также допустимое значение senderName описаны в разделе Отправка TELEGRAM

Пример запроса 1

Каскадная отправка по трем каналам следующего вида:
  1. 1.
    VK-сообщение отправляется первым в соответствии с переданными временны́ми параметрами
  2. 2.
    при отсутствии статуса "Прочитано" через 14400 секунд после отправки формируется VIBER-сообщение
  3. 3.
    VIBER-сообщение отправляется в соответствии с переданными временны́ми параметрами
  4. 4.
    при отсутствии статуса "Прочитано" через 10800 секунд после отправки формируется TELEGRAM-сообщение
  5. 5.
    при отсутствии статуса "Доставлено" через 600 секунд после отправки формируется SMS-сообщение
  6. 6.
    SMS-сообщение отправляется в соответствии с переданными временны́ми параметрами
JSON
cURL
1
POST https://direct.i-dgtl.ru/api/v1/message/cascade
2
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
3
Content-Type: application/json
4
[
5
{
6
"destination": "79999999999",
7
"localSendTime": "2021-01-01 18:00:00",
8
"localCompletionTime": "2021-01-05 18:00:00",
9
"useLocalTime": true,
10
"hours": [
11
10,
12
11,
13
12,
14
13,
15
14,
16
15,
17
16,
18
17,
19
18,
20
19,
21
20
22
],
23
"days": [
24
6,
25
7
26
],
27
"tags": [
28
"tag1",
29
"tag2"
30
],
31
"shortUrl": true,
32
"callbackUrl": "https://domain.com/callback",
33
"callbackEvents": [
34
"delivered",
35
"price",
36
"click"
37
],
38
"cascade": [
39
{
40
"channelType": "VK",
41
"senderName": "vk-sender",
42
"content": {
43
"text": "текст сообщения"
44
},
45
"condition": "not_read",
46
"ttl": 14400
47
},
48
{
49
"channelType": "VIBER",
50
"senderName": "viber-sender",
51
"content": {
52
"contentType": "text",
53
"text": "текст сообщения"
54
},
55
"condition": "not_read",
56
"ttl": 10800
57
},
58
{
59
"channelType": "TELEGRAM",
60
"senderName": "i-digital_bot",
61
"content": {
62
"contentType": "text",
63
"text": "текст сообщения"
64
},
65
"condition": "not_delivered",
66
"ttl": 600
67
},
68
{
69
"channelType": "SMS",
70
"senderName": "sms-sender",
71
"content": {
72
"text": "текст сообщения"
73
}
74
}
75
]
76
}
77
]
Copied!
1
curl -X POST 'https://direct.i-dgtl.ru/api/v1/message/cascade' \
2
-H 'Content-Type: application/json' \
3
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
4
-d '[{"destination":"79999999999","localSendTime":"2021-01-01 18:00:00","localCompletionTime":"2021-01-05 18:00:00","useLocalTime":true,"hours":[10,11,12,13,14,15,16,17,18,19,20],"days":[6,7],"tags":["tag1","tag2"],"shortUrl":true,"callbackUrl":"https://domain.com/callback","callbackEvents":["delivered","price","click"],"cascade":[{"channelType":"VK","senderName":"vk-sender","content":{"text":"текст сообщения"},"condition":"not_read","ttl":14400},{"channelType":"VIBER","senderName":"viber-sender","content":{"contentType":"text","text":"текст сообщения"},"condition":"not_read","ttl":10800},{"channelType":"TELEGRAM","senderName":"i-digital_bot","content":{"contentType":"text","text":"текст сообщения"},"condition":"not_delivered","ttl":600},{"channelType":"SMS","senderName":"sms-sender","content":{"text":"текст сообщения"}}]}]'
Copied!

Пример запроса 2

Каскадная отправка кода подтверждения следующего вида:
  1. 1.
    VOICECODE-сообщение отправляется моментально
  2. 2.
    При отсутствии статуса "Доставлено" через 60 секунд после отправки, либо при получении статуса "Не доставлено" формируется и отправляется SMS-сообщение
JSON
cURL
1
POST https://direct.i-dgtl.ru/api/v1/message/cascade
2
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
3
Content-Type: application/json
4
[
5
{
6
"destination": "79999999999",
7
"cascade": [
8
{
9
"channelType": "VOICECODE",
10
"senderName": "voicecode",
11
"content": {
12
"contentType": "text",
13
"text": "Код авторизации от i-digital: 3 2 6 1"
14
},
15
"condition": "not_delivered",
16
"ttl": 60
17
},
18
{
19
"channelType": "SMS",
20
"senderName": "sms-sender",
21
"content": {
22
"text": "Ваш код для авторизации: 3261"
23
}
24
}
25
]
26
}
27
]
Copied!
1
curl -X POST 'https://direct.i-dgtl.ru/api/v1/message/cascade' \
2
-H 'Content-Type: application/json' \
3
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
4
-d '[{"destination":"79999999999","cascade":[{"channelType":"VOICECODE","senderName":"voicecode","content":{"contentType":"text","text":"Ваш код: 3-2-6-1"},"condition":"not_delivered","ttl":60},{"channelType":"SMS","senderName":"sms-sender","content":{"text":"Ваш код для авторизации: 3261"}}]}]'
Copied!