先行利用を申し込む

お名前とメールアドレスまたは電話番号をご入力ください。Tajo のアクセス方法をご案内します。

WooCommerce 連携ガイド

このガイドでは WooCommerce ストアを Tajo に接続します。この連携は、連動して動く 2 つの部分で構成されています。

  • Tajo for WooCommerce プラグイン: WordPress 内でリアルタイムのエンゲージメントイベント(注文、カート、返金、レビュー、フォーム送信)を取得し、永続的で署名付きの outbox を通じて Tajo に配信します。
  • WooCommerce REST 接続: Tajo がストアの顧客、注文、商品、クーポン、返金、レビューを読み取り、過去データのインポートと継続的な同期を行います。REST のみの設定については WooCommerce コネクタリファレンスを参照してください。

マーケティング自動化そのもの(Brevo などのプロバイダー経由のメール、SMS、WhatsApp)は、プラグインではなく Tajo 側で設定します。プラグインの役割は、信頼できるイベントを WordPress から取り出すことです。

前提条件

  • 管理者権限のある WordPress 6.3 以上
  • PHP 7.4 以上
  • WooCommerce 7.0 以上(WooCommerce のない WordPress サイトでもプラグインは動作し、コマース用アダプターが単に無効のままになります)
  • WordPress 接続を作成済みの Tajo アカウント
  • Tajo エンドポイントでの HTTPS(ホスト版 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 をクリックします

Plugins → Add New → Upload Plugin から zip を直接アップロードすることもできます。各リリースには SHA-256 チェックサムが併せて公開されています(tajo.io/downloads/woocommerce/)。このプラグインは WordPress.org のディレクトリにはまだ掲載されておらず、現時点では手動インストールがサポートされる方法です。

ステップ 2: 接続を設定する

WooCommerce → Tajo(WooCommerce のないサイトでは Settings → Tajo)に移動し、Tajo の WordPress 接続から取得した 3 つの値を入力します。

項目
Tajo エンドポイントTajo に表示される HTTPS の Webhook URL。例: https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement
バインディング IDTajo から取得した接続のバインディング ID
署名シークレット共有シークレット(32 文字から 256 文字)。プラグインは有効化時に強度の高いローカルシークレットを生成します。それを Tajo に貼り付けるか、Tajo 側のシークレットをここに貼り付けます

wp-config.php に追加する API キーの定数はありません。3 つの値がすべて保存されるまで、イベントはローカルの outbox に安全にキューイングされたままになります。

続いて、経路全体を検証します。

  1. Queue test event をクリックし、次に Process now をクリックします。
  2. 配信 outbox のテーブルに、そのイベントが配信済みとして表示されるはずです。
  3. Tajo 側で、connection.test イベントが WordPress 接続に届いたことを確認します。

プラグインが送信する内容

すべてのイベントは、HMAC-SHA256 で署名された、コンパクトでプライバシーに配慮した最小限のエンベロープです。WordPress から出ていくのはエンゲージメント用の識別項目(メールアドレス、電話番号、ローカル ID)と範囲の限られたイベントのメタデータだけで、氏名、住所、IP アドレス、ユーザーエージェント、コメント本文、任意のフォーム項目、注文メモ、決済情報が送られることはありません。

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 Subscriptions のステータス更新subscription.status_changed

注文イベントには注文番号、ステータス、通貨、合計金額、明細行、そのまま使えるレビュー用と再注文用の URL が含まれます。追加の API 呼び出しなしで、購入後の自動化やウィンバックの自動化を構築できます。

WordPress のイベント

  • ユーザーアカウントに対する contact.created / contact.updated / contact.deleted
  • 公開コンテンツに対する content.published / content.updated / content.unpublished
  • 訪問者のコメントと商品レビューに対する comment.created / comment.status_changed(WooCommerce の内部的な注文メモ、ピンバック、トラックバックが送信されることはありません)
  • Contact Form 7WPFormsGravity FormsFluent Forms の送信成功に対する form.submitted。抽出されるのは型付けされたメールアドレスと電話番号の識別項目、およびフォームのメタデータだけで、任意に送信された項目は破棄されます

信頼性: 配信 outbox

プラグインがページ表示から直接 Tajo にイベントを送ることはありません。すべてのイベントはまずローカルの outbox テーブルに書き込まれ、その後 WP-Cron が次の仕組みで配信します。

  • 上限付きの指数バックオフ(最大 8 回の試行、Retry-After を尊重)
  • 管理画面のワンクリック操作 Replay dead letters に対応したデッドレター
  • 到達できないエンドポイントが個人データを溜め込まないようにする保持期限(配信済み: 7 日、キュー内: 30 日、デッドレター: 最終更新から 30 日)
  • 冪等なイベント ID。再試行や再送でも下流で重複が発生しません

ホスティング環境が WP-Cron を無効化している場合(DISABLE_WP_CRON)は、実際のスケジューラーから少なくとも 1 分に 1 回 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' )
);

