WooCommerce コネクター

WooCommerce コネクター

WooCommerce ストアを Tajo 経由で Brevo に接続して、完全な eコマースデータ同期を実現します。WooCommerce REST API を活用し、顧客、注文、商品、クーポンデータを同期して、ターゲットを絞ったマーケティングキャンペーンや自動化ワークフローを実現できます。

概要

項目
プラットフォームWooCommerce (WordPress)
カテゴリーeコマース
セットアップ難易度
公式統合なし
同期データ顧客、注文、商品、クーポン
利用可能なスキル10

機能

  • 顧客同期 - リアルタイムで顧客データを Brevo コンタクトへ同期
  • 注文追跡 - 購入後フロー向けに注文ライフサイクルイベントを完全追跡
  • 商品カタログ同期 - メールレコメンデーション用に商品とバリエーションを同期
  • クーポン管理 - プロモーションキャンペーン用にクーポンコードを同期
  • ウェブフック対応 - WooCommerce ウェブフックによるリアルタイム更新
  • カゴ落ち - 放棄カートの追跡と回復
  • マルチサイト対応 - WordPress マルチサイトの WooCommerce インストールに接続
  • カスタムメタフィールド - WooCommerce カスタムメタを Brevo 属性にマッピング

前提条件

開始する前に、以下をご用意ください。

  1. WooCommerce プラグインがインストール・有効化された WordPress サイト
  2. 有効化された WooCommerce REST API (Settings > Advanced > REST API)
  3. 生成済みの API Consumer Key と Consumer Secret
  4. API 認証用に HTTPS が必須
  5. API アクセス付きの Brevo アカウント
  6. API 認証情報を持つ Tajo アカウント

認証

REST API キー

WooCommerce は Consumer Key と Consumer Secret のペアで認証します。WooCommerce > Settings > Advanced > REST API で生成します。

OAuth 1.0a (HTTPS サイト)

Terminal window
curl https://yourstore.com/wp-json/wc/v3/orders \
-u "consumer_key:consumer_secret"

クエリ文字列認証 (HTTPS)

Terminal window
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"

権限レベル

権限アクセス
Readリソースの閲覧のみ
Writeリソースの作成と編集
Read/Write完全な CRUD アクセス

設定

基本セットアップ

connectors:
woocommerce:
enabled: true
store_url: "https://yourstore.com"
consumer_key: "ck_your_consumer_key"
consumer_secret: "cs_your_consumer_secret"
api_version: "wc/v3"
verify_ssl: true
# Data sync options
sync:
customers: true
orders: true
products: true
coupons: true
# Brevo list assignment
lists:
all_customers: 50
buyers: 51
abandoned_cart: 52

顧客フィールドマッピング

WooCommerce の顧客フィールドを Brevo 属性にマッピングします。

customer_mapping:
email: email
first_name: FIRSTNAME
last_name: LASTNAME
billing.phone: SMS
billing.company: COMPANY
billing.city: CITY
billing.state: STATE
billing.country: COUNTRY
billing.postcode: ZIP
# E-commerce metrics (computed)
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
date_created: SIGNUP_DATE
# Meta fields
meta_data.loyalty_points: LOYALTY_POINTS
meta_data.preferred_category: PREF_CATEGORY

ウェブフック設定

WooCommerce > Settings > Advanced > Webhooks でウェブフックを登録します。

webhooks:
- topic: "customer.created"
event: "customer_created"
- topic: "customer.updated"
event: "customer_updated"
- topic: "order.created"
event: "order_placed"
- topic: "order.updated"
event: "order_updated"
- topic: "order.completed"
event: "order_fulfilled"
- topic: "order.refunded"
event: "order_refunded"
- topic: "coupon.created"
event: "coupon_created"
- topic: "product.created"
event: "product_added"
- topic: "product.updated"
event: "product_updated"

API エンドポイント

メソッドエンドポイント説明
GET/wc/v3/customers顧客一覧を取得
POST/wc/v3/customers顧客を作成
GET/wc/v3/customers/{id}顧客を取得
PUT/wc/v3/customers/{id}顧客を更新
GET/wc/v3/orders注文一覧を取得
POST/wc/v3/orders注文を作成
GET/wc/v3/orders/{id}注文を取得
GET/wc/v3/products商品一覧を取得
GET/wc/v3/products/{id}商品を取得
GET/wc/v3/products/{id}/variations商品バリエーション一覧を取得
GET/wc/v3/couponsクーポン一覧を取得
GET/wc/v3/reports/sales売上レポートを取得
GET/wc/v3/reports/top_sellersトップセラーを取得
POST/wc/v3/webhooksウェブフックを作成

コード例

