---
title: "WooCommerce 連携ガイド | Tajo"
description: "Tajo for WooCommerce プラグインで WooCommerce ストアを Tajo に接続します。エンゲージメントイベント、確実な配信、プライバシーに配慮した最小限の顧客データを実現します。開発中で、エンドツーエンドではまだ検証されていません。"
url: https://tajo.io/jp/docs/ecommerce-platforms/woocommerce/
markdown: https://tajo.io/jp/docs/ecommerce-platforms/woocommerce.md
lang: ja-JP
author: "Set Noa"
author_url: https://tajo.io/jp/set-noa/
robots: noindex
---

先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

# WooCommerce 連携ガイド

[Set Noa](https://tajo.io/jp/set-noa/)

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

- **Tajo for WooCommerce プラグイン**: WordPress 内でエンゲージメントイベント（注文、カート、返金、レビュー、フォーム送信）を発生時に取得し、永続的で署名付きの outbox を通じて Tajo に配信します。2026年10月14日にローカルサイトでプラグインをテストしましたが、Tajo への配信はまだ検証されていません。
- **WooCommerce REST 接続**: Tajo がストアの顧客、注文、商品、クーポン、返金、レビューを読み取り、過去データのインポートと継続的な同期を行います。REST のみの設定については [WooCommerce コネクタリファレンス](https://tajo.io/jp/docs/connectors/ecommerce/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 プラグインをインストールする

### 手動インストール

```bash
# 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/](https://tajo.io/downloads/woocommerce/tajo-woocommerce-1.0.0.zip.sha256)）。このプラグインは 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` |
| **バインディング ID** | Tajo から取得した接続のバインディング 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_customer` | `customer.created` / `customer.updated` |
| `woocommerce_new_product` / `woocommerce_update_product` | `product.created` / `product.updated` |
| `woocommerce_add_to_cart`、商品の削除、クーポンの適用と解除 | `cart.updated`（カゴ落ちフロー用のカート概要付き） |
| `woocommerce_cart_emptied` | `cart.emptied` |
| `woocommerce_new_order` / `woocommerce_update_order` | `order.placed` / `order.updated` |
| `woocommerce_order_status_changed` | `order.status_changed`（完了時は `order.fulfilled` も送信） |
| `woocommerce_payment_complete` | `order.paid` |
| `woocommerce_order_refunded` | `refund.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 7**、**WPForms**、**Gravity Forms**、**Fluent 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` を呼び出してください。

## 同意は決して推測しません

アカウント作成、チェックアウト、購入、一般的なフォーム送信は、マーケティングへの同意として**扱いません**。標準で用意されたイベントは、空の同意リストを持ちます。明示的な同意（たとえばニュースレターのチェックボックスがオンになった場合）を記録するには、拡張用のフックから送信します。

```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 コネクタリファレンス](https://tajo.io/jp/docs/connectors/ecommerce/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/outbox` | outbox の件数（ペイロードが公開されることはありません） |
| `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 コネクタリファレンス](https://tajo.io/jp/docs/connectors/ecommerce/woocommerce/): REST 同期、Webhook 署名の詳細、設定キー
- [顧客同期](https://tajo.io/jp/docs/skills/data-sync/customer-sync/): WooCommerce の顧客を自社の基準データに対応づける方法
- `cart.updated`、`order.placed`、`order.fulfilled` の各イベントを使って、カゴ落ち、購入後、ウィンバックの自動化を Tajo で設定します