同じフックを使えば、任意のプラグインやテーマからカスタムイベントを送信できます。いずれも同じサニタイザー、同じ outbox、同じ署名を通ります。

ステップ 3: 過去データのインポート

リアルタイムのイベントは、インストール以降のすべてをカバーします。プラグイン導入より前の履歴については、Tajo の WooCommerce REST 接続が既存の顧客、注文、商品、クーポン、返金、レビューをインポートします。設定はすべて Tajo 側で、WooCommerce の REST API キー(WooCommerce → Settings → Advanced → REST API、読み取り権限)を使って行います。詳細は WooCommerce コネクタリファレンスを参照してください。

プライバシーと GDPR

  • プラグインは WordPress の Tools → Export Personal Data および Tools → Erase Personal Data に登録されます。該当するメールアドレスについて outbox に残っているイベントは、ローカルでエクスポートまたは消去されます。
  • 消去と配信はフェイルクローズドなミューテックスを共有するため、ペイロードの送信中に消去が完了として報告されることはありません。
  • ローカルの消去が対象とするのは WordPress の outbox だけです。下流のデータについては、Tajo 側で対応するリクエストを送信してください。
  • 無効化すると配信は一時停止しますが、設定とキュー内のイベントは保持されます。プラグインを削除すると、outbox、設定、シークレット、スケジュールが完全に削除されます。

互換性

  • HPOS: プラグインは WooCommerce の High-Performance Order Storage への対応を宣言しており、CRUD オブジェクトと公開フックのみを使用します。
  • WooCommerce Subscriptions: この拡張機能が有効なとき、サブスクリプションのステータス変更を取得します。
  • マルチサイト: アンインストール時にネットワーク内のすべてのサイトをクリーンアップします。

運用リファレンス

サーバー間のディスカバリーと outbox の制御は、Application Password 認証によって管理者が利用できます。

メソッドルート用途
GET/wp-json/tajo/v1/capabilitiesプラグインのバージョン、検出されたアダプター、イベント一覧、outbox の健全性
GET/wp-json/tajo/v1/outboxoutbox の件数(ペイロードが公開されることはありません)
POST/wp-json/tajo/v1/outbox/processバッチを即座に処理します
POST/wp-json/tajo/v1/outbox/replayデッドレターを再送します

トラブルシューティング

症状原因と対処
イベントが「Queued」のままエンドポイント、バインディング ID、シークレットのいずれかが未保存です。3 つすべてが設定されるまで配信は一時停止します
イベントが「Retrying」のままホストから Tajo エンドポイントに到達できないか、WP-Cron が動作していません。outbox テーブルのエラー列と cron の設定を確認してください
デッドレターが溜まる再試行できないエラー(多くはバインディング ID かシークレットの誤り)です。設定を修正してから Replay dead letters を実行してください
「Enter a valid HTTPS Tajo webhook endpoint」と表示されるエンドポイントは HTTPS で、認証情報を埋め込んでいない必要があります
テストイベントは配信されたのに Tajo に何も届かないエンドポイントが属するのと同じ Tajo のワークスペースおよび接続からバインディング ID を貼り付けたか確認してください

次のステップ

  • WooCommerce コネクタリファレンス: REST 同期、Webhook 署名の詳細、設定キー
  • 顧客同期: WooCommerce の顧客を自社の基準データに対応づける方法
  • cart.updatedorder.placedorder.fulfilled の各イベントを使って、カゴ落ち、購入後、ウィンバックの自動化を Tajo で設定します

先行利用を申し込む

お名前とメールアドレスまたは電話番号をご入力ください。Tajo のアクセス方法をご案内します。

自動判定
AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。