Записываем данные в таблицу с обновлением данных
Перед тем как продолжить, нам нужно вернуться в Google-таблицы и добавить столбец с названием ID перед Name
Должно получится так

Это нужно для того, чтобы мы могли взять ID LeadConverter и проверять данные по нему, так как это уникальный параметр, он никогда не повторяется.
Если ID повторяется - то данные будут перезаписываться, если ID такого нет, то данные будут добавляться на новую строку.
Переходим на сайт https://script.google.com/
Нужно заходить на сайт под тем же аккаунтом, что мы создали таблицу, иначе скрипт будет работать некорректно
Нажимаем на "+ Создать проект"

Даем название проекту "Ответы из Квиз бота"

Далее вставляем удаляем текст в рабочей области и вставляем следующий код:
function doGet(e)
{
var sheet = SpreadsheetApp.openById("ВСТАВЛЯЕМ ID ТАБЛИЦЫ ИЗ 1 ПУНКТА ИНСТРУКЦИИ");
var ID = e?.parameter?.ID;
var lastRowIndex = sheet.getLastRow() + 1;
var index = lastRowIndex;
for(let i = 2; i < lastRowIndex; i++) {
if(sheet.getRange("A" + i).getValue() == ID) {
index = i;
break;
}
}
sheet.getRange("A"+index).setValue(ID);
sheet.getRange("B"+index).setValue(e?.parameter?.Name);
sheet.getRange("C"+index).setValue(e?.parameter?.Channel);
sheet.getRange("D"+index).setValue(e?.parameter?.Room);
sheet.getRange("E"+index).setValue(e?.parameter?.Finishing);
sheet.getRange("F"+index).setValue(e?.parameter?.Floor);
sheet.getRange("G"+index).setValue(e?.parameter?.Budget);
}
Что мы сделали в этом скрипте?
Обозначили столбец, по которому нужно проверять данные, повторяются ли они
Перенесли все буквы из таблицы построчно
Пренесли все названия столбцов соотнеся их с буквами A = ID B = Name C = Channel D = Room E = Finishing F = Floor G = Budget
Шаблон для работы в своих проектах - будет ниже
function doGet(e)
{
var sheet = SpreadsheetApp.openById("ВСТАВЛЯЕМ ID ТАБЛИЦЫ ИЗ 1 ПУНКТА ИНСТРУКЦИИ");
var Название 1 столбца = e?.parameter?.Название 1 столбца;
var lastRowIndex = sheet.getLastRow() + 1;
var index = lastRowIndex;
for(let i = 2; i < lastRowIndex; i++) {
if(sheet.getRange("A" + i).getValue() == Название 1 столбца) {
index = i;
break;
}
}
sheet.getRange("A"+index).setValue(Название 1 столбца);
sheet.getRange("B"+index).setValue(e?.parameter?.Переменная_в_ячейке_B);
sheet.getRange("C"+index).setValue(e?.parameter?.Переменная_в_ячейке_C);
sheet.getRange("D"+index).setValue(e?.parameter?.Переменная_в_ячейке_D);
sheet.getRange("E"+index).setValue(e?.parameter?.Переменная_в_ячейке_E);
sheet.getRange("F"+index).setValue(e?.parameter?.Переменная_в_ячейке_F);
sheet.getRange("G"+index).setValue(e?.parameter?.Переменная_в_ячейке_G);
}
Скрипт готов, его осталось опубликовать и настроить передачу из бота.
Нажимаем на кнопку "Начать развертывание", далее "Новое развертывание"

Нажимаем на иконку и выбираем "Веб-приложение"

Заполняем "Описание" и выбираем "У кого есть доступ" - пункт "Все"

Далее, нажимаем "Начать развертывание"
Повляется окно с запросом доступов к нашим данным, нажимаем "Предоставить доступ"

В сплывающем окне, выбираем аккаунт, с которого мы создали скрипт

Далее, гугл будет ругаться, что мы предоставляем данные неизвестному приложению. Но так как это приложение мы создаем для личного пользования - бояться нечего :)
Нажмимаем на "Advanced" (В русской версии будет кнопка "Дополнительно")

Далее нажимаем на "Go to Ответы из Квиз бота (unsafe)" (В русской версии будет "Подолжить")

Далее в окне, нажимаем "Разрешить"

Далее у нас окрывается окно с ID развертывания и URL
Нам нужен URL, его мы будем использовать в боте и передавать данные
После внесения изменений и каждого нового развертывания, ID и URL меняются!
URL нужно будет заменять после внесений изменений в действии "Отправить через вебхук"
Нажимаем кнопку "ОК" после URL и нажимаем кнопку "Готово"

Переходим в LeadConverter
3. Создаем вебхук для отправки данных в Google-таблицы
Находим момент, в который мы будем записывать данные в Google-таблицы.
Мы будем записывать после того, как отправили сообщение оператору.
Создаем действие и выбираем "Отправить через вебхук".

Заполняем все поля:
URL-адрес обработчика: Вставляем скопированную ссылку из шага выше Отправить запрос методом: GET
Далее нажимаем на "+Добавить параметр" и заполняем построчно параметры запроса
Name значение {{first_name}} Channel значение {{channel.resource}} Room значение {{Комнаты}} Finishing значение {{Отделка}} Floor значение {{Этаж}} Budget значение {{Сумма}} ID значение {{id}}

Что мы сделали?
Взяли названия столбцов из таблицы и добавили в параметры, затем к каждому параметру записали переменные, данные которых будут загружаться в таблицу.
Нажимаем "Сохранить" и приступаем к тестированию
Первый запуск


Все работает :)
Второй запуск и указываем другие данные


Данные обновились :)
Теперь каждый пройденный квиз в боте, данные будут попадать и в личные сообщения операторов, и в Google-таблицу и если пользователь изменит первоначальные данные при повторном прохождении, данные просто обновятся
Если остались вопросы, всегда можно задать вопрос в техподдержку или в чат поддержки, мы всегда поможем :)
Last updated
Was this helpful?