ВойтиНачать бесплатный пробный период
Meta Tech Provider

Отправка уведомлений о заказах WooCommerce в WhatsApp

Создайте в WooCommerce вебхук на события заказа, указывающий на приёмник: например, рабочий процесс n8n или небольшой маршрут на PHP. Приёмник проверяет подпись WooCommerce, убеждается, что клиент согласился получать сообщения в WhatsApp, и отправляет одобренный шаблон через Cloud API, используя phone number id и токен подключённого номера.

5 failures

WooCommerce отключает вебхук после более чем пяти неудачных доставок подряд.

X-WC-Webhook-Signature

Заголовок содержит HMAC-SHA256 тела запроса в кодировке base64, вычисленный с секретом вебхука.

Templates only

Вне окна обслуживания клиентов можно отправлять только заранее одобренные шаблоны.

Как заказ в WooCommerce запускает сообщение в WhatsApp?

Через вебхук WooCommerce и приёмник. В WooCommerce откройте «Настройки», «Дополнительно», «Webhooks» и добавьте вебхук с темой заказа, например order.created или order.updated, укажите URL доставки и секрет. После этого WooCommerce при каждом событии отправляет заказ в формате JSON на этот URL.

Тело запроса фиксировано, поэтому направить его прямо в Cloud API нельзя. Между ними нужен приёмник: узел Webhook в n8n, маршрут в собственном PHP-коде магазина или любой небольшой сервис. Он читает заказ, берёт номер телефона клиента и данные, нужные для сообщения, и делает один HTTPS-запрос к эндпоинту сообщений Cloud API для подключённого номера, передавая токен доступа номера как bearer-токен.

Тема order.updated не привязана к одному статусу, поэтому приёмник должен читать поле status заказа и отправлять сообщение один раз на каждый нужный переход. По умолчанию WooCommerce доставляет вебхуки в фоне через wp-cron, поэтому сообщение может приходить с небольшой задержкой после заказа.

1WooCommerceOrder webhook with a secret
2ReceiverChecks the signature and consent
3Cloud APISends the approved template
4CustomerReplies land in the WhatsApp Business app

Как приёмник понимает, что запрос пришёл от магазина?

По подписи WooCommerce. Каждая доставка содержит заголовок X-WC-Webhook-Signature: это HMAC-SHA256 исходного тела запроса в кодировке base64, вычисленный с секретом, который вы задали в вебхуке. Приёмник вычисляет такой же хеш по полученному телу, сравнивает и отклоняет всё, что не совпало.

Это собственный секрет магазина, поэтому в отличие от подписи Meta на входящих сообщениях WhatsApp её можно проверить. Сравнивайте за постоянное время и хешируйте исходное тело до того, как его разберёт фреймворк: JSON, закодированный заново, даёт другой хеш.

Отвечайте быстро кодом 2xx. WooCommerce считает ошибкой любой ответ, кроме 2xx, 301 или 302, и после более чем пяти ошибок подряд отключает вебхук. Приёмник, который недоступен из-за деплоя или медлит, ожидая ответа Meta, может незаметно выключить сообщения магазина.

Что магазин может отправлять и когда?

Одобренный шаблон, каждый раз, когда магазин пишет первым. Окно обслуживания клиентов Meta (24 часа) открывается только тогда, когда клиент пишет на номер, поэтому подтверждение заказа или уведомление об отправке инициирует бизнес, и свободный текст в этом случае отклоняется. Создайте служебный шаблон (utility) для каждого уведомления, дождитесь одобрения и отправляйте его по имени и языку, передавая номер заказа и другие данные как параметры.

Meta также требует согласие клиента (opt-in): клиент оставил свой номер и согласился получать сообщения от этой компании в WhatsApp. Проще всего сохранять флажок при оформлении заказа в самом заказе, а приёмник должен проверять его перед отправкой.

Как только клиент отвечает, начинается обычная работа в режиме Coexistence. Ответ появляется в приложении WhatsApp Business на телефоне магазина, окно открыто для свободного текста, а команда отвечает из приложения, как и раньше.

Распространённые ошибки

  • Вызывать Cloud API до ответа WooCommerce. Медленная или неудачная отправка засчитывается как сбой вебхука, а после более чем пяти сбоев он отключается.
  • Хешировать разобранный JSON вместо исходного тела. Подпись никогда не совпадёт, и каждая настоящая доставка будет отклонена.
  • Отправлять сообщение при каждой доставке order.updated. Тема не привязана к одному статусу, поэтому без учёта уже отправленных переходов клиенты получают дубликаты.
Настройка с EasyCoexistence

Подключите номер магазина на easycoexistence.com и передайте приёмнику его phone number id и токен из панели управления. От US$ 9 за подключённый номер в месяц, до US$ 1 по мере добавления номеров, первые 3 дня бесплатно.

Часто задаваемые вопросы

Нужен ли для этого плагин WordPress?

Нет. Достаточно встроенных вебхуков WooCommerce и приёмника, а приёмником может быть маршрут в том же PHP-приложении.

Кто оплачивает сообщения о заказах?

Meta выставляет счёт за сообщения напрямую бизнесу в его собственном аккаунте WhatsApp Business, а EasyCoexistence не добавляет наценку.

Может ли команда по-прежнему пользоваться телефоном?

Да. Coexistence сохраняет работу приложения WhatsApp Business на номере магазина, а отправленный магазином шаблон виден в переписке.

Что делать, если вебхук отключился?

Исправьте приёмник, затем верните вебхуку статус «активен» в WooCommerce. Заказы, созданные за время отключения, сообщений не запускали.

Читайте дальше

Готовы начать?

Настройте WhatsApp Coexistence за несколько минут, а не месяцев. Приложение продолжит работать на телефоне.

Начать бесплатный пробный период

Проверено по состоянию на

Уведомления о заказах WooCommerce в WhatsApp