Отправка сообщений по каскаду
Для отправки сообщений в каналы Viber, SMS и Push используется метод api/cascade/schedule.
Сообщения отправляются через каскад — сценарий последовательной рассылки в несколько каналов. При регистрации канала одношаговый каскад для него создается автоматически.
Создать каскад из нескольких каналов можно в личном кабинете edna Pulse.
Как работают каскады Как создать каскадС помощью метода api/cascade/schedule можно отправлять сообщение как в несколько каналов, так и в один канал.
Вызов метода
Чтобы вызвать метод api/cascade/schedule, отправьте POST-запрос на URL-адрес https://app.edna.by/api/cascade/schedule.
Если запрос принят, сервер возвращает ответ с кодом 200. В случае неуспешной проверки запроса возвращается ответ с кодом ошибки.
Информация о результате отправки сообщения приходит на установленный вебхук.
Вебхук об изменении статуса сообщенияЕсли сервер не возвращает статус сообщения — отправьте запрос в службу поддержки edna.
edna Pulse не позволяет отправлять дубликаты сообщения в течение 20 минут после его отправки.
Особенности отправки сообщений по каскаду в разные каналы
В запросе каждому каналу соответствует свой объект — viberContent, smsContent, pushContent.
Формат запроса
В теле запроса передается набор параметров каскада, по которому вы хотите отправить сообщение.
{
"requestId": "string",
"cascadeId": number,
"subscriberFilter": {
"address": "string",
"type": "string"
},
"startTime": "string",
"ttl": "string",
"content": {
"viberContent": {
...
},
"smsContent": {
...
},
"pushContent": {
...
}
},
"comment": "string",
"priority": "string"
}
Параметры запроса
Общие параметры
| Параметр | Тип данных | Характер | Описание |
|---|---|---|---|
requestId | string | Обязательный | Внутренний идентификатор исходящего сообщения. Генерируется внешней системой клиента. Максимальная длина строки — 256 символов. |
comment | string | Необязательный | Текстовый комментарий в сообщении. Значение параметра отображается в детальном отчете. |
cascadeId | number, допускается string | Обязательный | Идентификатор каскада. При создании канала автоматически создается каскад для отправки сообщений по этому каналу. Чтобы узнать идентификатор каскада — используйте метод API по получению информации о каскадах (поле id).
Получение информации о каскадах |
subscriberFilter | object | Обязательный | Получатель сообщения: ID в edna Pulse, номер телефона клиента, а также другие ID для push-сообщений.
Включает в себя следующие параметры: - address — значение, которое зависит от type;
- type — см. параметр type
Например: если type — это PHONE, то address — номер телефона клиента |
address | string | Обязательный | Идентификатор получателя. |
type | string | Обязательный | Тип идентификатора получателя. Возможные значения указываются в верхнем регистре:
- INSTAGRAM_ID* — Идентификатор клиента в Instagram* из 16 числовых символов. Этот идентификатор создается на стороне Facebook*, когда клиент первым взаимодействует с Instagram*-аккаунтом бизнеса. Это значение может быть разным и меняться для одного и того же Instagram* клиента.
- FACEBOOK_ID* — Идентификатор клиента в Facebook*.
- DEVICE_APP_ID — Идентификатор push-устройства клиента.
- EDNA_ID — Идентификатор клиента в базе данных edna, который создается автоматически при создании клиента в edna. Доступен только для каналов SMS и Viber. Отображается на странице Редактирование пользователя в строке URL. Например: 3314 в строке https://app.edna.by/audience/3314/edit.
- PHONE — Номер телефона клиента в формате 79990000000.
- EMAIL
- UTM
- COOKIE_ID
- TELEGRAM_ID
- GOOGLE_ID
- APPLE_ID
- YANDEX_ID
- EXT_USER_ID. |
startTime | string | Необязательный | Дата и время в формате ISO 8601 (например, 2024-07-01T00:00:00Z), раньше которого сообщение не будет отправлено. Используется при отложенной отправке. |
content | object | Обязательный | Может содержать объекты viberContent, smsContent, pushContent.
warning В content должен присутствовать минимум один объект. |
ttl | string | Необязательный | Время, по истечении которого нужно переходить на оп исываемый шаг, если сообщение на предыдущем шаге было не доставлено. Период времени указывается в формате ISO 8601 (например, PT1M). |
priority | string | Необязательный | Используется для обозначения приоритета сообщений. Возможные значения: - DEFAULT — стандартный приоритет, эквивалентно отсутствию дополнительных настроек приоритета;
- LOW — низкий приоритет;
- NORMAL — средний приоритет;
- HIGH — высокий приоритет;
- REALTIME — доставка в режиме реального времени. |
Формат ответа
{
"requestId": "string"
}
Пример ответа
{
"requestId": "test-001"
}
Параметры ответа
| Параметр | Тип данных | Описание |
|---|---|---|
requestId | string | Внутренний идентификатор исходящего сообщения. Был сгенерирован внешней системой клиента при отправке сообщения. |