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

Как это работает
- Доставка ставится в очередь и не блокирует работу сайта — событие (например, оформление заказа) завершается мгновенно независимо от скорости ответа вашего сервера.
- Каждый запрос подписан (HMAC) — так принимающая сторона может убедиться, что запрос действительно пришёл от VarCloud, а не от кого-то ещё.
- Если ваш сервер не ответил или ответил ошибкой, доставка автоматически повторяется.
Формат запроса
POST (по умолчанию)
Тело запроса — 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.
Заголовки запроса:
Content-Type: application/json
X-VarCloud-Signature: sha256=<hmac-подпись тела запроса секретом вебхука>
GET
Тело запроса не отправляется — вместо этого event, timestamp и все custom_params передаются как параметры строки запроса:
GET https://example.com/hook?event=order.created×tamp=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 — вебхук перестанет получать новые события, но сама настройка сохранится, и её можно будет включить обратно в любой момент.