異なるフルフィルメントサービスに割り当てられた注文は、オーダーマネジメントアプリで扱えなくなります

1. 技術的課題の定義

Shopifyは、2024年10月から、フルフィルメントの作成に関するwrite_third_party_fulfillment_ordersアクセススコープの許可が変更されると発表しました。これにより、オーダーマネジメントアプリは他のフルフィルメントサービスアプリが所有するロケーションに割り当てられたフルフィルメントオーダーを扱えなくなります。

2. 現状の技術スタックと問題分析

これまで、オーダーマネジメントアプリは、他のフルフィルメントサービスアプリが所有するロケーションに割り当てられたフルフィルメントオーダーを扱うことが可能でしたが、この変更により、その機能が制限されます。ただし、オーダーのアクセスや管理は引き続き可能で、フルフィルメントの作成のみが禁止されます。

3. 技術的ソリューションの提案

この問題に対応するためには、アプリがフルフィルメントの作成が可能かどうかを確認するために、supportedActionsGraphQLまたはREST APIを通じてクエリすることが求められます。フルフィルメントオーダーが商人管理のロケーションまたはクエリを実行しているフルフィルメントサービスに割り当てられていて、かつ扱える状態にある場合、CREATE_FULFILLMENTが可能なオプションとして返されます。

4. 実装手順とコード例

以下に、GraphQL APIを使用してsupportedActionsをクエリするための簡単なコード例を示します。


query {
  fulfillmentOrder(id: "gid://shopify/FulfillmentOrder/1") {
    supportedActions
  }
}

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

この変更により、オーダーマネジメントアプリのフルフィルメント作成のパフォーマンスに影響が出る可能性があります。しかし、新たなクエリを実装することで、この変更に対応し、オーダーマネジメントのパフォーマンスを維持することが可能です。

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

この変更は2024年10月から適用されますので、それまでに対応が必要です。また、アクセススコープwrite_assigned_fulfillment_orderswrite_merchant_managed_fulfillment_ordersは変更されず、それぞれのスコープを持つフルフィルメントサービスアプリとオーダーマネジメントアプリは引き続き注文を扱えます。

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

この変更により、フルフィルメントの作成に関するアクセススコープの適用範囲が限定されます。それに伴い、より詳細な権限管理が求められるようになる可能性があります。今後のShopifyの更新を見守りつつ、適切な対応策を検討することが重要となります。

参考記事: Order Management apps can no longer fulfill orders that are assigned to a different fulfillment service