- 21 Jul 2023
- 2 минуты
- Темная темаСветлая тема
- формат pdf
Как отправить рассылку через чат-бот
- Обновлено 21 Jul 2023
- 2 минуты
- Темная темаСветлая тема
- формат pdf
При подключении мессенджеров к Mindbox их можно использовать для отправки массовых и автоматических рассылок как любой другой канал.
Настройка отправки рассылки
- На платформе Botmother добавьте экран, который хотите отправить пользователям.
- Перейдите в настройки бота и добавьте событие:
- задайте название;
- тип — Внешнее событие;
- тип внешнего события — Экран
- Экран — экран, созданный на первом шаге для рассылки.
После сохранения ссылка события автоматически заполнится. Скопируйте ее.
- В Mindbox создайте вебхук:
- Задайте название;
- Тип запроса — POST;
- URL — Вставьте скопирорванную ссылку;
- Заголовки — необязательно;
- Тело запроса — общий вид:
{
"platform": "tg",
"users": ["${Recipient.ExternalIdentity.TelegramID}"],
"data": {}
}
Где:
- platform — это платформа в которую будет отправлено сообщение.
- users — идентификатор подписчика платформы. Обращаемся к нему с помощью параметра шаблонизатора
${Recipient.ExternalIdentity.TelegramID}
. Может отличаться от проекта к проекту, если у поля задано иное системное имя. - data — любой JSON, который запишется в боте в объект
last_request
. Принимает массивы и другие объекты.
Подробнее возможности передачи данных в data
рассмотрим ниже.
- Создайте сценарий для вызова вебхука.
Для массовой рассылки используйте сценарий по расписанию. Не забудьте указать ограничение по количеству срабатываний на клиента и по окончанию работы, чтобы сообщения не отправлялись клиентам несколько дней подряд.
Например:
Для автоматических рассылок используйте сценарий по событиям.
Например:
Наполнение рассылки
Отправка рассылки состоит из двух процессов:
- запуск отправки и передача данных в чат через вебхук;
- вывод данных в чате с помощью собственных переменных.
Поэтому содержимое вебхука и экрана чат-бота зависят от типа передаваемых данных.
Рассылка без переменных
Например, нужно просто сообщить о массовой акции, персонализированная информация не нужна.
На экран вводится всё сообщение:
Вебхук передается с пустым объектом для data
:
{
"platform": "tg",
"users": ["${Recipient.ExternalIdentity.TelegramID}"],
"data": {}
}
Клиент получает сообщение:
Рассылка с простыми переменными
Например, хотим обратиться в сообщении по имени, если оно заполнено, и вывести персональный промокод.
В вебхуке задайте:
- переменные, в которые запишутся значения с проекта для передачи в Botmother (например,
"name"
); - значения этих переменных с помощью параметров Mindbox (например,
"${Recipient.OnlyStandardFirstName}"
).
{
"platform": "tg",
"users": ["${Recipient.ExternalIdentity.TelegramID}"],
"data": {
"name": "${Recipient.OnlyStandardFirstName}",
"code": "${Recipient.LastReceivedPromoCode.WithTypePromo500.Value}"
}
}
На экране добавьте текст с переменными, в которые будут переданы полученные из Mindbox значения.
Не забывайте, что переменные будут записаны в last_request:
Привет{{#if last_request.name}}, {{last_request.name}}{{/if}}!
Не забудьте воспользоваться персональным промокодом {{last_request.code}}
Клиент получает сообщение:
Рассылка с коллекцией
Например, хотим отправить сообщение с брошенной корзиной.
В вебхуке задайте переменные, в которые будут записаны значения из Mindbox:
{
"platform": "tg",
"users": ["${Recipient.ExternalIdentity.TelegramID}"],
"data": {
@{for item in Session.GetAddedToListProducts("Korzina").AvailableForRecipient.Take(1)}
"name": "${item.Name}",
"price": "${item.Price}"
@{end for}
}
}
На экране добавьте текст с переменными, в которые будут переданы полученные значения.
Не забывайте, что переменные будут записаны в last_request:
Вы кое-что забыли в корзине
Товар: {{last_request.name}}
Цена: {{last_request.price}}
Клиент получает: