Как отправить рассылку через чат-бот
  • 21 Jul 2023
  • 2 минуты
  • Темная тема
    Светлая тема
  • формат pdf

Как отправить рассылку через чат-бот

  • Темная тема
    Светлая тема
  • формат pdf

Article Summary

При подключении мессенджеров к Mindbox их можно использовать для отправки массовых и автоматических рассылок как любой другой канал.

Настройка отправки рассылки

  1. На платформе Botmother добавьте экран, который хотите отправить пользователям.

Снимок экрана 2023-03-31 в 13.00.02.png

  1. Перейдите в настройки бота и добавьте событие:
    1. задайте название;
    2. тип — Внешнее событие;
    3. тип внешнего события — Экран
    4. Экран — экран, созданный на первом шаге для рассылки.

После сохранения ссылка события автоматически заполнится. Скопируйте ее.

Снимок экрана 2023-03-31 в 12.59.11.png

  1. В Mindbox создайте вебхук:
    1. Задайте название;
    2. Тип запроса — POST;
    3. URL — Вставьте скопирорванную ссылку;
    4. Заголовки — необязательно;
    5. Тело запроса — общий вид:
{ 
  "platform": "tg",
  "users": ["${Recipient.ExternalIdentity.TelegramID}"],
  "data": {}
}

Где:

  • platform — это платформа в которую будет отправлено сообщение.
  • users — идентификатор подписчика платформы. Обращаемся к нему с помощью параметра шаблонизатора ${Recipient.ExternalIdentity.TelegramID}. Может отличаться от проекта к проекту, если у поля задано иное системное имя.
  • data — любой JSON, который запишется в боте в объект last_request. Принимает массивы и другие объекты.

Снимок экрана 2023-03-31 в 14.22.47.png

Подробнее возможности передачи данных в data рассмотрим ниже.

  1. Создайте сценарий для вызова вебхука.

Для массовой рассылки используйте сценарий по расписанию. Не забудьте указать ограничение по количеству срабатываний на клиента и по окончанию работы, чтобы сообщения не отправлялись клиентам несколько дней подряд.

Например:

Снимок экрана 2023-04-11 в 15.12.24.png

Снимок экрана 2023-04-11 в 15.13.08.png

Снимок экрана 2023-04-11 в 15.14.25.png

Для автоматических рассылок используйте сценарий по событиям.

Например:

Снимок экрана 2023-04-11 в 15.08.55.png

Снимок экрана 2023-04-11 в 15.09.13.png

Снимок экрана 2023-04-11 в 15.10.19.png

Наполнение рассылки

Отправка рассылки состоит из двух процессов:

  1. запуск отправки и передача данных в чат через вебхук;
  2. вывод данных в чате с помощью собственных переменных.

Поэтому содержимое вебхука и экрана чат-бота зависят от типа передаваемых данных.

Рассылка без переменных

Например, нужно просто сообщить о массовой акции, персонализированная информация не нужна.

На экран вводится всё сообщение:

Снимок экрана 2023-03-31 в 13.57.30.png

Вебхук передается с пустым объектом для data:

Снимок экрана 2023-03-31 в 14.22.47.png

{ 
  "platform": "tg",
  "users": ["${Recipient.ExternalIdentity.TelegramID}"],
  "data": {}
}

Клиент получает сообщение:

Снимок экрана 2023-03-31 в 14.24.28.png

Рассылка с простыми переменными

Например, хотим обратиться в сообщении по имени, если оно заполнено, и вывести персональный промокод.

В вебхуке задайте:

  • переменные, в которые запишутся значения с проекта для передачи в Botmother (например, "name");
  • значения этих переменных с помощью параметров Mindbox (например, "${Recipient.OnlyStandardFirstName}").

Снимок экрана 2023-03-31 в 14.45.56.png

{ 
  "platform": "tg",
  "users": ["${Recipient.ExternalIdentity.TelegramID}"],
  "data": {
      "name": "${Recipient.OnlyStandardFirstName}",
      "code": "${Recipient.LastReceivedPromoCode.WithTypePromo500.Value}"
  }
}

На экране добавьте текст с переменными, в которые будут переданы полученные из Mindbox значения.
Не забывайте, что переменные будут записаны в last_request:

Снимок экрана 2023-03-31 в 14.46.44.png

Привет{{#if last_request.name}}, {{last_request.name}}{{/if}}!
Не забудьте воспользоваться персональным промокодом {{last_request.code}}

Клиент получает сообщение:

Снимок экрана 2023-03-31 в 14.42.57.png

Рассылка с коллекцией

Например, хотим отправить сообщение с брошенной корзиной.

В вебхуке задайте переменные, в которые будут записаны значения из Mindbox:

Снимок экрана 2023-03-31 в 16.32.02.png

{ 
  "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:

Снимок экрана 2023-03-31 в 16.27.01.png

Вы кое-что забыли в корзине
Товар: {{last_request.name}}
Цена: {{last_request.price}}

Клиент получает:

Снимок экрана 2023-03-31 в 16.27.20.png