Век живи – век учись. Калькулятор доставки на Tilda

В отдел разработки VIPRO обратился знакомый клиент с просьбой помочь с программированием калькулятора доставки на новом сайте. Со слов клиента, работы совсем немного, вся логика калькуляции уже прописана. Оставалось запрограммировать отправку e-mail с красивым PDF-файлом, содержащим расчёты данных из формы калькулятора. Но дьявол, как водится, – в деталях. Сайт клиента – на Tilda. Конструкторе сайтов, который не поддерживает никакие серверные вычисления и операции, не имеет доступного хранилища файлов.

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

Предупреждение:

В этом кейсе мы поделимся опытом решения необычной задачи при помощи сервисов от Google. С учетом вводимых компанией ограничений для пользователей из России, при выполнении этой задачи мы не столкнулись с какими-либо блокировками со стороны Google и, надеемся, не столкнемся :)

Какие были наши варианты?

  1. Программировать на JavaScript, выполняемом на стороне посетителя. Этот вариант очень плох, хотя бы тем, что браузерный JavaScript не может отправлять письма.
  2. Уговорить клиента арендовать любой, хотя бы самый дешёвый хостинг, поддерживающий серверные языки программирования. И либо перенести на него сайт (к слову, состоящий из одной этой формы), либо использовать в паре с Tilda.

Клиент был непреклонен, аргументируя тем, что большая часть работы уже проделана:

  • Форма отправляет данные новой строкой в таблицу Google Sheets (Tilda так умеет);
  • В таблице уже настроены все формулы вычисления.

А остаётся лишь:

  • При добавлении новой строки в таблицу, копировать её на другой лист, где её данные подхватят ячейки с формулами расчётов;
  • Скопировать результаты расчётов, подставить в шаблон и сгенерировать красивый брендированный PDF;
  • Отправить PDF на почту посетителя, заполнившего форму.

Нам это показалось уже совсем нереальным в рамках скромного бюджета. Хотелось намекнуть клиенту, что он может самостоятельно завершить начатую работу, используя облачные решения вроде Zapier, объединяющие разные сервисы и реагирующие на события в них. Но тут мы открыли для себя Apps Script.

Что такое Apps Script?

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

Что это нам дало?

Имея возможность программировать в среде, нативно объединяющей Gmail, Google Sheets и Google Drive и поддерживающей триггеры событий – мы смогли в рамках бюджета реализовать все пожелания клиента:

  1. При появлении новой строки в таблице – копировать её данные на другой лист;
  2. Вычисленные формулами данные подставлять в ячейки третьего листа, в котором мы визуально повторили фирменный бланк;
  3. Генерировать из третьего листа PDF-файл с номером заявки в качестве имени. Эти файлы сохраняются в папке на Google Drive;
  4. Отправлять письмо с прикреплённым файлом с официальной почты компании. При этом все письма сохраняются в папке отправленных.

Заключение

Мы успешно и в полной мере реализовали задачу, которая ни с первого, ни со второго, ни с третьего раза не казалась нам выполнимой в заданных условиях. Это оказался очень полезный урок – для восприятия иногда полезно игнорировать слово "Невозможно". Клиент доволен, а мы открыли новые возможности.

Понравилась статья?
16
1

Читайте где
удобно

А ещё наши публикации можно читать, не отрываясь от работы

Всего-то нужно подписать свой рабочий почтовый ящик на рассылку.
строго без спама
Сертифицированное
агентство
Яндекс.Директ
Сертифицированный
партнер
Google AdWords
Сертифицированный
партнер
myTarget
Член агентского клуба Ruward