Closer
ru
Начать бесплатно
Документация

Справочный центр Closer

Руководства по созданию, публикации и продажам с Closer.

Интеграции: вебхуки и Google Таблицы

На этой странице

Интеграции в меню сайта передают то, что происходит на сайте, в другие инструменты в тот же момент:

  • Вебхуки отправляют новые заявки, новых подписчиков и оплаченные заказы в любое приложение, которое их принимает: Zapier, Make, n8n, Pabbly, вашу CRM или ваш собственный сервер.
  • Google Таблицы добавляют каждую новую заявку строкой в таблицу, без подключения аккаунта Google к Closer.

У каждого сайта свои интеграции. На один сайт можно добавить до 5 адресов (вебхуки и таблицы вместе).

Вебхуки

Вебхук — это адрес (URL), который Closer вызывает с данными о событии. Большинство сервисов автоматизации дают такой адрес: в Zapier это триггер Webhooks by Zapier → Catch Hook, в Make — модуль Webhooks → Custom webhook, в n8n — узел Webhook.

Добавить вебхук

  1. Откройте Интеграции.
  2. Вставьте адрес в поле Адрес вебхука. Он должен начинаться с https://.
  3. Отметьте нужные события:
    • Новая заявка: посетитель отправил контактную форму (или квиз с формой).
    • Новый подписчик: кто-то подписался через форму рассылки.
    • Новый заказ: заказ в вашем магазине оплачен.
  4. Нажмите Добавить вебхук.
  5. Closer один раз показывает секрет подписи (whsec_…). Скопируйте его и сохраните в принимающем приложении, если хотите проверять, что запросы действительно приходят от Closer. Если вы его потеряли, нажмите Новый секрет; старый сразу перестанет работать.
  6. Нажмите Отправить тест. Принимающее приложение получит пробное событие (с "test": true), а результат появится в Журнале доставки.

Позже можно включать и выключать события, нажимая на них, приостановить вебхук переключателем или Убрать его.

В целях безопасности Closer обращается только к публичным интернет-адресам. Адреса в частных или внутренних сетях (например, localhost, 10.x.x.x, 192.168.x.x) отклоняются.

Что отправляет Closer

Каждый запрос — это POST с телом в формате JSON:

{
  "id": "1f6c2a9e-…",
  "event": "inquiry.created",
  "created_at": "2026-10-22T09:30:00+00:00",
  "test": false,
  "site": { "id": 12, "name": "My site", "url": "https://mysite.closer.li" },
  "data": { … }
}

event — это inquiry.created, subscriber.created или order.paid. Что содержится в data:

Событие Поля в data
inquiry.created id, created_at, language, page (откуда отправлена форма, напр. /contact), name, email, fields (список key, label, value для каждого поля формы), quiz (ответы и результат или null)
subscriber.created id, email, name, language, source (форма), created_at
order.paid id, code, email, name, language, items (id, name, price), subtotal, discount, coupon_code, total, currency, mode (test, live или free), paid_at

Суммы указаны в центах (минимальных единицах валюты): 4500 при "currency": "EUR" означает 45,00 €.

Заголовки, которые отправляются с каждым запросом:

  • X-Closer-Event: название события.
  • X-Closer-Delivery: уникальный id события. Повторные попытки того же события сохраняют этот id, поэтому дубликаты можно игнорировать.
  • X-Closer-Signature: t=1761125400,v1=5d41…, где t — время отправки (секунды Unix), а v1 — HMAC-SHA256 от t + "." + исходное тело, вычисленный с вашим секретом подписи.

Чтобы проверить запрос, вычислите такой же HMAC со своим секретом и сравните его с v1, а запросы, у которых t старше нескольких минут, отклоняйте. На PHP:

[$t, $v1] = sscanf($_SERVER['HTTP_X_CLOSER_SIGNATURE'], 't=%d,v1=%s');
$body = file_get_contents('php://input');
$valid = hash_equals(hash_hmac('sha256', $t.'.'.$body, $secret), $v1) && abs(time() - $t) < 300;

Повторные попытки и журнал доставки

Принимающий адрес должен ответить статусом 2xx в течение 15 секунд. Если этого не произошло (ошибка, тайм-аут, 500), Closer пробует ещё два раза: примерно через 30 секунд и примерно через 5 минут. Перенаправления не выполняются, поэтому указывайте конечный адрес.

Журнал доставки показывает последние 50 запросов сайта: время, событие, адрес, номер попытки (1/3, 2/3, 3/3), код статуса, которым ответил адрес, и ошибку, если она была.

Google Таблицы

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

Настройка (около 3 минут)

  1. Создайте новую таблицу в Google Таблицах (быстрее всего открыть sheets.new). Заявки попадают на её первый лист.
  2. В таблице откройте Расширения → Apps Script (Extensions → Apps Script).
  3. Удалите пример кода в редакторе. В Closer в разделе Google Таблицы нажмите Скопировать скрипт и вставьте его в редактор Apps Script. Нажмите Сохранить (значок дискеты).
  4. Нажмите Начать развертывание → Новое развертывание (Deploy → New deployment). Нажмите на шестерёнку рядом с Выберите тип (Select type) и выберите Веб-приложение (Web app). Укажите:
    • Запуск от имени (Execute as): От моего имени (Me)
    • У кого есть доступ (Who has access): Все (Anyone)
  5. Нажмите Развернуть (Deploy). Google попросит предоставить доступ скрипту: выберите свой аккаунт. Если появится «Приложение не проверено Google», нажмите Дополнительные настройки → Перейти на страницу (ваш проект) (Advanced → Go to …) и Разрешить (Allow). Это ваш собственный скрипт, работающий в вашем аккаунте.
  6. Скопируйте URL веб-приложения (Web app URL). Он выглядит так: https://script.google.com/macros/s/…/exec.
  7. В Closer вставьте его в поле URL веб-приложения и нажмите Подключить. Closer сразу отправит тестовую строку; проверьте, что она появилась в таблице (её можно удалить).

Кнопкой Отправить тестовую строку можно в любой момент проверить подключение. Переключатель приостанавливает таблицу, а кнопка с корзиной отключает её.

Держите URL веб-приложения в секрете: любой, у кого он есть, может добавлять строки в эту таблицу. Если он утёк, создайте новое развертывание в Apps Script и подключите новый URL.

Полезно знать

  • В таблицу попадают только заявки. Для подписчиков и заказов используйте вебхук (например, в Zapier или Make — они тоже умеют записывать в Google Таблицы).
  • Если позже вы измените скрипт, используйте Начать развертывание → Управление развертываниями → Изменить → Новая версия (Deploy → Manage deployments → Edit → New version), чтобы URL остался прежним.
  • Текст, который начинается как формула (=, +, -, @), записывается как обычный текст, поэтому данные из формы не могут запустить формулу в вашей таблице.
  • Каждая строка добавляется в момент поступления заявки. Неудачные попытки повторяются так же, как у вебхуков, и отображаются в Журнале доставки.
  • Заявки сверх месячного лимита вашего тарифа сохраняются во Входящих, но не передаются в интеграции.

Не нашли ответ?

Напишите нам, и мы ответим в течение одного рабочего дня.

Контакты