Webhook позволяет 1С получать уведомления от внешних сервисов в реальном времени: новые заказы с маркетплейсов, оплаты, изменения статусов.
Что такое Webhook
Webhook — это HTTP-запрос, который внешний сервис отправляет на ваш URL при наступлении события. В отличие от опроса (polling), вам не нужно постоянно запрашивать данные — сервис сам уведомит вас.
Примеры использования
- Новый заказ на Ozon/Wildberries → создание заказа в 1С
- Оплата в банке → изменение статуса счёта
- Статус доставки СДЭК → обновление документа
- Новая сделка в CRM → создание контрагента
Создание обработчика Webhook
- Создайте HTTP-сервис в конфигураторе
- Добавьте шаблон URL (например, «/webhook»)
- Добавьте метод POST
- Напишите обработчик
Пример кода
Функция ОбработатьWebhook(Запрос)
// Получаем тело запроса
ТелоЗапроса = Запрос.ПолучитьТелоКакСтроку();
// Парсим JSON
ДанныеJSON = JSON.Прочитать(ТелоЗапроса);
// Обрабатываем событие
ТипСобытия = ДанныеJSON.event_type;
Если ТипСобытия = "order.created" Тогда
СоздатьЗаказИзWebhook(ДанныеJSON.data);
ИначеЕсли ТипСобытия = "payment.received" Тогда
ОбработатьОплату(ДанныеJSON.data);
КонецЕсли;
// Возвращаем 200 OK
Ответ = Новый HTTPСервисОтвет(200);
Возврат Ответ;
КонецФункции
Важные моменты
- Отвечайте быстро — webhook должен вернуть 200 за секунды
- Обрабатывайте асинхронно — сохраните данные и обработайте в фоне
- Проверяйте подпись — если сервис её присылает
- Обрабатывайте дубли — webhook может прийти несколько раз
Асинхронная обработка
Чтобы не блокировать webhook, сохраняйте запрос и обрабатывайте позже:
// В обработчике webhook
НоваяЗапись = РегистрыСведений.ОчередьWebhook.СоздатьМенеджерЗаписи();
НоваяЗапись.Период = ТекущаяДатаСеанса();
НоваяЗапись.Данные = ТелоЗапроса;
НоваяЗапись.Обработан = Ложь;
НоваяЗапись.Записать();
// Регламентное задание обработает очередь
Публикация и доступ
- Опубликуйте HTTP-сервис на веб-сервере
- Откройте порт 443 (HTTPS обязателен для большинства сервисов)
- Укажите URL в настройках внешнего сервиса
Нужна настройка webhook?
Настрою приём уведомлений от маркетплейсов, CRM и других сервисов.
Обсудить в Telegram