Перейти к основному содержимому

WhatsApp

Как отправлять сообщения в WhatsApp из любой системы по вебхуку

Ваш магазин, CRM или сервис записи уже знают, когда оформлен заказ, не прошла оплата или клиент записался на приём. Вебхук может превратить каждое такое событие в сообщение в WhatsApp, без кода с вашей стороны. Рассказываем, как это спланировать, защитить и протестировать.

Команда MonoChat Обновлено: 7 мин чтения

На этой странице
  1. Что такое вебхук и чем он не является
  2. Какие события заслуживают сообщения в WhatsApp
  3. Какие правила WhatsApp действуют
  4. Защитите URL вебхука
  5. Где создать вебхук в Shopify и WooCommerce
  6. Тестируйте на реальных запросах до запуска
  7. Как это сделать в MonoChat
  8. Источники

Чтобы отправить сообщение в WhatsApp, когда что-то происходит в другой системе, направьте вебхук этой системы на получателя, который находит клиента по номеру телефона и отправляет одобренный шаблон WhatsApp. Ваш магазин, CRM или сервис записи уже отправляют вебхуки о заказах, оплатах и записях; вся работа в том, чтобы выбрать события, которые заслуживают сообщения, написать шаблоны, защитить URL и протестировать всё на реальных запросах до того, как клиенты что-то увидят.

В этом руководстве — план, правила WhatsApp, которые на него влияют, и то, как собрать всё в MonoChat в сценарии, который запускается со своего собственного URL вебхука.

Что такое вебхук и чем он не является

Вебхук — это HTTP-запрос, который одна система отправляет на указанный вами URL, когда происходит событие. Shopify может отправить его при создании заказа, WooCommerce — при изменении заказа, CRM — когда сделка переходит на другой этап, сервис записи — когда клиент записался. Запрос содержит детали события, обычно в формате JSON: номер заказа, сумму, имя клиента и, что важнее всего для WhatsApp, номер телефона.

Сам по себе вебхук ничего клиенту не отправляет. Кто-то должен принять запрос, решить, что с ним делать, и вызвать WhatsApp Business API. Этот «кто-то» — либо код, который вы пишете и размещаете сами, либо платформа автоматизации, которая выдаёт URL вебхука и позволяет собрать остальное без кода.

Какие события заслуживают сообщения в WhatsApp

Не каждое событие стоит сообщения. Клиент, получивший пять уведомлений об одном заказе, начинает игнорировать их все. Выбирайте моменты, которых клиент действительно ждёт:

СобытиеСообщениеКатегория шаблона
Заказ создан или оплаченПодтверждение с номером заказа и следующими шагамиСлужебная
Оплата не прошла или ожидаетсяКороткое сообщение и способ оплатить повторноСлужебная
Заказ отправленСлужба доставки и ссылка для отслеживанияСлужебная
Создан заказ с оплатой при полученииВопрос: подтвердить заказ, изменить адрес или отменитьСлужебная
Запись создана, изменена или назначена на завтраДата, время, место и способ перенести записьСлужебная
Сделка выиграна или проиграна в CRMПередача менеджеру по работе с клиентом или вопрос для обратной связиСлужебная или маркетинговая, в зависимости от текста
Брошенная корзинаНапоминание, возможно с предложениемМаркетинговая

Категорию Meta определяет по содержанию шаблона, а не по выбранной вами метке. Сообщение о конкретном заказе, оплате или записи — служебное; всё, что продвигает, предлагает или пытается убедить, — маркетинговое и требует согласия на маркетинговые сообщения. В наших примерах шаблонов WhatsApp есть формулировки для служебных случаев из таблицы.

Какие правила WhatsApp действуют

Большинству сообщений по вебхуку нужен шаблон

Окно обслуживания клиента открывается, когда клиент пишет или звонит вам, и длится 24 часа с его последнего сообщения. Внутри окна можно отвечать свободно; вне его можно отправлять только заранее одобренные шаблоны сообщений. События магазина и CRM редко попадают в это окно, поэтому планируйте каждое сообщение по вебхуку как шаблон и отправьте шаблоны на проверку до того, как что-либо включать.

Номер телефона должен быть рабочим

