VarCloud VarCloud
Интеграции

Вебхуки

Уведомляйте внешние сервисы о новых заказах, публикациях и комментариях в реальном времени.

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

Вебхук — это URL, на который VarCloud автоматически отправляет POST-запрос с данными о событии на вашем сайте, как только оно происходит. Пригодится для интеграции с внешними сервисами (уведомления в мессенджер, синхронизация с другой системой, собственный скрипт-обработчик и т.д.).

Где находится

Админка → Webhooks — доступно для сайтов любого типа: блог, магазин или гибридный.

Создание вебхука

Нажмите Создать и заполните:

Поле Пояснение
URL Обязательно. На этот адрес будет отправлен подписанный запрос.
HTTP-метод POST (по умолчанию) — данные отправляются в теле запроса в формате JSON. GET — данные передаются в строке запроса (query string); удобно для сервисов, которые принимают только GET-уведомления.
Событие Обязательно. На выбор: «Новый заказ», «Запись опубликована», «Новый комментарий».
Свои параметры Необязательные пары «ключ — значение», которые будут добавлены к каждой доставке этого вебхука (например, идентификатор канала, токен или любой другой статический параметр, который ожидает принимающая сторона).
Активен Переключатель, по умолчанию включён.

Чтобы получать уведомления о нескольких типах событий, создайте отдельный вебхук на каждое событие — один вебхук отвечает за одно событие.

Список вебхуков и форма создания нового вебхука
Список вебхуков

Как это работает

  • Доставка ставится в очередь и не блокирует работу сайта — событие (например, оформление заказа) завершается мгновенно независимо от скорости ответа вашего сервера.
  • Каждый запрос подписан (HMAC) — так принимающая сторона может убедиться, что запрос действительно пришёл от VarCloud, а не от кого-то ещё.
  • Если ваш сервер не ответил или ответил ошибкой, доставка автоматически повторяется.

Формат запроса

POST (по умолчанию)

Тело запроса — JSON следующего вида:

json
{
    "event": "order.created",
    "payload": {
        "order_id": 42,
        "total": "3990.00",
        "customer_email": "buyer@example.com"
    },
    "custom_params": {
        "channel": "orders-feed"
    },
    "timestamp": "2026-07-15T11:12:00+00:00"
}
  • event — тип события (order.created, post.published или comment.created).
  • payload — данные самого события; набор полей зависит от типа события (например, у заказа это order_id, сумма, товары, у записи — заголовок и URL).
  • custom_params — ваши собственные пары «ключ — значение», заданные в настройках вебхука (пустой объект, если не заданы).
  • timestamp — время отправки в формате ISO 8601.

Заголовки запроса:

code
Content-Type: application/json
X-VarCloud-Signature: sha256=<hmac-подпись тела запроса секретом вебхука>

GET

Тело запроса не отправляется — вместо этого event, timestamp и все custom_params передаются как параметры строки запроса:

code
GET https://example.com/hook?event=order.created&timestamp=2026-07-15T11%3A12%3A00%2B00%3A00&channel=orders-feed

Заголовок X-VarCloud-Signature присутствует и в GET-запросах — подпись всегда считается от того же JSON-тела, что было бы отправлено при методе POST, так что её можно проверять одинаково независимо от выбранного метода.

Проверка подписи

Секрет вебхука виден на странице вебхука в админке. Чтобы убедиться, что запрос действительно пришёл от VarCloud, посчитайте hash_hmac('sha256', <тело запроса>, <секрет>) на своей стороне и сравните с частью заголовка X-VarCloud-Signature после sha256=.

Отключение

Снимите переключатель Active — вебхук перестанет получать новые события, но сама настройка сохранится, и её можно будет включить обратно в любой момент.