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. 監視: 同期プロセスの進行状況と結果を定期的にチェックして、問題がないことを確認してください。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