Вебхук должен передавать номер телефона, до которого WhatsApp может достучаться: в международном формате, с кодом страны. Многие магазины позволяют клиентам вводить номер как угодно, поэтому проверьте несколько реальных заказов. Номер без кода страны — самая частая причина, по которой тест работает, а боевой режим нет.

С 1 октября 2026 года изменились цены

Meta берёт плату за каждое доставленное сообщение с 1 июля 2025 года. С 1 октября 2026 года служебные шаблоны, отправленные внутри открытого окна обслуживания клиента, снова платные после периода, когда они были бесплатными, а каждый бизнес-номер получает 1 000 бесплатных сервисных сообщений в месяц. Тарифы зависят от категории и страны клиента. На практике это значит: подтверждение заказа стоит денег независимо от того, писал ли вам клиент недавно, поэтому отправляйте важные сообщения и отказывайтесь от лишних. Тарифную сетку разбираем в руководстве по ценам WhatsApp API.

Защитите URL вебхука

Любой, кто знает URL вебхука, может его вызвать. Если этот URL отправляет сообщения в WhatsApp, утечка означает, что кто-то другой сможет писать вашим клиентам от вашего имени или раздуть ваш счёт. Это предотвращают три привычки:

  • Требуйте секрет. Отправляющая система добавляет секрет в заголовок или подписывает им тело запроса (HMAC-SHA256), чтобы получатель мог проверить, что запрос не изменили по пути. Запросы без действительного секрета или подписи отклоняются.
  • Один URL — одна задача. У сценария для заказов и сценария для записей должны быть разные URL и секреты, чтобы один можно было сменить, не трогая другой.
  • Следите за ошибками на стороне отправителя. WooCommerce отключает вебхук после более чем пяти неудачных доставок подряд, а Shopify удаляет подписку на вебхук, если адрес назначения раз за разом возвращает ответ, отличный от 200. Выключенный или неправильно настроенный получатель может незаметно остановить ваши уведомления.

Где создать вебхук в Shopify и WooCommerce

  • Shopify: Settings › Notifications › Webhooks, затем Create webhook. Выберите одно событие (Order creation, Order payment, Fulfillment creation и многие другие), формат JSON и URL с https://. После создания вебхука событие изменить нельзя, поэтому делайте отдельный вебхук на каждое событие. Кнопка Send test проверяет, что запрос доходит до URL.
  • WooCommerce: WooCommerce › Settings › Advanced › Webhooks, затем Add webhook. Выберите тему (события заказов, клиентов, купонов или товаров), укажите URL доставки и секрет; WooCommerce добавляет в заголовки запроса хеш тела, созданный с этим секретом.
  • CRM или сервис записи: ищите разделы «вебхуки», «автоматизации» или «исходящие интеграции». Если доступен только фиксированный формат, до начала работы проверьте, в каком поле лежит телефон клиента.

Тестируйте на реальных запросах до запуска

Тела вебхуков длинные, и каждая платформа называет поля по-своему: телефон может лежать в phone, billing.phone или customer.default_address.phone. Не угадывайте. Отправьте реальный тестовый запрос, посмотрите, что пришло, и сопоставьте поля по нему. Затем проверьте пограничные случаи:

  • заказ без номера телефона или с номером без кода страны;
  • одно и то же событие, доставленное дважды, — так бывает, когда платформа повторяет отправку;
  • заказ, оформленный в 3 часа ночи, если вы хотите, чтобы сообщение подождало до утра;
  • клиент, который отвечает на уведомление, — чтобы сотрудник или ИИ-ассистент был готов ответить.

Как это сделать в MonoChat

MonoChat — официальный Meta Business Partner. Начиная с версии 3.8.37 (октябрь 2026 года), сценарий может запускаться по вебхуку, поэтому ваш магазин или CRM могут отправлять сообщения в WhatsApp без кода с вашей стороны.

1. Начните сценарий с узла Получен вебхук. Добавьте его из узлов событий. У него есть собственный URL вебхука и секрет. Выберите канал, например ваш номер WhatsApp, и Путь к идентификатору — место в запросе, где находится номер телефона клиента (по умолчанию request.body.phone). MonoChat находит клиента в этом канале или создаёт его и запускает для него сценарий. Узел отвечает отправителю кодом 202, когда сценарий поставлен в очередь, и понятной ошибкой, если канал или номер телефона не найден.

