Admin UI拡張機能におけるカートとチェックアウトバリデーション設定のプリロード
ShopifyのAPI更新により、Validationレコードとそのメタフィールドをプリロードすることで、fetchコールなしでアクセスできるようになりました。この記事では、この新たな機能をどのように利用し、適用するかについて詳しく解説します。
技術的課題と現状分析
これまで、Validationレコードとそのメタフィールドへのアクセスにはfetchコールが必要であり、これがパフォーマンスに影響を及ぼしていました。また、近い将来、Validation APIは新たなread_validationsアクセススコープによって制限される予定であり、これに対応しないとfetchコールが失敗する可能性があります。
技術的ソリューションの提案
この問題を解決するため、Validationレコードとそのメタフィールドをプリロードする新たな形式を導入することを提案します。これにより、fetchコールなしでこれらのデータにアクセスでき、パフォーマンスが向上します。
実装手順とコード例
新たな形式に移行するためには、次の手順で更新を行います。
- Admin UI拡張機能の設定を開きます。
- 新しい
read_validationsアクセススコープを有効にします。 - プリロードの設定を有効にします。
この設定後、Validationレコードとそのメタフィールドを次のようにプリロードできます。
const validationRecord = preload.validationRecord;
const metafields = preload.metafields;
パフォーマンス・コスト分析
この更新により、Validationレコードとそのメタフィールドへのアクセス時間が大幅に短縮され、結果的に全体のパフォーマンスが向上します。また、fetchコールを減らすことで、APIリクエストのコスト削減にも繋がります。
実装時の注意点・ベストプラクティス
新形式への移行は、早ければ早いほどよいと言えます。なぜなら、近い将来、fetchコールが失敗する可能性が出てくるからです。そのため、すぐにでも新しいread_validationsアクセススコープを有効にし、プリロードの設定を行いましょう。
次のステップ・発展案
このプリロード機能は、現在カートとチェックアウトバリデーション設定に限定されていますが、今後他の機能にも拡張される可能性があります。その際には、同様の手順で新しい形式にすぐに対応できるよう、新たなAPIの変更に常に注視しましょう。
参考記事: Preloaded Cart and Checkout Validation configuration in Admin UI extensions






Share:
Cart checkoutChargeAmountが割引前の金額を返す
発送注文の新たなソートオプション