WooCommerce REST APIの理解
WooCommerce REST APIは、店舗オーナーがWooCommerceの店舗を他のアプリケーションやサービスに接続するための、標準化された「チャネル」の集まりのようなものです。
仕組みを簡単に説明します。
-
WooCommerceの店舗と外部アプリケーションをつなぐ橋渡しとして機能し、相互の通信とデータ共有を可能にします。
-
APIは特定のエンドポイントにリクエストを送信して動作します。エンドポイントは、さまざまな種類の店舗データに対応する「チャネル」と考えることができます。たとえば、商品、注文、顧客用のエンドポイントがあります。
-
外部アプリケーションは、これらのエンドポイントを使用して次の操作を行えます。
- 情報の取得(商品一覧の取得など)
- 新しいデータの追加(新規注文の作成など)
- 既存情報の更新(商品の価格変更など)
- データの削除(古くなった商品の削除など)
従来の多くのWordPressプラグインのようにPHPフックやフィルターに依存するのではなく、JSONと呼ばれる構造化された予測可能な形式でデータを送受信します。
POSでJSONデータを表示する
POSが「認識している」内容を把握できるよう、インターフェースの多くの部分にJSONビューを用意しています。 たとえば、POSで注文メタデータやカートの明細行を編集すると、下のスクリーンショットのようにJSONタブが表示されます。

POSで明細行のJSONデータを表示する
ブラウザーにはネットワークインスペクターもあり、JSONデータを含め、ブラウザーとサーバーの間で送受信されるデータを確認できます。

ブラウザーのネットワークインスペクター
POSで動作しないプラグインがあるのはなぜですか?
WCPOSはREST APIを通じて、WooCommerceの店舗から商品、注文、顧客のデータをダウンロードします。 その後、データのローカルコピーを保持するため、インターネット接続が不安定でもPOSを使い続けられます。 この方式により、混雑したチェックアウト環境でもPOSをより高速かつ安定して動作させられます。
ただし、この方式では、サイト上で動的に発生する変更をPOSがリアルタイムに「認識」できません。たとえば、次のようなケースがあります。
| プラグインの種類 | 動作しない理由 |
|---|---|
| 動的価格設定 | 店舗の別のプラグインが各 ログイン中の顧客に個別の価格を計算する場合、POSはその価格を自動的には取得 できません。 |
| 商品アドオン | 店舗の別のプラグインが商品に追加データを付与する場合、POSはそのデータを 自動的に取得できません。POSが取得するのは、REST APIを通じて公開されている データのみです。 |
次のステップ
技術的な詳細については、WooCommerce REST APIの公式ドキュメントをご覧ください。 https://woocommerce.github.io/woocommerce-rest-api-docs/