2. Включите Требовать секрет. Отправитель может передать секрет в заголовке токена (по умолчанию Authorization, сам по себе или как Bearer <secret>) или отправить подпись HMAC-SHA256 необработанного тела запроса в заголовке подписи (по умолчанию X-Signature). Названия обоих заголовков можно изменить под отправляющую систему.

3. Поймайте реальный запрос. Добавьте /test в конец URL вебхука и направьте на него тестовый вебхук магазина. Пока открыты настройки узла, запрос появляется в разделе Полученный запрос с телом, параметрами query и заголовками, и сценарий при этом не запускается. По нему найдите нужные пути и сохраните их как переменные сценария, например request.body.orderId как orderId.

4. Отправьте сообщение. Добавьте узел Отправить шаблонное сообщение с одобренным шаблоном и заполните его переменные из переменных сценария: номер заказа, сумму, ссылку для отслеживания. С помощью условий отправляйте разные шаблоны для разных статусов.

5. При необходимости сделайте обратный вызов. Узел HTTP-запрос может получить дополнительные данные из вашей системы или записать в неё ответ клиента, например «подтверждено» для заказа с оплатой при получении. При успешном вызове он продолжает по выходу Выход, при неудаче — по При ошибке, так что можно отправить запасное сообщение или назначить диалог сотруднику.

Когда клиент отвечает, диалог попадает в те же общие входящие MonoChat, что и остальные ваши чаты из WhatsApp, Instagram и Messenger, где его может подхватить команда или ИИ-ассистент. О сборке сценариев читайте на странице автоматизации сценариев.

Есть ещё два пути — в зависимости от того, кто будет делать работу:

  • Ваши разработчики уже работают с API. Приложение WhatsApp Template API отправляет одобренный шаблон одним вызовом API, а ответы попадают во входящие.
  • У вас Shopify, и вы хотите видеть данные заказа в чате. Автоматизация чатов для Shopify синхронизирует товары и заказы, чтобы команда и ИИ-ассистент могли отвечать на вопросы о заказах.

Чтобы начать, создайте бесплатный аккаунт на app.monochat.ai, подключите свой номер WhatsApp и сравните тарифы на странице тарифов.

Источники

Вопросы и ответы

Частые вопросы

Может ли вебхук сам отправить сообщение в WhatsApp?

Нет. Вебхук только сообщает другой системе, что что-то произошло, например что создан заказ. Нужен получатель, который прочитает запрос, найдёт клиента и отправит сообщение через WhatsApp Business API. В MonoChat таким получателем служит сценарий, который запускается со своего собственного URL вебхука.

Нужен ли шаблон, чтобы написать клиенту по вебхуку?

Почти всегда. События магазина, CRM и записи обычно происходят, когда клиент не писал вам последние 24 часа, поэтому окно обслуживания клиента закрыто и отправить можно только одобренный шаблон WhatsApp. Если клиент писал вам в последние 24 часа, обычное сообщение допустимо.

Какие события Shopify или WooCommerce стоит отправлять в WhatsApp?

Начните с событий, которых клиенты ждут: заказ подтверждён, оплата не прошла или ожидается, заказ отправлен с трек-номером, запись создана или изменена. Рекламные сообщения оставьте на потом и отправляйте их только клиентам, давшим согласие на маркетинговые сообщения.

Как не дать посторонним запускать мои сообщения в WhatsApp?

Держите URL вебхука в секрете и требуйте секретный ключ. Тогда отправляющая система должна передавать этот секрет или подпись HMAC-SHA256 тела запроса, созданную с его помощью, а запросы без него отклоняются.

Уведомления о заказах в WhatsApp бесплатные?

Нет. Meta берёт плату за каждый доставленный шаблон сообщения в зависимости от категории и страны. С 1 октября 2026 года служебные шаблоны, отправленные внутри открытого окна обслуживания клиента, снова платные, а каждый бизнес-номер получает 1 000 бесплатных сервисных сообщений в месяц.

Похожие руководства

Продолжайте читать по этой теме.

Первый месяц Growth за наш счёт

Работайте с WhatsApp, Instagram и Messenger из одних входящих

Начните бесплатно с MonoChat: общие входящие команды, ИИ-ассистенты, шаблоны и кампании на официальных API Meta.

Один код на компанию • 30 дней на активацию • Карта не нужна

150 $ для старта.

Получить