WooCommerce コネクターの初期化

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect WooCommerce store
await tajo.connectors.connect('woocommerce', {
storeUrl: 'https://yourstore.com',
consumerKey: process.env.WC_CONSUMER_KEY,
consumerSecret: process.env.WC_CONSUMER_SECRET
});

顧客の取得と同期

// Fetch customers using WooCommerce REST API
const WooCommerce = require('@woocommerce/woocommerce-rest-api').default;
const api = new WooCommerce({
url: 'https://yourstore.com',
consumerKey: process.env.WC_CONSUMER_KEY,
consumerSecret: process.env.WC_CONSUMER_SECRET,
version: 'wc/v3'
});
// List customers with pagination
const response = await api.get('customers', {
per_page: 100,
page: 1,
orderby: 'registered_date',
order: 'desc'
});
const customers = response.data;
// [{ id, email, first_name, last_name, billing, shipping, ... }]
// Pagination info from headers
const totalPages = response.headers['x-wp-totalpages'];
const totalItems = response.headers['x-wp-total'];

ウェブフックイベントの処理

// WooCommerce webhook handler
app.post('/webhooks/woocommerce', async (req, res) => {
const topic = req.headers['x-wc-webhook-topic'];
const signature = req.headers['x-wc-webhook-signature'];
// Verify webhook signature
const expectedSignature = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest('base64');
if (signature !== expectedSignature) {
return res.status(401).send('Invalid signature');
}
// Forward to Tajo
await tajo.connectors.handleWebhook('woocommerce', {
topic,
payload: req.body
});
res.status(200).send('OK');
});

バッチ操作

// Batch create, update, and delete products
const batchResponse = await api.post('products/batch', {
create: [
{ name: 'New Product', type: 'simple', regular_price: '19.99' }
],
update: [
{ id: 123, regular_price: '24.99' }
],
delete: [456]
});

レート制限

WooCommerce 自体は API のレート制限を強制しませんが、基盤となる WordPress サーバーやホスティングプロバイダーが制限を課す場合があります。

要因一般的な制限詳細
共有ホスティング50-100 req/分ホストにより異なる
マネージド WP ホスティング200-500 req/分WP Engine、Kinsta など
セルフホスト厳格な制限なしサーバーリソース次第
1 ページあたり最大 100 レコード既定は 10
バッチ操作100 件/バッチ作成、更新、削除

サーバーパフォーマンス

大規模な WooCommerce ストアでは API レスポンスが遅くなる可能性があります。ページネーション、_fields パラメータでのフィールド制限、オフピーク時間のバルク同期スケジューリングを活用してください。

トラブルシューティング

問題原因解決策
401 Unauthorized無効な API キーWooCommerce 設定で Consumer Key/Secret を再生成
403 Forbidden権限不足API キーを Read/Write に設定
SSL 証明書エラーサイトの SSL 無効有効な SSL 証明書を使用。テスト時のみ verify_ssl: false
ウェブフックが発火しないWordPress cron 無効WP-Cron を有効化またはサーバーレベルの cron を設定
API レスポンスが遅い大規模データベースWordPress DB を最適化、_fields パラメータを使用
カスタムフィールドが欠落メタデータが露出されていないmeta_data フィールドでカスタムメタにアクセス
ページネーションの問題既定のページサイズper_page パラメータを明示的に指定 (最大 100)

ベストプラクティス

  1. リアルタイム同期にウェブフックを使用 - API ポーリングではなく WooCommerce ウェブフックを設定
  2. ウェブフック署名を検証 - 常に X-WC-Webhook-Signature ヘッダーを検証
  3. すべてのリスト要求でページネーション - pageper_page パラメータを使用し、X-WP-TotalPages ヘッダーを確認
  4. _fields パラメータを活用 - 必要なフィールドのみを要求してレスポンスサイズを削減
  5. バッチ操作を活用 - 大量の作成/更新/削除にはバッチエンドポイント (最大 100 件)
  6. 大規模同期をスケジュール - 初回の完全同期はオフピーク時間に実施
  7. HTTPS を有効化 - WooCommerce API は OAuth 認証に HTTPS を要求

セキュリティ

  • OAuth 1.0a - Consumer Key/Secret ペアによる安全な認証
  • HMAC ウェブフック署名 - 受信ウェブフックの SHA-256 署名検証
  • HTTPS 必須 - API 認証には TLS 暗号化が必要
  • 権限スコープ - API キーは Read、Write、Read/Write を設定可能
  • WordPress セキュリティ - WordPress コアのセキュリティ更新の恩恵
  • PCI に関する考慮 - 決済データは WooCommerce の決済ゲートウェイで処理され API には露出されない

関連リソース

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AIアシスタント

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

Brevoで無料で始める