Подайте заявку на ранний доступ

Укажите имя, а также email или номер телефона. Мы отправим Вам информацию о доступе к Tajo.

Руководство по интеграции с WooCommerce

Это руководство описывает подключение магазина WooCommerce к Tajo. Интеграция состоит из двух частей, которые работают вместе:

  • Плагин Tajo for WooCommerce: захватывает события взаимодействия в реальном времени (заказы, корзины, возвраты, отзывы, отправки форм) внутри WordPress и доставляет их в Tajo через надёжную подписанную очередь отправки.
  • Подключение WooCommerce REST: Tajo читает клиентов, заказы, товары, купоны, возвраты и отзывы вашего магазина для импорта истории и постоянной синхронизации. Настройку только по REST смотрите в справочнике по коннектору WooCommerce.

Сама маркетинговая автоматизация (email, SMS, WhatsApp через Brevo и других провайдеров) настраивается в Tajo, а не в плагине. Задача плагина: вывести достоверные события из WordPress.

Предварительные требования

  • WordPress 6.3+ с доступом администратора
  • PHP 7.4+
  • WooCommerce 7.0+ (плагин работает и на сайтах WordPress без WooCommerce, тогда коммерческие адаптеры просто остаются неактивными)
  • Аккаунт Tajo с созданным подключением WordPress
  • HTTPS на эндпоинте Tajo (для облачного Tajo это всегда так)

Шаг 1: установите плагин Tajo for WooCommerce

Установка вручную

Terminal window
# Download the plugin
cd wp-content/plugins
wget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzip
unzip tajo-woocommerce-latest.zip

Затем активируйте плагин в админке WordPress:

  1. Откройте Plugins → Installed Plugins
  2. Найдите «Tajo for WooCommerce»
  3. Нажмите Activate

Вы также можете загрузить zip-архив напрямую через Plugins → Add New → Upload Plugin. Контрольная сумма SHA-256 публикуется вместе с каждым релизом по адресу tajo.io/downloads/woocommerce/. Плагин пока не размещён в каталоге WordPress.org; сегодня поддерживается установка вручную.

Шаг 2: настройте подключение

Перейдите в WooCommerce → Tajo (на сайтах без WooCommerce: Settings → Tajo) и введите три значения из вашего подключения WordPress в Tajo:

ПолеЗначение
Эндпоинт TajoHTTPS-адрес вебхука, показанный в Tajo, например https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement
Binding IDИдентификатор привязки подключения из Tajo
Секрет подписиОбщий секрет (32–256 символов). При активации плагин генерирует надёжный локальный секрет; вставьте его в Tajo или вставьте сюда секрет из Tajo

Никакие константы с API-ключами в wp-config.php добавлять не нужно. События безопасно ждут в локальной очереди отправки, пока не сохранены все три значения.

Затем проверьте канал от начала до конца:

  1. Нажмите Queue test event, затем Process now.
  2. В таблице очереди доставки событие должно отображаться как доставленное.
  3. В Tajo убедитесь, что событие connection.test пришло на подключение WordPress.

Что отправляет плагин

Каждое событие представляет собой компактный конверт с минимумом персональных данных, подписанный по HMAC-SHA256. WordPress покидают только поля идентификации для взаимодействия (email, телефон, локальные идентификаторы) и ограниченные метаданные события, но никогда имена, почтовые адреса, IP-адреса, user agent, тексты комментариев, произвольные поля форм, примечания к заказам или платёжные данные.

События WooCommerce

ХукСобытие
woocommerce_created_customer / woocommerce_update_customercustomer.created / customer.updated
woocommerce_new_product / woocommerce_update_productproduct.created / product.updated
woocommerce_add_to_cart, удаление позиции, применение и снятие купонаcart.updated (со сводкой корзины для сценариев брошенной корзины)
woocommerce_cart_emptiedcart.emptied
woocommerce_new_order / woocommerce_update_orderorder.placed / order.updated
woocommerce_order_status_changedorder.status_changed (+ order.fulfilled при завершении)
woocommerce_payment_completeorder.paid
woocommerce_order_refundedrefund.created
Обновления статуса WooCommerce Subscriptionssubscription.status_changed

События заказов несут номер заказа, статус, валюту, суммы, позиции и готовые URL для отзыва и повторного заказа, чего достаточно для автоматизаций после покупки и возврата клиентов без дополнительного вызова API.

События WordPress

  • contact.created / contact.updated / contact.deleted для аккаунтов пользователей
  • content.published / content.updated / content.unpublished для публичного контента
  • comment.created / comment.status_changed для комментариев посетителей и отзывов о товарах (внутренние примечания к заказам WooCommerce, пингбеки и трекбеки никогда не отправляются)
  • form.submitted для успешных отправок Contact Form 7, WPForms, Gravity Forms и Fluent Forms: извлекаются только типизированные поля идентификации email и телефона и метаданные формы, а произвольные отправленные поля отбрасываются

Надёжность: очередь доставки

Плагин никогда не отправляет события в Tajo напрямую во время загрузки страницы. Каждое событие сначала записывается в локальную таблицу очереди отправки, а затем доставляется через WP-Cron с такими свойствами:

  • Ограниченная экспоненциальная задержка повторов (до 8 попыток, с учётом Retry-After)
  • Недоставленные события (dead letters) с повтором в один клик через Replay dead letters в админке
  • Ограничения хранения, чтобы недоступный эндпоинт не мог накапливать персональные данные (доставленные: 7 дней; в очереди: 30 дней; недоставленные: 30 дней после последнего обновления)
  • Идемпотентные идентификаторы событий, поэтому повторы и переотправки никогда не дублируются на принимающей стороне

Если ваш хостинг отключает WP-Cron (DISABLE_WP_CRON), вызывайте wp-cron.php из настоящего планировщика не реже одного раза в минуту.

Согласие никогда не выводится косвенно

Создание аккаунта, оформление заказа, покупка и обычные отправки форм не считаются маркетинговым согласием. Встроенные события несут пустой список согласий. Чтобы записать явное согласие (например, из отмеченного флажка подписки на рассылку), отправьте его через хук расширения:

do_action(
'tajo_engagement_emit',
'consent.updated',
array( 'email' => $email ),
array( 'policyVersion' => '2026-07' ),
array(
array(
'channel' => 'email',
'status' => 'opt_in', // or 'opt_out'
'purpose' => 'marketing',
'source' => 'newsletter_checkbox',
'evidence' => array( 'formId' => 'newsletter-footer', 'field' => 'marketing_email' ),
),
),
gmdate( 'c' )
);

Тот же хук позволяет любому плагину или теме отправлять собственные события; всё проходит через один и тот же санитайзер, очередь отправки и подпись.

Шаг 3: импорт истории

События в реальном времени покрывают всё с момента установки. Для истории, которая предшествует плагину, подключение WooCommerce REST в Tajo импортирует существующих клиентов, заказы, товары, купоны, возвраты и отзывы, причём настраивается это целиком на стороне Tajo с помощью ключа WooCommerce REST API (WooCommerce → Settings → Advanced → REST API, право на чтение). Подробности смотрите в справочнике по коннектору WooCommerce.

Приватность и GDPR

  • Плагин регистрируется в WordPress в разделах Tools → Export Personal Data и Tools → Erase Personal Data; сохранённые события очереди отправки для совпадающего email экспортируются или удаляются локально.
  • Удаление и доставка используют общий fail-closed мьютекс, поэтому удаление никогда не сообщит о завершении, пока полезная нагрузка находится в процессе отправки.
  • Локальное удаление затрагивает только очередь отправки WordPress, поэтому для данных на принимающей стороне отправьте соответствующий запрос в Tajo.
  • Деактивация приостанавливает доставку, но сохраняет конфигурацию и события в очереди; удаление плагина безвозвратно убирает очередь отправки, настройки, секрет и расписания.

Совместимость

  • HPOS: плагин объявляет совместимость с WooCommerce High-Performance Order Storage и использует только CRUD-объекты и публичные хуки.
  • WooCommerce Subscriptions: изменения статуса подписок фиксируются, когда расширение активно.
  • Multisite: удаление плагина очищает данные на каждом сайте сети.

Справочник по эксплуатации

Межсерверное обнаружение возможностей и управление очередью отправки доступны администраторам по аутентификации Application Password:

МетодМаршрутНазначение
GET/wp-json/tajo/v1/capabilitiesВерсия плагина, обнаруженные адаптеры, перечень событий, состояние очереди отправки
GET/wp-json/tajo/v1/outboxСчётчики очереди отправки (полезная нагрузка никогда не раскрывается)
POST/wp-json/tajo/v1/outbox/processНемедленно обработать пакет
POST/wp-json/tajo/v1/outbox/replayПовторить отправку недоставленных событий

Устранение неполадок

СимптомПричина и решение
События остаются в статусе «Queued»Эндпоинт, binding ID или секрет ещё не сохранены, доставка приостановлена, пока не настроены все три значения
События остаются в статусе «Retrying»Эндпоинт Tajo недоступен с вашего хостинга или не работает WP-Cron. Проверьте колонку ошибок в таблице очереди отправки и настройку cron
Накапливаются недоставленные событияНеповторяемая ошибка (обычно неверный binding ID или секрет). Исправьте конфигурацию, затем нажмите Replay dead letters
«Enter a valid HTTPS Tajo webhook endpoint»Эндпоинт должен использовать HTTPS и не содержать встроенных учётных данных
Тестовое событие доставлено, но в Tajo ничего нетПроверьте, что вы вставили binding ID из того же рабочего пространства и подключения Tajo, которому принадлежит эндпоинт

Дальнейшие шаги

  • Справочник по коннектору WooCommerce: синхронизация по REST, детали подписи вебхуков, ключи конфигурации
  • Синхронизация клиентов: сопоставление клиентов WooCommerce с вашей системой учёта
  • Настройте автоматизации для брошенных корзин, после покупки и возврата клиентов в Tajo, используя события cart.updated, order.placed и order.fulfilled

Подайте заявку на ранний доступ

Укажите имя, а также email или номер телефона. Мы отправим Вам информацию о доступе к Tajo.

определим автоматически
AI-ассистент

Привет! Спрашивайте меня о документации.