Перейти к основному содержимому

Передача параметров

Описание

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