レガシー REST API よ、さようなら

レガシーAPI(古いAPI)が使えなくなるようになりますので、もしレガシーAPIを使っている場合の説明などを記載している開発者ブログが「Goodbye, Legacy REST API (barryhughes May 14, 2024)」として更新されましたので、その投稿の日本語訳です。

ここから=====

この投稿は、2024年6月11日にリリース予定の WooCommerce 9.0でレガシー REST API が削除されることをお知らせするものです。

ほとんどのユーザーにとって問題はありませんが、レガシー REST API に依存しているユーザーのために、移行期間を延長するためのプラグインを用意しました。

困惑したり、さらに詳しい説明が必要な場合は、以下をお読みください。

レガシーREST APIとは?

WooCommerceは、他のシステムがオンラインストアと通信し、制御できるようにする REST API を提供しています。例えば、配送サービスをストアと統合する場合、この REST API を利用して、商品が顧客に発送されるたびに注文ステータスを更新することができます。

実際には、WooCommerce REST API にはいくつかのサポートされているバージョンがありますが、今回削除されるのは、長年非推奨となっている非常に古いバージョンのみです。

レガシーREST APIを使用しているか?

これが重要な質問です。レガシーREST APIを使用していない場合、この変更を気にする必要はありません。

最初のステップとして、WooCommerce ▸ 設定 ▸ 高度な設定 ▸ レガシーREST API にアクセスし、レガシーシステムが有効になっているか確認してください。もし有効になっていない場合、心配する必要はなく、読み進める必要もありません。それ以外の場合、有効になっていても実際に使用されているか不明であり、単に無効にすることができるかもしれません。

この質問に答えやすくするために、WooCommerce の最近のバージョン(8.5以降)では、レガシー REST API が使用されているかどうかを検出し、以下のような管理者通知を表示します:

管理者通知の例

WooCommerce レガシー REST API がアクティブに使用されていることを警告する通知の例。 リンクをたどってログファイルを確認し、追加情報を収集できます。例えば:

ログエントリの例

レガシーREST APIの最近の使用に関する情報を含むログエントリの例。 上記の例では、以下のような情報がログエントリに記録されています:

  • ルート: /customers/count → 顧客情報にアクセスしています。
  • shipshapeshipping/1.2.3 → API リクエストを行っているサービスの手がかり(ここでは架空の配送プロバイダであるShipshape Shipping)。

この情報に基づいて、関連するサービスプロバイダに連絡し、現在サポートされているREST APIバージョンへの移行計画について尋ねることができます。

レガシーREST API の使用を確認する他の方法

また、WooCommerce ▸ 設定 ▸ 高度な設定 ▸ ウェブフック画面にアクセスすることをお勧めします。以下のスクリーンショットのように、1つ以上のアクティブなレガシーウェブフックが表示される場合、レガシー REST API がまだ必要である可能性があります:

レガシーウェブフックのリストの表示例

最後に、WooCommerce ▸ 設定 ▸ 高度な設定 ▸ REST API画面にアクセスすることも役立ちます。ここには生成された API キーのリストがあり、何も表示されない場合、外部サービスがレガシー API を使用している心配はありません。つまり、次の条件を満たす場合、レガシー REST API を無効にしても安全です:

  • レガシーウェブフックがない
  • APIキーがない

一方で、API キーがリストされている場合、各キーに割り当てられた説明に基づいてどのサービスが使用しているかの手がかりを得ることができますが、それがレガシー API 専用かどうかを判断することはできません。しかし、WooCommerce 8.5 以降にアップデートすると、上記の検出システムを利用できます。

レガシー REST API プラグインのインストール

移行期間を延長する必要がある場合、公式 WordPress プラグインディレクトリからレガシー REST API プラグインをインストールして有効にすることをお勧めします:

wordpress.org/plugins/woocommerce-legacy-rest-api

実際に、WooCommerce 8.8 以降、このプラグインが必要だとシステムが判断した場合、既に自動的にインストールされていることがあります:

自動インストールされたプラグインの通知例

このプラグインの自動インストールに関する詳細と、インストールをブロックするためのガイダンスについては、このアナウンスで学ぶことができます。

レガシープラグインを持っている場合、次は?

レガシー REST API プラグインを無期限にサポートする予定はなく、現在サポートされている REST API バージョン(現在の安定版はバージョン3)への移行を強くお勧めします。

ほとんどの場合、これは実際には統合を決定した様々なサードパーティサービスの手に委ねられているため、彼らの移行計画について尋ねるのが良いでしょう。

さらに、レガシー REST API は現在のところ高性能オーダーストレージ(HPOS)と互換性がありません。両方を使用する必要がある場合は、WooCommerce ▸ 設定 ▸ 高度な設定 ▸ 機能(HPOSが有効かどうかもこの画面で確認できます)にアクセスし、互換モードをオンにしてください。

最後に、追加の安全のためにレガシープラグインをインストールすることを単に望むかもしれません。これには全く問題ありませんが、上記のように、実際のレガシー REST API の使用を通知する通知やログエントリに注意してください。数週間または数ヶ月が経過しても使用が検出されない場合は、プラグインを削除しても安全であると考えられます。

いつでもお手伝いしますので、何か不明点があればご連絡ください。