今回は10月のAPI機能のまとめ記事をお届けします。最新APIリリースの変更により、アプリ品質と開発体験の向上がどのように実現されるか、わかりやすくご紹介します。
今月はAPIに多くの機能が追加されました。アセットのチェックサム、割引の拡張、リーガルポリシーAPI、下書き商品などがあります。また、2020-10のリリースにより2019-10バージョンが削除となるため、念のためAPIヘルスレポートで互換性の確認をお願いします。
目次
1 チェックサムの機能
2 割引の拡張
3 注文の編集中に割引を追加
4 リーガルポリシーAPI
5 下書き商品
2020-10バージョンの内容
以下の機能が2020-10バージョンに含まれています。
1. チェックサムの機能
今まで、ローカルのテーマファイルをオンラインストアに同期することは、なかなか大変でした。変更があったファイルの特定ができなかったため、すべてのローカルファイルをプッシュする必要がありました。2020-10リリースでは、チェックサムがテーマファイルに追加され、必要なファイルだけリクエストしてアップデートできるようになっています。
Shopify Theme Kitの過去バージョンでは、ローカルからすべてのファイルをストアフロントにプッシュしていました。大規模なテーマの場合、数分かかります。2020-10バージョンのアセットAPIに含まれるチェックサムを活用すれば、デプロイの時間はほぼ一瞬になります。

チェックサム無しのテーマファイルのデプロイ。骨組みだけのテーマのアップロードにかかる時間は15秒。

バージョン1.10以降のテーマキットでは、前回のデプロイ時から変更があったファイルのみを更新するため高速アップロードが実現する。上と同じテーマファイルを使って3つのファイルを編集後、デプロイにかかる時間は1秒以下。
チェックサムを使用して10ファイルを編集した場合、総ファイル数ごとのアップロード時間の比較がこちらです。

より詳しい情報は、ドキュメントまたはチェックサムのブログ記事でご覧ください。
2. 割引の拡張
今回のバージョンで、割引機能を拡張する新しいフィールド、ミューテーション、引数、タイプなどが追加されました。GraphQL Admin APIを使用すると、自動割引の利用数の取得や、割引の検索、一括ミューテーションまで可能となり、割引の管理にかかるコール数を大幅に削減できます。
たとえば、今までは割引コード10件を削除しようとする場合、それぞれの割引IDをもつ10のミューテーションを実行する必要がありました。これらは1個のトランザクションとして処理できるのですが、APIのコール制限に大きな負荷となります。
今回、1つのクエリで10の割引コードが削除できます。
mutation { | |
discountCodeBulkDelete( | |
ids: [ | |
"gid://shopify/DiscountCodeNode/417076609046" | |
"gid://shopify/DiscountCodeNode/417076123144" | |
"gid://shopify/DiscountCodeNode/417076632452" | |
"gid://shopify/DiscountCodeNode/417074353452" | |
"gid://shopify/DiscountCodeNode/417012837128" | |
"gid://shopify/DiscountCodeNode/417712637123" | |
"gid://shopify/DiscountCodeNode/412361823821" | |
"gid://shopify/DiscountCodeNode/417238712312" | |
"gid://shopify/DiscountCodeNode/491819184123" | |
"gid://shopify/DiscountCodeNode/417123717244" | |
] | |
) { | |
job { | |
done | |
id | |
} | |
userErrors { | |
code | |
field | |
message | |
} | |
} | |
} |
一括クエリは、自動割引と基本割引のアクティベート、ディアクティベート、削除を一括でおこないます。一括クエリにより、大量の注文における多数の割引コードを管理するのに必要なリクエスト数を削減でき、ほかの重要機能のためにAPIコール制限を解放しておくことが可能です。
割引の一括処理の詳細は、開発者ドキュメントでご確認いただけます。
こちらも参考にしてください: Shopify API 2020-10バージョンの廃止情報
3. 注文の編集中に割引を追加
GraphQL Admin APIによって注文の編集をするとき、マニュアルまたはパーセンテージ割引を、注文編集中に追加したアイテムに対して付加できるようになりました。注文編集中の割引追加はまったく新しい機能であり、GraphQLでのみ可能です。
以下は、注文編集中にラインアイテムに割引を追加するミューテーションの例です。
mutation addDiscount { | |
orderEditAddLineItemDiscount( | |
id: "gid://shopify/CalculatedOrder/5678" | |
lineItemId: "gid://shopify/CalculatedLineItem/121314" | |
discount: { percentValue: 20, description: "Upsell" } | |
) { | |
calculatedOrder { | |
id | |
addedLineItems(first: 5) { | |
edges { | |
node { | |
id | |
quantity | |
} | |
} | |
} | |
} | |
userErrors { | |
message | |
} | |
} | |
} |
注文編集のミューテーションの事例やそのほかの追加手順については、ドキュメントもご参照ください。
4. リーガルポリシーAPI
過去数年、世界中の政府がオンラインビジネスのオーナーやその買い物客を保護するための法的規制や推奨事項を成立させてきました。これらの要件は、ストアの利用規約やプライバシーポリシー、返品ポリシーなどにおいて明らかにされる必要があります。
前回バージョンまで、これらのリーガルポリシーはShopifyのAdmin設定ページでのみ編集可能でした。2020-10バージョンでは、リーガルポリシーはGraphQL Admin APIでアクセス可能となり、アプリによってマーチャントの法的側面の管理をサポートすることができます。
以下のshopPoliciesのリクエストは、ストアのリーガルポリシーのコンテンツとタイプを返します。
{ | |
shop { | |
shopPolicies { | |
body | |
type | |
} | |
} | |
} |
付随するミューテーションでリーガルポリシーを修正することもできるので、特定の地理上にあるストアのオーナーがローカル規制に従うよう手助けする場合にとくに活用できます。shopPolicyUpdateミューテーションの詳細は、開発者ドキュメントをご参照ください。
5. 下書き商品
2020-10バージョンから、 statusフィールドはRESTとGraphQLの両方の商品APIで利用可能になります。このフィールドは、商品ステータス(下書き/有効/アーカイブ済み)にもとづいた商品の特定、フィルタリング、管理を実現します。
「下書き」ステータスで商品を作成し、修正し、関連する販売チャネルに「有効」ステータスで利用可能な状態にもっていくことができます。商品を「アーカイブ済み」にすることは、商品情報を失うことなく商品リストを整理するうえで役に立ちます。
以下は、「下書き」ステータスの商品を取得するクエリの例です。
{ | |
products(first: 2, query: "status:draft") { | |
edges { | |
node { | |
id | |
title | |
status | |
} | |
} | |
} | |
} |
商品のステータスを変更するミューテーションなどの商品ステータスに関する詳細情報は、ステータスを利用した商品管理ガイドをご覧ください。
続きを読む
Shopifyパートナープログラムでビジネスを成長させる
マーケティング、カスタマイズ、またはWebデザインや開発など提供するサービスに関係なく、Shopifyパートナープログラムはあなたを成功へと導きます。プログラムの参加は無料で、収益分配の機会が得られ、ビジネスを成長させる豊富なツールにアクセスできます。情熱的なコマースコミュニティに今すぐ参加しましょう!