Подключаем базу данных к Тильде

Создать и подключить свою базу данных к Тильде можно с помощью Гугл таблицы и Google Apps Script. Таблица будет выступать в роли бесплатной базы данных, а Google Apps Script - это исполняющий код, который будет работать с данными.

Как создать базу данных без покупки сервера?

Вне зависимости от вашей задачи создать базу данных и подключить ее к сайту на Тильде можно абсолютно бесплатно, используя только Гугл таблицу. Как, например, задача проверки уникальности кода, которая поступила мне на днях.
Для ее выполнения я написал:
  • Короткую модификацию на Тильде. Она перехватывает данные с формы обратной связи и отправляет их в Гугл таблицу,
  • В Гугл таблице данные записываются, а Google Apps Script видит новую запись и активирует проверку.
Сайт получает ответ от Гугл Таблицы и показывает попап с информацией результата.

Наглядный пример реализации смотрите на странице - Проверка оригинальности товара по коду на сайте без сервера.

Как сделать базу данных самому?

Чтобы сделать базу данных и подключить ее к сайту на Тильде или Битрикс24 вам потребуется Гугл таблица. Если использовать Яндекс, то ничего не получится, Яндекс Диск не дает нужный и ключевой функционал о котором пойдет речь ниже.

Создаем Базу данных

  1. Заходим на Гугл Диск - https://drive.google.com/.
  2. Создаем Гугл Таблицу
  3. Заносим в нее все наши данные
  4. Открываем Расширения -> Apps Script

Поиск и сверка данных в таблице - Apps Script

После того как мы создали свою Базу данных - Гугл Таблица, и начали подключать к ней Apps Script, который выступает связующим звеном между вашим сайтом и БД. Разберем подробнее, что нужно делать с Apps Script.
  1. В Apps Script у нас слева файлы, справа большое окно - поле для ввода скрипта. Удаляем, пустую функцию, которая там уже написана.
  2. И пишем свой скрипт, который будет получать запрос от сайта. Например, сайт отправляет в Гугл таблицу такой запрос:
Head: 
  {У тебя есть такая запись?} 
Body: 
  {ZZ4B4UVL5V}
Гугл скрипт получает его и выполняет поиск по таблице. Отдает сайту результат, например:
{
  "status":"success",
  "code":"1",
  "reason":"такой код у меня есть, все отлично!"
}
Функционал может быть совершенно разным, зависит все от вашей потребности.

Скрипт вам придется написать самостоятельно, потому что он уникален для каждого проекта. Или обратитесь ко мне за помощью - @bortsov_mt.

Подключаем Apps Script к вашему сайту

Чтоб сайт отправлял запросы не в пустоту ему нужен адрес. Значит начинаем развертывание - почувствуйте себя программистом, который деплоит на прод через воркфлоу гита.
  1. Начать развертывание -> Новое развертывание
  2. Выберите тип "Веб-приложение", Запуск от имени "От моего имени", У кого есть доступ "Все" -> Начать развертывание
  3. В открывшемся окне "Предоставить доступ"
  4. Будет страшное окно - не пугайтесь, вы предоставляете доступ к своему же приложению. Нажимаем Advanced -> Go to {название вашего проекта} -> Continue
  5. И вот она долгожданная ссылка на ваше Веб приложение. На нее и будем слать запрос из Тильды.
Если внесли изменения в Apps Script, то новое развертывание лучше не делать, иначе придется менять ссылку в Тильде. Для того, чтобы изменения в скрипте заработали "Начать развертывание" -> Управление развертыванием -> Далее смотрим скрин.

Модификация для сайта на Тильде / Битрикс24

Осталось сделать отправку запросов в Apps Script. Я для этого делал форму обратной связи, к ней подключал модификацию JavaScript в блок T123, которая перехватывает отправку данных с этой формы и отправляет их на адрес, который получили после развертывания Apps Script. Пример реализации ниже:
<script>
(function () {
  'use strict';

  var APPS_SCRIPT_URL = 'https://script.google.com/macros/s/ВАШ_ID/exec';

  // Пример id блока: '#rec123456789 form'
  var FORM_SELECTOR = '#rec123456789 form';

  function getFormData(form) {
    var formData = new FormData(form);
    var data = {};

    formData.forEach(function (value, key) {
      if (data[key]) {
        if (!Array.isArray(data[key])) data[key] = [data[key]];
        data[key].push(value);
      } else {
        data[key] = value;
      }
    });

    data.page_url = window.location.href;
    data.page_title = document.title;
    data.sent_at = new Date().toISOString();

    return data;
  }

  function sendToAppsScript(data) {
    return fetch(APPS_SCRIPT_URL, {
      method: 'POST',
      headers: {
        'Content-Type': 'text/plain;charset=utf-8'
      },
      body: JSON.stringify(data)
    });
  }

  document.addEventListener('submit', function (event) {
    var form = event.target;

    if (!form.matches(FORM_SELECTOR)) return;

    var data = getFormData(form);

    sendToAppsScript(data)
      .then(function (response) {
        return response.text();
      })
      .then(function (result) {
        console.log('[Tilda → Apps Script]', result);
      })
      .catch(function (error) {
        console.error('[Tilda → Apps Script] Ошибка:', error);
      });

    // стандартная отправка формы Тильды продолжит работать.
  }, true);
})();
</script>
Это скрин. Смотри пример реализации модификации на странице проверки оригинала

Зачем может еще потребоваться своя база данных на сайте на Тильде?

Эта модификация применима не только для проверки оригинальности товара.
По сути, это универсальная система: пользователь вводит код → сайт проверяет его в базе → показывает результат.

Где еще можно использовать:
  • Проверка гарантии. Пользователь вводит серийный номер, а сайт показывает: гарантия активна, истекла или товар не найден.
  • Активация гарантии. Покупатель вводит код после покупки, и система фиксирует первую активацию товара.
  • Проверка билетов. Подходит для мероприятий, вебинаров, закрытых встреч: билет действителен, уже использован или не найден.
  • Проверка сертификатов. Подарочные сертификаты, купоны, промокоды, клубные карты.
  • Открытие доступа к курсу по коду. Код из Телеграм-канала, сториз или рилз, код из треадса, упаковки/книги или офлайн-продукта открывает доступ к уникальным материалам.
  • Проверка дилерского товара. Клиент проверяет, куплен ли товар у официального дилера.
  • Регистрация участника. Код из приглашения подтверждает право на участие в закрытом событии.
  • Проверка документов. Сертификаты обучения, справки, пропуска, внутренние документы.
  • Антифрод для розыгрышей. Один код можно использовать только один раз, повторные попытки фиксируются.

Главная идея: модификация подходит везде, где нужно быстро проверить уникальный код без полноценного личного кабинета, сервера и сложной разработки.
Больше кода для Tilda в ТГ-канале
Поблагодари за код - подпишись https://t.me/breeze_tilda