SuggestedOrderTransactionオブジェクトに新たなフィールドが追加
Shopify GraphQL APIの2020-10バージョンより、SuggestedOrderTransactionオブジェクトに新フィールドsupportedRefundTypeが追加されています。このフィールドには、CARD_NOT_PRESENT_REFUNDまたはCARD_PRESENT_REFUNDの二つの値が格納されます。
技術的課題の定義と現状分析
以前までのShopify APIでは、返金処理のタイプを明示的に区別する方法がありませんでした。物理的なカードが手元にない場合の返金(カード非存在返金)と、物理的なカードが存在する場合の返金(カード存在返金)を区別することができなかったため、POS(販売時点情報管理)システムを通じてのみ処理できる「カード存在返金」の処理に困難がありました。
具体的な技術的ソリューションの提案
新たに追加されたsupportedRefundTypeフィールドにより、返金タイプの明示的な区別が可能になりました。APIクライアントがデフォルトでSuggestedOrderTransactionを受け取るのは、supportedRefundTypeがCARD_NOT_PRESENT_REFUNDの場合となります。
実装手順とコード例
GraphQL APIを利用して新たなフィールドを取得するには、以下のようなコードが考えられます:
query {
order(id: "gid://shopify/Order/1234567890") {
suggestedOrderTransaction {
supportedRefundType
}
}
}
上記のクエリを実行することで、指定した注文のsupportedRefundTypeを取得することができます。
パフォーマンス・コスト分析
返金タイプを判別する新たなフィールドの導入により、不要なAPI呼び出しを避けることが可能になり、パフォーマンスの向上及びコスト削減が期待できます。
実装時の注意点・ベストプラクティス
新フィールドは2020-10バージョンより追加されていますので、それ以前のバージョンを使用している場合はバージョンアップが必要となります。また、supportedRefundTypeがCARD_PRESENT_REFUNDの場合は、物理的なカードが必要な返金処理であるため、POSシステムを通じてのみ処理可能である点に注意が必要です。
次のステップ・発展案
この新フィールドを活用して、返金処理の自動化やエラーハンドリングの改善など、Shopifyストアの運用効率の向上を図ることが可能となります。






Share:
GraphQL Admin APIにおける標準化されたカスタム商品タイプの導入
ProductVariantオブジェクトに新たに追加された、オンライン販売可能数量フィールド