Shopify APIのサポートされるバージョンについて、影響のある関連情報をお知らせします。今回の記事では、2020年10月1日をもって一番古いサポートバージョンとなる2020年1月(2020-01)の変更内容を振り返ります。
今後の変更のガイドとして、またブラックフライデー・サイバーマンデーに合わせたアプリの機能調整のために、この記事をぜひご活用ください。
変更に関する説明のライブ動画も、以下でご確認いただけます。
バージョニングのおさらい
変更内容の詳細を見る前に、Shopify APIのバージョニングについて復習しておきましょう。
1. 四半期ごとに新しいバージョンをリリースします
通常、リリースは年に4回、1月1日・4月1日・7月1日・10月1日におこなわれます。バージョン名称は年月表記となっていますので(例:2020-01)、安定バージョンの把握や複数バージョンのタイムライン比較が簡単にできます。
2. アプリはリクエストURLで特定したバージョンのAPIをリクエストします
Shopify APIは改良が続けられていますが、アプリを安定して機能させるために、安定バージョンを指定して構築することができます。ただし、特定のバージョンを指定している場合、リクエストURLをアップデートしないかぎり、以降の新しい機能にはアクセスできないので注意が必要です。
3. マーチャント向けの機能を定期的にリリースします
最新の安定バージョンへの影響を避けるため、新機能を導入する際には候補バージョンがリリースされます。このリリース候補は単純に次のAPIバージョンになりますが、年月表記でリクエスト指定が可能です。リリース候補では、最新の機能セットを確かめることができます。ただ、改良がつねに続けられているため、リリース候補をアプリの常態APIとして使用するのは避けてください。
安定性のメリットと最新機能へのアクセスを両立させるには、通常のリクエストは安定パージョンを使用し、特定の新機能を利用するときのみリリース候補にコールすることをお勧めします。
4. 特定バージョンをリクエストしない場合はもっとも古いサポートバージョンが提供されます
これにより既存アプリは、新バージョンのリリース後にリクエストURLをアップデートすることなく機能し続けることができます。この原則は、サポートが終了しているバージョンを指定している場合にも適用されます。
たとえば、サポートが終了している2019-10をアプリがリクエストしている場合、一番古いサポートバージョンの2020-01が提供されます。
この仕組みによってバージョンスイッチ後のリクエストエラーを防ぐことができますが、新しいリリースバージョンを意図的に指定することを推奨しています。
5. 各バージョンは1年間サポートされます
バージョンサポートの終了により、長期的にShopifyとマーチャントにとってベストなサービスを提供できるようアジャイルな体制を保つことができます。各バージョンは1年間サポートされますが、これはつまり古い機能のサポート終了以前に新しい変更を採用して新機能を利用するまで、実質9ヶ月しかないことを意味します。
以上のサイクルを頭に入れたうえで、2020年10月の主要な情報を見ていきましょう。
10月1日の変更
2020年10月1日より、以下の変更がAPIに生じています。
・2020-10バージョンが安定バージョンとなり、一般利用可能に。
・2019-10バージョンのサポートが終了。
・2020-01バージョンの変更によって非推奨となったリクエストはアプリをフラグ付けします。マーチャントへの影響を最小化するために、Shopifyはフラグ付けされたアプリをアプリストアのリスト掲載から外し、新規インストールがブロックされます。また、マーチャントに対して該当アプリがサポート外であることを通知します。
その後、随時以下の対応となります。
・APIバージョンの指定のないリクエストには2020-01バージョンが提供されます。
・2019-10バージョンへのリクエストは無効となり、代わりに2020-01バージョンが提供されます。
・2019-10に設定されているWebhookでも同じ対応となります。
デフォルトとなる2020-01バージョンでもっとも重要なのは、互換性のないAPI変更が含まれることです。2020-01で無効となるリクエストをアプリが実行している場合、2020年10月1日までにリクエスト切り替えのアクションを実施する必要があります。これが為されないと、リクエストが失敗してアプリが機能しなくなります。
それでは、2020-01で導入された重要な変更を個別に見ていきましょう。
気をつけるべき変更内容について
2020-01で導入された互換性のない変更が以下のとおりです。10月1日から、これがもっとも古いサポートバージョンとなります。
1. Collects APIからSmart Collectsが削除されます
より効率的で性能のいいエンドポイント提供のために、コレクションAPIが再設計されています。この移行の一環として、Collects APIから「Smart Collects」が削除されました。これらのスマートコレクトは新しいコレクションAPIに移され、RESTとGraphQLの両方で利用可能です。
ポイント: コレクションに必要なすべてのケースで新しいコレクションAPIを使用してください。スマートコレクションを扱う際にはとくに重要になります。Collects APIでスマートコレクションの情報を得ようとすると、不正確な結果または404エラーが返ってきます。
開発者変更履歴に詳細があります。
2. GraphQLのインプットオブジェクトが250アイテムに制限されます
すべてのコネクションにおいて、得られる結果の最大総数(first:numかlast:numによる)はすでに250件に制限されています。これがインプットの引数にも適用されることになりました。
ポイント: 今後は無限に長いインプットをAPIに渡すことはできません。リクエストをより小さく管理しやすいサイズに分けましょう。
詳しい情報は、開発者変更履歴でご確認いただけます。
こちらも参考にしてください: GraphQLで実現するShopifyメタフィールドからの迅速なデータ取得
2020-10バージョンへの対応
プラットフォームにおける変更が、開発者やパートナーのみなさんに対応努力を要求してしまうことは重々承知しています。バージョニングによって、このプロセスがいくらか予見しやすくなり、混乱をおさえることになればと願っています。次のリソースは、変更に対処するうえで参考になるかと思います。
・APIヘルスレポート: パートナーダッシュボードで見られるアプリごとのヘルスレポートで、あなたに影響のあるAPIの変更が正確にわかります。
・メール: 保留中の変更について通知が受け取れるように、開発者向けコンタクトメールを最新のものにしておきましょう。
・Deprecationヘッダー:アプリ内で、9ヶ月以内にサポートが終わる非推奨のリクエストには、X-Shopify-API-Deprecated-Reasonヘッダーが付与されます。
・開発者変更履歴:Shopify APIや開発プロダクトに関する最新の変更情報が得られます。
または、Shopifyパートナーと開発者向けのマンスリーメールを購読いただくことも可能です。
ブラックフライデー・サイバーマンデーに向け、アプリの機能向上のために2020-01以降のバージョンにアップデートしておきましょう。
2020-10のリリースノートでは、新機能の全体について詳細を見ることができます。またはパートナーダッシュボードで、あなたに影響のある変更をご確認ください。
続きを読む
Shopifyパートナープログラムでビジネスを成長させる
マーケティング、カスタマイズ、またはWebデザインや開発など提供するサービスに関係なく、Shopifyパートナープログラムはあなたを成功へと導きます。プログラムの参加は無料で、収益分配の機会が得られ、ビジネスを成長させる豊富なツールにアクセスできます。情熱的なコマースコミュニティに今すぐ参加しましょう!