Admin API GraphQLで注文情報の中で一部返金済みがある注文で取得する商品と取得しない商品を分けたい

Topic summary

Shopify Admin API GraphQLで注文情報を取得する際の課題について議論されています。

現状の問題:

  • fulfillment_status:unshipped AND financial_status:paidで注文を取得中
  • 商品A・Bを購入後、商品Bがキャンセルされ一部返金された注文が取得できない
  • 注文ステータスがPARTIALLY_REFUNDEDになると除外されてしまう

提案された解決策:

  • クエリをfinancial_status:paid OR financial_status:partially_refundedに変更することで一部返金済み注文も取得可能
  • ただし、この方法では返金済み商品も含めて全商品が取得される

解決方法:

  • lineItemcurrentQuantityフィールドを活用
  • このフィールドは返金後の実際の商品数を返す(1個購入→全額返金なら0、2個購入→1個返金なら1)
  • currentQuantityが0の商品を返金済みと判定し、支払い済み商品と区別できる

投稿者はcurrentQuantityの仕様について確認を求めています。

Summarized with AI on November 16. AI used: claude-sonnet-4-5-20250929.

現状、ordersに対して配送していないかつ支払いスタータスがPAIDの注文情報のみを取得しているのですが(添付コード参照)、これだと以下の状態の注文がある時に注文情報が取得できなくて困っています。

  • あるお客様が、商品A, Bを購入

  • 商品Bがキャンセルされ一部返金

  • 注文の状態が、おそらくPARTIALLY_REFUNDEDになり取得できていない。(こちらも認識が合っているか確認したいです。)

なので、以下のクエリをfinancial_status:paid OR financial_status:partially_refundedとすれば取得できると思っています。ただ、上記だと返金した商品も取得してきてしまうと思っており、一つの注文の中で支払い済みの商品と返金した商品を区別する方法が何かないか調べているのですが、見つからずお力をいただきたいです。

query {
  orders(query: "-fulfillment_status:shipped AND financial_status:paid") {
  }
}

上記問題は、lineItemにcurrentQuantityフィールドというのがあり返金された商品があった時に、1個しか買っていない場合は、0を返し、同じ商品を2個買って1個だけ返金した場合は、1という数字が返ってきており現在ある商品から返金した商品の数を引いた値を取得できているので、これで良さそうだと思えるのですが、currentQuantityが0だったら本当に返金済み商品と言い切れるかの根拠がドキュメント見てもわからなかったので、currentQuantityについてご教授いただきたいです。