Интеграция WordPress и WooCommerce с MSG.Center
Как связать WordPress и WooCommerce с MSG.Center: плагин, события, подписи и сценарии публикаций.
Интеграция WordPress и WooCommerce с MSG.Center
Сайт на WordPress — это готовый источник событий: вышла статья, появился товар, оплачен заказ, зарегистрирован покупатель. Каждое из них можно превратить в публикацию или в задачу для команды, не переписывая контент вручную.
В MSG.Center за это отвечает хаб интеграций: сайт отправляет подписанное событие, сервис принимает его и запускает сценарий. Разберём подключение по шагам — от установки плагина до проверки подписи.
Что можно автоматизировать
| Событие сайта | Что делает сценарий |
|---|---|
| статья опубликована | черновик публикации в соцсети с заголовком, анонсом и ссылкой |
| статья обновлена | публикация-напоминание или обновление анонса |
| заказ оплачен | уведомление команде, публикация о товаре, задача на доставку |
| товар создан или обновлён | товарная публикация по шаблону |
| покупатель зарегистрирован | приветственная серия или сегментация |
Сценарий может как публиковать сразу, так и создавать черновик — это зависит от того, насколько вы доверяете шаблону.
Как это устроено
WordPress / WooCommerce
→ плагин или штатный вебхук
→ POST /webhooks/integrations/{token}/{platform}
→ проверка подписи, нормализация, дедупликация
→ событие (например, integration.woocommerce.order_paid)
→ сценарий: фильтр, AI-текст, черновик или публикация
Три важных свойства: подпись проверяется до обработки, повторное событие не создаёт дубль, а неудачная доставка повторяется по расписанию.
Пошагово: WordPress
- В MSG.Center откройте «Интеграции» → «Коннекторы» → «Новый коннектор».
- Выберите WordPress и скопируйте token из URL и секрет подписи.
- Установите плагин MSG.Center Connector: через админку WordPress («Плагины → Добавить новый → Загрузить плагин») или по FTP в
wp-content/plugins/. - Активируйте плагин — появится страница «Настройки → MSG.Center Connector».
- Укажите адрес сервиса, token и секрет, включите отправку событий.
- Нажмите «Test WordPress» — плагин отправит подписанное тестовое событие.
- Проверьте журнал коннектора: событие должно появиться без ошибок.
- Опубликуйте тестовую запись и убедитесь, что событие
post.publishedдошло. - Создайте сценарий с триггером WordPress и настройте шаги.
Плагин отправляет только записи типа post; список типов расширяется фильтром в дочернем плагине. Черновики и автосохранения не отправляются.
Пошагово: WooCommerce
У WooCommerce есть два пути — плагин и штатные вебхуки.
Через плагин (рекомендуется):
- Создайте отдельный коннектор WooCommerce — у него свои token и секрет, не путайте с WordPress.
- В настройках плагина включите WooCommerce и укажите эти token/секрет.
- Нажмите «Test WooCommerce».
- Оформите тестовый заказ и проверьте событие
order.paid.
Через штатные вебхуки WooCommerce:
- WooCommerce → Настройки → Дополнительно → Вебхуки → Добавить.
- Тема:
Order created,Order updated,Product created,Product updated,Customer created. - URL доставки:
https://msg.center/webhooks/integrations/<TOKEN>/woocommerce. - Секрет: секрет коннектора. Версия API — WP REST API v3.
Особенность: штатный Woo не отправляет событие «заказ оплачен» отдельно. Используйте Order updated и добавьте в сценарий фильтр по статусу processing или completed — либо подключите плагин, который отправляет order.paid явно.
Подписи: как проверять
WordPress и TutorLMS подписывают тело запроса hex-строкой HMAC-SHA256:
$signature = hash_hmac('sha256', $rawBody, $secret);
// заголовок: X-WP-Signature: <hex>
WooCommerce использует base64:
$signature = base64_encode(hash_hmac('sha256', $rawBody, $secret, true));
// заголовок: X-WC-Webhook-Signature: <base64>
Правила, которые нельзя обходить: подписывается сырое тело до JSON-декодирования, сравнение — constant-time, заголовок можно присылать с префиксом sha256=. Если подпись не совпала, сервис вернёт 401 и событие не обработается.
Что делать с событиями дальше
Типовые сценарии, которые собираются из готовых шагов:
- Статья → соцсети. Событие
post.published→ фильтр по рубрике → AI-текст под площадку → черновик в три канала. - Оплаченный заказ → уведомление. Событие
order.paid→ уведомление команде → задача на сборку. - Новый товар → товарная публикация. Событие
product.created→ шаблон с ценой и ссылкой → планирование на утро. - Заявка с сайта → ответ. Если на сайте стоит форма, подключите её как отдельный коннектор и создайте черновик ответа.
Во всех случаях лучше начинать с черновика: шаблонная публикация по событию почти всегда требует правки.
Ограничения
- Плагин требует WordPress 6.0+, PHP 7.4+ (рекомендуется 8.1+). WooCommerce 7+ и TutorLMS 2+ — опционально.
- Только опубликованные записи. Черновики и ревизии не отправляются.
- Медиа не переносится автоматически в публикацию: изображение нужно указать ссылкой или выбрать в библиотеке.
- Повторные события. Точный дубль отсекается, но разные события об одном и том же (например, два обновления подряд) могут дать два запуска.
- Секреты. Храните их в
wp-config.phpконстантами, а не в базе, если к сайту есть доступ у подрядчиков.
Частые вопросы
Нужен ли плагин, если есть вебхуки WooCommerce? Для заказов и товаров можно обойтись штатными вебхуками. Для статей и TutorLMS плагин удобнее: он уже знает нужные хуки.
Что будет, если сайт недоступен? Плагин ставит события в очередь и повторяет отправку с задержками. После восстановления сайта очередь доедет.
Можно ли подключить несколько сайтов? Да, на каждый сайт — свой коннектор. Так проще отзывать доступ и видеть статистику.
Что дальше
Полные схемы подписей и разбор ошибок — в инструкции по вебхукам. Посмотрите также возможности платформы и кейсы, чтобы увидеть, как события сайта превращаются в контент. Если хотите проверить на своём сайте — зарегистрируйтесь; состав тарифов — на странице тарифов.
Источники
modules-integrations/AppIntegrationHub/docs/02-CONNECTORS.md §1–2, modules-integrations/AppIntegrationHub/docs/07-WORDPRESS-PLUGIN.md, content/features/06-integrations.md.