Передача параметров
Описание
Иногда может понадобиться перенаправить пользователя по ссылке к определенному боту или же в определенную часть сценария бота. Например, когда нужно направить клиента на персональные материалы или функции, которые предлагает чат-бот. Для этого в Viber используется передача параметров по ссылке.
Viber поддерживает передачу следующих параметров: link, text и context.
link— ссылка на чат. Нажатие на ссылку такого типа откроет диалог с ботом и вызовет событие начала разговора.context— контекст. Значение этого параметра будет передано в виде строки и не имеет ограничения по длине.text— текст. Значение этого параметра будет отображаться в поле ввода текста при переходе в чат с ботом по ссылке. Пользователь может отправить текст как он указан в параметре, а также отредактировать или удалить.
Формат ссылки со всеми параметрами примет вид:
viber://pa?chatURI=<URI>&context=<Your Context>&text=<Your Text>
Использование в сценарии
Рассмотрим пример получения параметров. Произвольный параметр context вернется в переменную $context.request.rawRequest.context по реакции на событие event!: conversationStarted.
state: vibertest
event!: conversationStarted
a: Вот: {{ $context.request.rawRequest.context }}
Допустим пользователь перейдет по следующей ссылке из чата:
viber://pa?chatURI=exampleBot&context=1234124&text=start
В этом случае пользователь будет автоматически перенаправлен в чат с ботом exampleBot, сработает событие conversationStarted. Бот выведет сообщение Вот: 1234124, а в поле ввода появится текст start.
Вы можете проверить, получили ли вы необходимые параметры:
var params;
if ($context.request.rawRequest.context) {
params = $context.request.rawRequest.context;
} else if ...