Yandex Forms

Создайте форму в Yandex Forms с вашими вопросами https://forms.yandex.ru/ и далее следуйте инструкции ниже.

Настройка Yandex

Скрытые поля формы можно использовать для автоматической передачи в форму служебных или вспомогательных параметров. Это позволяет добавить к ответам пользователей дополнительную информацию для анализа и сбора статистики.

В нашем случае нужно обязательно добавить поле sb_id - в нем будет записан идентификатор пользователя в Salebot, чтобы после отправки формы данные отправлялись клиенту.

Чтобы настроить скрытый параметр, добавьте на форму вопрос типа Короткий текст с названием sb_id.

Для этого вопроса включите опцию Скрытый вопрос.

В поле Идентификатор вопроса укажите sb_id — это будет название GET-параметра.

Получите ссылку на форму и добавьте в конец URL-адреса GET-параметр ?sb_id=#{client_id}

Пример ссылки на форму с GET-параметром:

https://forms.yandex.ru/u/6191b18d99e21b1b45b9c82?sb_id=#{client_id}

Далее отправьте эту ссылку клиенту из бота.

При переходе по ссылке в скрытое поле sb_id автоматически будет подставляться значение из переменной #{client_id}.

sb_id - это обязательное поле, но вы таким же образом можете передавать и свои данные, например, utm_source (предварительно добавив это поле в форму, как и sb_id).

Пример ссылки с передачей данных с помощью поля в форме: https://forms.yandex.ru/u/6191b18d99e21b1b45b9c82?sb_id=#{client_id}&utm_source=telegram

Отправить свой колбек после заполнения формы

По умолчанию после отправки формы клиенту придет колбэк yandex_form_received.

Как настроить колбек со своим текстом, читайте далее. Для этого нужно создать еще одно скрытое поле с названием callback_text, все делаете аналогично как и sb_id.

Есть 2 варианта использования этого поля Замените стандартный колбек yandex_form_received для формы на ваш, для этого нужно указать Значение по умолчанию и не передавать параметр в ссылке (галочка Скрытый вопрос - установлена ), иначе он будет взят из ссылки.

Для отправки уникального колбека передавайте callback_text в ссылке со своим значением так же, как и sb_id, пример: https://forms.yandex.ru/u/6191b18d99e21b1b45b9c82?sb_id=#{client_id}&callback_text=test

Настройка вебхука

На странице нужной формы, перейдите во вкладку Интеграции

Далее внизу выбираем API -> Запрос JSON-RPC POST

В поле URL указываем ссылку https://chatter.salebot.pro/yandex_form/API_KEY где API_KEY - апи-ключ из настроек проекта в SaleBot

Пример ссылки: https://chatter.salebot.pro/yandex_form/43ad8d427073ea93377544cc4a408f89

В параметрах указываем sb_id и значение выбираем Ответ на вопрос, указываем sb_id

Для callback_text делаем тоже самое.

Так же можно добавить другие параметры, которые будут записаны в отдельные переменные клиента в SaleBot с указанными названиями. Например:

Чтоб сохранить все ответы в одну переменную, можно выбрать пункт Ответы на вопросы и выбрать все или, те, которые нужны, а также указать формат JSON, чтоб с ними легче было работать:

В итоге должна получиться такая настройка (параметры могут отличаться, если добавлены дополнительные):

Сохраняем изменения. На этом настройка завершена.

Пример значения переменной answers в диалоге клиента Salebot.

В настройках формы в эту переменную мы объединили ответы на все вопросы формы в формате Json

Для каждого вопроса формы можно указать отдельную переменную в настройках вебхука формы.

Выдать ссылку на форму в боте:

Пример 1

Пример 2

Последнее обновление