Каскадная отправка
Каскадной отправкой называется технология переотправки сообщения по различным каналам. Последовательность каналов задается последовательностью объектов сообщений в массиве cascade– первое сообщение формируется сразу, следующие сообщения последовательно формируются и отправляются в случае неполучения статуса "Доставлено" или "Прочитано" предыдущим сообщением в течение его времени жизни.
Отправка каскадных сообщений
POST https://direct.i-dgtl.ru/api/v1/message/cascade
Метод позволяет отправить массив каскадных сообщений (от 1 до 1000)
Headers
Authorization*
string
Basic {TOKEN_1}
Content-Type*
string
application/json
Request Body
destination*
string
Номер абонента
tags
array
Теги сообщения (массив строк).
Каждый тег должен соответствовать выражению ^\w+$ (допускаются буквы в любом регистре, цифры и нижнее подчеркивание "_")
useLocalTime
boolean
Флаг, отвечающий за таймзону, в которой будет отправлено сообщение:
true – отправка в таймзоне абонента
false – отправка по МСК
По умолчанию true
localSendTime
string
Желаемое время отправки первого сообщения каскада (с учетом значения useLocalTime)
Дата в формате YYYY-MM-DD hh:mm:ss в диапазоне от (текущее время в UTC - 12 часов) до (текущее время в UTC + 7 дней)
По умолчанию сообщение будет отправлено сразу
localCompletionTime
string
Верхняя граница допустимого времени отправки сообщения (с учетом useLocalTime) в диапазоне от localSendTime до (текущее время в UTC + 70 дней)
hours
array
Допустимые часы отправки (массив чисел). В массиве могут быть переданы целые числа от 0 до 23, каждое из которых соответствует разрешенному для отправки часовому интервалу с учетом useLocalTime
days
array
Допустимые дни отправки (массив чисел). В массиве могут быть переданы целые числа от 1 (пн) до 7 (вс), каждое из которых соответствует разрешенному для отправки дню недели с учетом useLocalTime
shortUrl
boolean
Флаг, отвечающий за сокращение ссылок в сообщении:
true- ссылки в текстах сообщений будут сокращены
По умолчанию false
callbackUrl
string
Адрес для отправки callback
callbackEvents
array
События, по которым будет отправлен callback (массив строк). При наличии callbackUrl и отсутствии callbackEvents в запросе, будет отправлен callback по событию delivered
cascade*
array
Массив с объектами сообщений; может содержать от 2 до 11 объектов включительно.
cascade.channelType*
string
Канал трафика сообщения
cascade.senderName*
string
Имя отправителя; допустимые значения зависят от канала:
SMS: допускаются sms-отправители в статусе "Одобрено" с датой начала действия не позднее, чем время отправки запроса
VIBER: допускаются viber-отправители в статусе "Одобрено" с датой начала действия не позднее, чем время отправки запроса
VK, FLASHCALL, TEXT_TO_SPEECH: допускается любая строка
VOICECODE: необходимо отправлять значение voicecode
cascade.content*
object
Содержимое сообщения; допустимые значения зависят от канала и описаны ниже
cascade.condition
string
Условие отправки следующего сообщения
По умолчанию – not_delivered
cascade.ttl
string
Время жизни сообщения в секундах. По истечении ttl: данному сообщению будет присвоен финальный статус, а также при выполнении cascade.condition будет создано следующее сообщение.
30 ≤ ttl ≤ 86400
По умолчанию время жизни сообщения составляет 25 часов
В случае успешного запроса возвращается ответ, в котором перечислены идентификаторы сообщений (в том числе ваши, если были переданы) и коды результата. При значении errors = false гарантируется, что все переданные сообщения успешно созданы.
Использование невалидного токена / отсутствие заголовка авторизации.
Недостаточно средств на балансе.
Использование неподходящего токена.
Невалидные параметры в теле запроса или превышение максимального количества объектов.
Рекомендуемое время ожидания ответа: 70 секунд. Как правило, ответ на запрос возвращается не более чем за несколько секунд, но таймаут величиной в 70 секунд позволяет гарантированно получить ответ на запрос, в том числе в ситуациях повышенной нагрузки.
Для использования личного домена в сокращенных ссылках необходимо обратиться в поддержку
Возможные варианты перечислений:
Параметр
Варианты
callbackEvents
cascade.channelType
SMS
PUSH
VIBER
WHATSAPP
WEASY
VK
TELEGRAM
TELEGRAM GATEWAY
TEXT_TO_SPEECH
FLASHCALL
cascade.condition
Параметры, переданные в корневом объекте, применяются к каждому сообщению каскада:
destination
tags
useLocalTime
localSendTime
localCompletionTime
hours
days
shortUrl
callbackUrl
callbackEvents
В объектах callback, отправляемых по каскадным сообщениям, присутствует идентификатор первого сообщения каскада и порядковый номер данного сообщения – cascade_message_uuid и cascade_step соответственно (описано в разделе Получение callback)
Содержимое SMS и VK-сообщений
Для каналов SMS и VK передается объект content следующего вида:
Параметр
Тип
Описание
content.text
string
required
Текст сообщения; строка в кодировке UTF-8 без Byte Order Mark
SMS:
строка от 1 до 5000 символов
VK:
строка от 1 до 2048 символов
Содержимое PUSH-сообщения
Для канала PUSH формат и валидация объекта content описаны в разделе Отправка PUSH
Содержимое VIBER-сообщения
Для канала VIBER формат и валидация объекта content описаны в разделе Отправка VIBER
Содержимое WHATSAPP-сообщения
Для канала WHATSAPP формат и валидация объекта content описаны в разделе Отправка WHATSAPP
Для канала WHATSAPP значение ttl следует устанавливать не менее 24 часов, так как сервис доставит сообщение абоненту даже спустя 24 часа неактивноси (например, выключенный телефон)
Содержимое WEASY-сообщения
Для канала WEASY формат и валидация объекта content описаны в разделе Отправка WEASY
Содержимое TEXT_TO_SPEECH-сообщения
Для канала TEXT_TO_SPEECH формат и валидация объекта content описаны в разделе Отправка TEXT_TO_SPEECH
Содержимое FLASHCALL-сообщения
Для канала FLASHCALL формат и валидация объекта content описаны в разделе Отправка FLASHCALL-сообщения
Содержимое VOICECODE-сообщения
Для канала VOICECODE формат и валидация объекта content, а также допустимое значение senderName описаны в разделе Отправка VOICECODE
Содержимое TELEGRAM-сообщения
Для канала TELEGRAM формат и валидация объекта content, а также допустимое значение senderName описаны в разделе Отправка TELEGRAM
Содержимое TELEGRAM GATEWAY-сообщения
Для канала TELEGRAM GATEWAY формат и валидация объекта content, а также допустимое значение senderName описаны в разделе Отправка TELEGRAM GATEWAY
Пример запроса 1
Каскадная отправка по трем каналам следующего вида:
VK-сообщение отправляется первым в соответствии с переданными временны́ми параметрами
при отсутствии статуса "Прочитано" через 14400 секунд после отправки формируется VIBER-сообщение
VIBER-сообщение отправляется в соответствии с переданными временны́ми параметрами
при отсутствии статуса "Прочитано" через 10800 секунд после отправки формируется TELEGRAM-сообщение
при отсутствии статуса "Доставлено" через 600 секунд после отправки формируется SMS-сообщение
SMS-сообщение отправляется в соответствии с переданными временны́ми параметрами
Пример запроса 2
Каскадная отправка кода подтверждения следующего вида:
TELEGRAM-сообщение отправляется моментально
При отсутствии статуса "Доставлено" через 60 секунд после отправки, либо при получении статуса "Не доставлено" формируется и отправляется SMS-сообщение
Last updated