Google-формы

Данная инструкция позволит Вам настроить отправку данных из Google Form в бота.

Запрос к Google -формам входит в суточный лимит сообщений.

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

Как отправить данные из Google Form в бота

Сначала создайте форму как обычно, а потом добавьте в конце формы вопрос и в поле Вопрос введите “client_id” как в примере или, если есть желание скрыть факт передачи некоего идентификатора, по которому можно узнать пользователя, введите “Номер анкеты”.

После этого добавьте описание. Для этого нужно нажать на 3 вертикальные точки и выбрать в списке пункт Описание.

После чего напишите в появившемся поле текст, предупреждающий клиентов, что это поле трогать не нужно, а также сделайте этот вопрос обязательным. В это поле будем добавлять идентификатор клиента в salebot - client_id .

Следующим шагом загрузите скрипты, следуя рекомендациям ниже, и после этого создайте триггер, который будет отправлять результаты заполнения формы в бот. Если скрипты еще не будут заданы, то создать триггер вы не сможете и выбрать функцию при его создании будет невозможно.

Установка скриптов

Вам потребуются два файла:

Затем зайдите в Редактор скриптов:

В Редакторе скриптов -> Триггеры добавьте новый триггер со следующими настройками:

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

Также добавьте файл HTML, нажав по указанной кнопке, и назовите его sidebar. После этого по аналогии удалите все содержимое и скопируйте в него содержимое второго файла.

После этого нажмите на файл Код.gs и найдите строчку вида:

var url = 'https://chatter.salebot.pro/google_form/Ключ_доступа_к_APISalebot'

Ориентировочно это будет 46 строка. после знака равенства в кавычках записана ссылка. Нужно заменить Ключ_доступа_к_APISalebot на Ваш ключ доступа к API в проекте Salebot.

После этого строка будет выглядеть так:

var url = 'https://chatter.salebot.pro/google_form/c3c5af1e34dd0603a3dfcf1cfbe35'

Взять Ключ доступа к API вы можете в настройках проекта Salebot. Нужно зайти в настройки и в конце списка увидите это поле:

После этого нужно назвать проект. Для удобства назовите его Salebot. Для переименования проекта нужно нажать на строку Проект без названия.

После этого сохраните проект, нажав на иконку сохранить.

После сохранения нажмите кнопку выполнить.

Спустя некоторое время появится окно с запросом авторизации. Нажмите Проверить разрешения.

Откроется дополнительное окно, в котором нужно выбрать аккаунт, где была создана форма. После чего окно будет выглядеть так:

Нажимаем Дополнительные настройки.

Выбираем пункт Перейти на страницу "Salebot" (небезопасно) и в нижней части нового окна жмем кнопку Разрешить.

После этого вернитесь на окно со скриптом и увидите такие сообщения.

Осталось подключить скрипт. Вернитесь на страницу формы и обновите страницу. Должна появиться иконка, при нажатии на которую появится надпись Salebot. Нажмите на название левой кнопкой мыши.

В появившемся окне нажмите на пункт Установить.

Как настроить автоматическое заполнение client_id

Прежде чем переходить к следующему шагу, обратите внимание на ссылку той страницы, в которой сейчас работали. Она имеет такой вид: https://docs.google.com/forms/d/1lKSCvTfQb54DtFkk1YQGKj_WxOUrPPU6dhBvM6mDGPw/edit

Выделенная часть - это идентификатор опроса, который позволит отличить ответы на разные формы между собой. Именно эта часть ссылки при получении колбека после отправки формы попадет в переменную google_form_id .

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

В открывшемся меню введите любую информацию в качестве ответа на вопрос client_id после чего нажмите кнопку Получить ссылку. Обратите внимание на подсказку слева внизу.

После этого подсказка поменяет вид:

Нажмите копировать ссылку и получите ссылку такого вида:

https://docs.google.com/forms/d/e/1FAIpQLSes-3-UbSrC6BHnEio0oti1CwdF433pwunVjHQWlSumTpp0Ww/viewform?usp=pp_url&entry.644014553=1

Нам нужна последняя часть ссылки entry.644014553=1. Это идентификатор поля и значение, которое необходимо в него поместить. При отправке клиенту ссылки на опрос необходимо в боте создать переменную ссылки, добавить к ней в нужном месте client_id. Выглядеть это будет примерно так:

google_form_url = ‘https://docs.google.com/forms/d/e/1FAIpQLSes-3-UbSrC6BHnEio0oti1CwdF433pwunVjHQWlSumTpp0Ww/viewform?usp=pp_url&entry.644014553=#{client_id}'

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

На коллбэк вы можете настроить реакцию бота (либо на любой колбек от форм, либо на конкретный опрос)

Имеет следующий вид:

google_form_received (неизменяемая часть) + идентификатор формы

Пример:

google_form_received 1lKSCvTfQb54DtFkk1YQGKj_WxOUrPPU6dhBvM6mDGPw

Справа от диалога добавятся новые переменные:

google_form_url - ссылка на опрос с предварительно заполненным полем с client_id

google_form_id - идентификатор формы, имеющая такой вид: 1lKSCvTfQb54DtFkk1YQGKj_WxOUrPPU6dhBvM6mDGPw

google_form_answers - ответы из формы в виде словаря, чтобы можно было обратится к отдельным ответам, если это необходимо

google_form_submission_time - время завершения заполнения формы.

Видеоинструкция

Last updated