Deeplink

Deeplink (или Диплинк) нужен для передачи параметров в ссылке. Можно отслеживать источник перехода в бота или задавать параметры для перешедших по ссылке пользователей. Другими словами Диплинк — это UTM-метка для чат-бота.
Работает в Telegram, Viber, ВКонтакте и Facebook.
Чтобы создать Deeplink, перейдите в НастройкиСобытия и нажмите кнопку Добавить событие. Введите имя события и выберите тип — Deeplink.
Чтобы удалить cобытие, нажмите на крестик в правом верхнем углу.

Deeplink с текстом

Используется для создания ссылки, которая ведет на определенный экран. Например, вы сгенерировали Диплинк vasya, чтобы считать клиентов, которые привел ваш партнер Василий. Для этого вы отправите всех пользователей на экран, записывающий визит.
1. Добавьте и назовите Deeplink.
2. В Свойствах укажите ТипТекст и его Значение — текст латиницей (параметр), который будет указан в ссылке и который запишется в переменную deeplink.
3. В Действии укажите Тип — выбираем, будет пользователю присылаться какой-либо Экран или Текст.
4. В Ссылках скопируйте нужные вам ссылки с добавленным в них значением.

Deeplink с регулярным выражением

Используется для создания ссылки, которая ведет на определенный экран. Можно использовать для отслеживания перехода пользователя из разных рекламных кампаний по параметру в конце ссылки.
1. Добавьте и назовите Deeplink.
2. В Свойствах укажите ТипРегулярное выражение и его Значениенеобходимое регулярное выражение. Укажите Имя переменной — произвольную переменную, в которую запишется параметр ссылки и Тип переменнойМассив или Строка. При необходимости задаем флаги регулярных выражений.
3. В Действии укажите Тип — выбираем, будет пользователю присылаться какой-либо Экран или Текст после перехода по ссылке.
4. Нажмите кнопку сохранения, чтобы сформировалась ссылка. В Ссылках ее нужно скопировать и после знака = в конце ссылки дописать подходящее под регулярное выражение значение, которое будет записано в переменную.
Пользователю, который перейдет по такой ссылке сразу будет присвоена переменная с определенным значением в ней. Компоненты конструктора (Развилка, Алерт и т.д.) могут сразу же работать с этой переменной. Переданный в бота параметр отображается в Состояниях пользователя.
Для Диплинка с регулярными выражениями можно выбрать Тип переменной: Массив или Строка. Массив будет полезен, когда нужно получить не только значение Диплинка, но и его отдельные части. Полное значение Диплинка будет в первом элементе, а группы в остальных. Например, для регулярного выражения: triforce_of_(.+?)$ и Диплинка triforce_of_wisdom получится такой массив: [triforce_of_wisdom, wisdom]. Тип Строка в этом случае просто запишет в переменную строку: triforce_of_wisdom.
Регулярное выражение .* будет пропускать любое значение (текст латиницей и цифры). Если использовать это регулярное выражение, то больше 1 Диплинка создать не получится. Если вам нужно несколько Диплинков, создайте уникальное регулярное выражение для каждого cобытия.

Deeplink в Viber

Из-за особенностей платформы Viber (бот запускается только после реакции пользователя), после перехода по ссылке Диплинка пользователю нужно написать боту, после чего он получит экран повторно. Чтобы этого избежать, нужно отдельно для Viber сделать другое cобытие Диплинк, которое направит на специально созданный для Viber экран. На этом экране нужно разместить кнопку «Начать» с переходом на нужный экран.

Deeplink для нестандартных ситуаций

Иногда по Диплинку нужно получить, например, email пользователя, но ограничения URL-адреса не позволяют нам этого сделать. Тогда на помощь приходит Base64.
В целом работа c Диплинком абсолютно никак не изменяется. Все, что вам нужно после получения Диплинк-ссылки — это подставить в конец base64-.
Рассмотрим на примере.
1. Сформируем Диплинк для Telegram.
2. Теперь к полученной ссылке нужно дописать base64-, чтобы указать боту, что данные передаются в формате base64.
3. Закодируем нужные данные. Можно воспользоваться сторонним сервисом, например https://www.base64encode.org
4. Полученную строку формата base64 подставляем в конец Диплинка (после base64-).
5. Протестируем полученный Диплинк.
Настраиваем cобытие.
Записываем Диплинк в переменную email и сразу же вызываем с помощью компонента Текст.
После перехода по ссылке мы получили base64, расшифровали его и записали итоговое значение.
Конечная ссылка не должна превышать 64 символа — Telegram и другие платформы могут отказаться работать с большими ссылками. Используйте латиницу и спецсимволы. С другими языками base64 может закодировать текст с невалидными символами для URL, и тогда ссылка не будет работать.