Adminアクション拡張がPicking APIにアクセス可能に

1. 技術的課題の定義と現状分析

ShopifyにおけるAdminアクション拡張とAdmin印刷アクション拡張は、商品、コレクション、商品バリエーションの選択を行うための重要な機能です。しかし、これらの拡張機能が商品やリソースの選択を行うために必要なAPI、つまりResource Picker APIやPicker APIにアクセスできないという課題がありました。

2. 具体的な技術的ソリューションの提案

この課題を解決するために、ShopifyではAdminアクション拡張とAdmin印刷アクション拡張が、Resource Picker APIおよびPicker APIにアクセスできるようになりました。これにより、アプリが定義するリソースの選択が可能になり、商品、コレクション、商品バリエーションの選択もよりスムーズに行えるようになります。

3. 実装手順とコード例

まず、Adminアクション拡張を構築します。以下にその手順とサンプルコードを示します。


// 必要なパッケージをインストールします
npm install @shopify/admin-ui-extensions-react

// Adminアクション拡張を構築します
import {extend, AdminAction} from '@shopify/admin-ui-extensions-react';

extend('AdminAction', (root) => {
  root.appendChild();
});

次に、Resource Picker APIやPicker APIを用いてリソースの選択を行うコードを追加します。


// Resource Picker APIを用いて商品の選択を行います
root.resourcePicker.open({resourceType: 'Product'});

// Picker APIを用いてアプリが定義するリソースの選択を行います
root.picker.open({resourceType: 'CustomResource'});

4. パフォーマンス・コスト分析

この新機能の導入により、選択可能なリソースが増えますが、パフォーマンスやコストに大きな影響はありません。APIの呼び出しコストは通常の範囲内で、API呼び出しのレートリミットも十分な余裕があります。

5. 実装時の注意点・ベストプラクティス

APIを使用する際は、エラーハンドリングを適切に行うことが重要です。また、APIのレートリミットを考慮して、APIの呼び出し頻度を適切に管理する必要があります。

6. 次のステップ・発展案

次のステップとしては、この新機能を活用してAdminアクション拡張を更に強化することが考えられます。たとえば、選択したリソースに基づいて特定のアクションを自動化する機能を追加するなど、ユーザビリティの向上に貢献する新たな拡張を開発することが可能です。

参考記事: Admin action extensions now have access to picking APIs