Магия автоматизации на примере отслеживания изменения статуса заказа в гугл-таблице
Я невероятно гожусь собой, потому что это совершенно новый уровень профессионализма в области автоматизации и чат-ботов, как мне кажется!
Автоматическое уведомление клиента об изменении статуса заказа.
Рассказываю как это работает:
⚙ к гугл-таблице подключается специальный скрипт, по которому отправляется запрос в систему на активацию чат-бота (чтобы уведомить клиента)
⚙ дополнительно в гугл таблице настроивается так называемый триггер, по которому будет активироваться этот скрипт. В частности - это изменение значения в любой ячейке таблицы
⚙ в боте, который запускается от команды в скрипте настраивается декодирование информации из таблицы, далее обрабатываем информацию, в частности сохраняем нужные нам параметры - ссылку на переписку с клиентом и трек-номер для отслеживания.
⚙ в боте через магию регулярных выражений "выковыриваем" из ссылки на пересписку с клиентом уникальный VK ID клиента, чтобы бот понимал, какому пользователю отправить сообщение в личку от лица ВК сообщества (именно так в ВК работают чат-боты).
⚙ через бота отправляем то самое сообщение нужному клиенту с уведомлением об отправке его заказа с правильным трек-номером.
Что важно учитывать при такой автоматизации:
1) ссылки на диалоги с клиентом должны быть указаны в определенном едином формате, чтобы регулярное выражение работало.
В частности, на этом примере можно использовать ссылки на переписку с клиентом от лица сообщества не зависимо от того, какие там доп.параметры в этой ссылке содержатся (метки/фильтры/группировки), главное, что там есть элемент sel=, после которого указан нужный нам VK ID.
2) в таблице задано отслеживание определенного столбца и определенного листа, следовательно:
❌ изменение структуры таблицы нарушит работу всей автоматизации, если статус заказа, ссылка на переписку и трек номер окажутся после таких изменений уже в столбцах с другим названием (B / D / AA )
❌ переименование листа (вкладки табилички) приведет к тому, что система вообще перестанет отслеживать изменения в этом листе, поэтому такое изменение требует правок в самом скрипте.
Либо убираем ограничение с названия листа, но тогда держим в голове, что на ЛЮБОМ листе в стобце В будет срабатывать чат-бот на слово "Отправлено"
3) Нужно аккуратно и последовательно заполнять таблицу, понимая КАК это работает и какие будут последствия.
В частности, на данном примере крайне важно сначала добавить трек-номер в таблицу, и потом уже только менять статус заказа на "Отправлен". Если сделать наоборот, то клиенту уйдет сообщение без трек-номера, т.к. на момент изменения статуса заказа в ячейке с трек-номером информация отсутствовала.
Конечно, таких "косяков" можно избежать, настроив дополнительно работу бота и скрипта, но тут я больше про то, как важно всегда учитывать различные варианты развития событий.
Если говорить о реальном клиенте, для которого был разработан данный чат-бот и скрипт, то в случае изменения статуса на "Отправлено", бот сначала проверяет, есть ли значение в столбце "трек номер", и далее:
- Если да, то отправляет сообщение покупателю о том, что его заказ был отправлен и отследить его можно вот по этому номеру ХХХ
- Если нет, то отправляет сообщение менеджеру о том, что сообщение клиенту НЕ БЫЛО отправлено т.к. отсуствовал трек-номер и далее выдает инструкцию, что нужно сделать, чтобы отправить автоматическое уведомление, а именно:
1) Внесите трек номер в таблицу, далее
2) Измените статус заказа в таблице на другой и
3) Заново поставьте статус Отправлено
Либо перейдите в диалог с клиентом и напишите самостоятельно: [ссылка на диалог с клиентом]
А для какой задачи вы бы использовали такую функцию отслеживания изменений в табличке?