Для реализации различных маркетинговых акций в боте требуется поддерживать возможность рекомендовать бота другу. И затем обрабатывать действия пользователя после перехода в бот по рекомендации (например, начисляя бонусные баллы рекомендовавшему пользователю).
Для это в Sherlock Platform есть следующие инструменты:
- Для формирования и отправки в тексте кода рекомендации предназначен смарт тег
{"tag_type":"refcode", "ref_code_type_id":"#id_типа_рекомендации#", "is_generate_new":true, "lifetime_minutes":60}
Где- tag_type - всегда refcode
- id_типа_рекомендации - id в таблице tbl_RefCodeType. Пока администрирование не вынесено в интерфейс и добавление записи необходимо запросить в поддержке
- is_generate_new - true, если формировать новый код, или false, если допустимо использовать существующий для данного диалога
- lifetime_minutes - срок действия кода. 0 - без ограничений
- В целом json тега сохраняется и в него можно добавить другие необходимые параметры.
- При получении в боте сообщения с кодом Sherlock Platform выполняет следующие действия:
- Сохраняет в System.RefCode.SourceClientId id клиента, который направил рекомендацию (сформировал код)
- В переменной контекста System.RefCode.isFirstActivation указывается значение true, если код использован впервые
- В System.RefCode.JsonData сохраняется полностью начальный json тега
- Вызывается событие с типом "Переход по реферной ссылке"
Для реализации в боте обработки рекомендаций необходимо:
- Реализовать сценарий [Рекомендовать другу] в котором формировать сообщение с кодом, которое надо переслать другу
- Добавить событие на получение кода в котором реализовать бизнес логику, требуемую для обработки перехода по рекомендации