2026年11月6日
2026年11月6日
WooCommerceのAPI連携でデータを自動同期する方法
はじめに
WooCommerceは、eコマースサイトを構築するための最も人気のあるプラグインの一つです。商品データ、注文情報、顧客情報を含む様々な情報を管理することができますが、より効率的な業務運営を行うために、他のシステムと連携することがしばしば求められます。この記事では、WooCommerceのAPIを活用して外部システムとのデータ同期を自動化する方法について解説します。
症状・背景
このテーマが必要になる主な場面:
- 外部システム(例えば会計ソフトや物流管理システム)と商品情報や注文情報を連携させたい場合
- ユーザーの行動データを分析するために、WooCommerceからデータを取り出す必要がある場合
- カスタム開発されたアプリケーションとWooCommerceとの間でリアルタイムでのデータ同期が必要な場合
手順・設定方法
ステップ1: WooCommerce REST APIの設定
# WordPressログイン画面にアクセスします。
wp core install --skip-email --admin-password="your_password"
# WP-CLIを使用してWooCommerceプラグインを有効化します。
wp plugin activate woocommerce
# デフォルトでは、REST APIは有効になっていますが、必要に応じて以下のコマンドで確認できます。
wp option get woocommerce_api_enabled
ステップ2: アクセストークンの生成
# アプリケーション用のユーザーを作成します。
wp user create --user_login="app_user" --user_email="app@example.com" --role=customer
# 生成したユーザーアカウントのパスワードを変更します。
wp user update <USER_ID> --user_pass="your_password"
# アクセストークンを作成します。ここで<USER_ID>は上記で作成したユーザーIDです。
wp wc oauth2 token --consumer_key=<CONSUMER_KEY> --consumer_secret=<CONSUMER_SECRET> --username=app_user
ステップ3: カスタムAPIエンドポイントの設定
# 新しいカスタムプラグインを作成します。ここでは、`woocommerce-api-sync.php`というファイル名を使用します。
touch /path/to/wp-content/plugins/woocommerce-api-sync.php
# ファイルに以下の内容を追加します。
echo 'add_action("rest_api_init", function() {
register_rest_route("sync/v1", "products", array(
"methods" => "GET",
"callback" => "get_products"
));
});
function get_products($request) {
return wc_get_products(array("limit" => -1));
};' > /path/to/wp-content/plugins/woocommerce-api-sync.php
# プラグインを有効化します。
wp plugin activate woocommerce-api-sync
ステップ4: 外部システムとの同期スクリプトの作成と実行
# シェルスクリプトを作成します。ここでは`sync_woocommerce_data.sh`という名前で保存します。
touch sync_woocommerce_data.sh
chmod +x sync_woocommerce_data.sh
# スクリプトに以下を追加します。
echo '#!/bin/bash
API_URL="https://yourdomain.com/wp-json/sync/v1/products"
TOKEN="Bearer YOUR_ACCESS_TOKEN"
curl -X GET $API_URL -H "Authorization: $TOKEN" > /path/to/external/system/data.json' > sync_woocommerce_data.sh
# cronジョブを設定して定期的に同期スクリプトを実行します。
crontab -e
注意事項
- セキュリティ上の注意: アクセストークンは秘密に保つことが重要です。APIの認証情報を適切に保護し、必要な最小限の権限を持つユーザーを作成してください。
- パフォーマンス/運用上の注意: API同期が頻繁に行われるとサーバー負荷が高まる可能性があります。必要に応じてAPIリクエスト間隔を調整することをお勧めします。
まとめ
1. APIの理解: WooCommerce REST APIの機能と構造を十分に理解することが重要です。
2. セキュリティ: アプリケーションが適切な認証と承認を持つことが求められます。
3. テスト: 実際に同期する前に、API呼び出しやスクリプトをテストしてください。
4. 監視: 同期プロセスの進行状況と結果を定期的にチェックして、問題がないことを確認してください。
関連記事: