メインコンテンツにスキップ
バージョン: 1.x

WooCommerce REST APIの理解

WooCommerce REST APIは、店舗オーナーがWooCommerceの店舗を他のアプリケーションやサービスに接続するための、標準化された「チャネル」の集まりのようなものです。

仕組みを簡単に説明します。

  1. WooCommerceの店舗と外部アプリケーションをつなぐ橋渡しとして機能し、相互の通信とデータ共有を可能にします。

  2. APIは特定のエンドポイントにリクエストを送信して動作します。エンドポイントは、さまざまな種類の店舗データに対応する「チャネル」と考えることができます。たとえば、商品、注文、顧客用のエンドポイントがあります。

  3. 外部アプリケーションは、これらのエンドポイントを使用して次の操作を行えます。

  • 情報の取得(商品一覧の取得など)
  • 新しいデータの追加(新規注文の作成など)
  • 既存情報の更新(商品の価格変更など)
  • データの削除(古くなった商品の削除など)

従来の多くのWordPressプラグインのようにPHPフックやフィルターに依存するのではなく、JSONと呼ばれる構造化された予測可能な形式でデータを送受信します。

SVG not found

POSでJSONデータを表示する​

POSが「認識している」内容を把握できるよう、インターフェースの多くの部分にJSONビューを用意しています。 たとえば、POSで注文メタデータやカートの明細行を編集すると、下のスクリーンショットのようにJSONタブが表示されます。

POSで明細行を編集する

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/