$textCampaign.cancelClient
Метод позволяет отменить отправку сообщения клиенту в ходе рассылки в зависимости от условий, описанных в сценарии.
Синтаксис
$textCampaign.cancelClient();
Использование в сценарии
Допустим, вы хотите отправить таргетированную рассылку на жителей только определенной страны (например, России).
Можно вручную отобрать в список клиентов только клиентов из России по каким-либо известным вам признакам, а затем отправить рассылку только клиентам из этого списка. Однако это не всегда возможно.
Вместо этого вы можете заложить нужную логику в сценарий:
- Напишите сценарий так, чтобы бот всегда спрашивал и запоминал страну или город клиента.
- В обработчике события рассылки задайте проверку на страну.
- Если клиент из нецелевой страны, вызовите метод
$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% на все товары при регистрации бонусной карты! Вам интересно наше предложение?
# Стейты для ведения дальнейшего диалога с клиентом…