Поиск данных по таблице и передача их боту
У нас есть исходные данные в таблице

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

Даем название проекту "Поиск данных по таблице. Квиз"
Далее вставляем удаляем текст в рабочей области и вставляем следующий код:
function doGet(e) {
var sheet = SpreadsheetApp.openById("ВСТАВЛЯЕМ ID ТАБЛИЦЫ ИЗ 1 ПУНКТА ИНСТРУКЦИИ");
// Принимаем значение, которое будем искать
var Value = e?.parameter?.Value;
// Принимаем столбец, в котором будем искать ("A", "B", "C"... "Z")
var Column = e?.parameter?.Column;
var lastRowIndex = sheet.getLastRow() + 1;
var index = lastRowIndex;
// Ищем значение по всем строкам таблицы (со 2й строки, в первой - заголовки)
// если нет заголовков можно поменять let i = 2 на let i = 1
// здесь
for(let i = 2; i < lastRowIndex; i++) {
if(sheet.getRange(Column + i).getValue() == Value) {
index = i;
break;
}
}
let response = {}
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
.split("")
.forEach(el => {
response[el] = sheet.getRange(el + index).getValue();
})
var obj = {
response,
}
return ContentService.createTextOutput(JSON.stringify(obj)).setMimeType(ContentService.MimeType.JSON);
}
Что мы сделали в этом скрипте?
Ничего больше делать не надо :) Просто копируем шаблон, вставляем ID таблицы и опубликовываем скрипт :) Все настройки по поиску мы будем указывать в LeadConverter, когда будем собирать бота.
Скрипт готов, его осталось опубликовать и настроить передачу из бота.
Нажимаем на кнопку "Начать развертывание", далее "Новое развертывание"

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

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

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

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

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

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

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

Переходим в LeadConverter
2. Создаем бота и вебхук для отправки данных в Google-таблицы
Первым делом, создаем блоки для менеджера, чтобы бот вначале получал информацию, что ищем и потом искал в Google-таблице
Первым делом создаем блок "Сообщение" с элементом "Вопрос" и выбираем тип ответа пользователя "Целое число"

Создаем действие и выбираем "Отправить через вебхук".

Заполняем все поля:
URL-адрес обработчика: Вставляем скопированную ссылку после публикации скрипта Отправить запрос методом: GET Сохранить результат: return
Далее нажимаем на "+Добавить параметр" и заполняем построчно параметры запроса
Value значение {{id_child}} Column значение A

Что мы сделали?
В Value указали данные, которые мы хотим найти В Column указали колонку, в которой мы ищем данные (От A до Z). Буква на английском языке.
Нажимаем "Сохранить" Далее, нам нужно полученный ответ от Google-таблицы вывести одним сообщением
Создаем блок "Сообщение" и пишем текст
Найдены данные!
ID: {{return.response.A}}
Name: {{return.response.B}}
Channel: {{return.response.C}}
Room: {{return.response.D}}
Finishing: {{return.response.E}}
Floor: {{return.response.F}}
Budget: {{return.response.G}}
Сохраняем, соединяем блоки и приступаем к тестированию.


Поиск по таблицам готов :) Теперь можно разобрать вопросы, которые могут возникнуть
Как искать данные по любому столбцу?
Нужно посмотреть в таблице, какая буква у этого столбца и указать ее в действии "Отправить через вебхук" в параметрах Column


Как правильно записать ответ от Google-таблиц?
У нас есть ответ по столбцу A Выглядит он так
{{return.response.A}}
Если мы заменим букву A на G, то мы "вытащим" ответ от Google-таблиц из столбца G
{{return.response.G}}
Если в вебхуке, заменяется переменная в пункте "Сохранить в переменную", то запись изменится так: {{переменная из вебхука.response.A}}
И так можно вытащить ответ из каждого столбца, если там заполнены данные
У вас остались вопросы? Задавайте их в нашу техподдержку 👇
💟Как задать вопрос в поддержку?Last updated
Was this helpful?