Передача параметров
Описание
Иногда может понадобиться перенаправить пользователя по ссылке к определенному боту или же в определенную часть сценария бота. Например, когда нужно направить клиента на персональные материалы или функции, которые предлагает чат-бот. Для этого в 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 ...