Перейти к основному содержимому

$textCampaign.cancelClient

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

Синтаксис

$textCampaign.cancelClient();

Использование в сценарии

Допустим, вы хотите отправить таргетированную рассылку на жителей только определенной страны (например, России).

Можно вручную отобрать в список клиентов только клиентов из России по каким-либо известным вам признакам, а затем отправить рассылку только клиентам из этого списка. Однако это не всегда возможно.

Вместо этого вы можете заложить нужную логику в сценарий:

  1. Напишите сценарий так, чтобы бот всегда спрашивал и запоминал страну или город клиента.
  2. В обработчике события рассылки задайте проверку на страну.
  3. Если клиент из нецелевой страны, вызовите метод $textCampaign.cancelClient и не продолжайте сценарий рассылки.
Отображение отмененных сообщений в интерфейсе
Карточка рассылки. По нижнему краю расположен индикатор выполнения рассылки, поделенный на два сегмента: зеленый для сообщений, которые были отправлены клиентам, и желтый для тех, что были отменены.
# Подключение справочника городов из системного проекта zb-common.
require: city/city.sc
module = sys.zb-common

theme: /

# Ветка сценария, где бот узнает город клиента.
state: Start || modal = true
q!: $regex</start>
a: Здравствуйте! Не могли бы вы уточнить, в каком городе вы находитесь?

state: GetCity
q: * $City *
script: $client.city = $parseTree._City;
a: Спасибо! Теперь я готов к работе.
go: /

state: CatchAll || noContext = true
event: noMatch
a: Простите, но я не смогу правильно работать, не узнав, где вы.

# Стейт для обработки события, которое отправляется при запуске рассылки.
state: Promo
event!: promoEvent
if: $client.city.country !== "RU"
script: $textCampaign.cancelClient();
go: /
else:
a: Скидка 10% на все товары при регистрации бонусной карты! Вам интересно наше предложение?

# Стейты для ведения дальнейшего диалога с клиентом…