FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

GraphQL Admin APIでfulfillmentStatusに相当するものを求めたい

GraphQL Admin APIでfulfillmentStatusに相当するものを求めたい

R_Yamamoto
Shopify Partner
1 0 0

LineItemのfulfillmentStatusとfulfillableQuantityについて、下記ドキュメントを参照しております。

https://shopify.dev/docs/api/admin-graphql/2024-10/objects/LineItem#field-fulfillmentStatus
fulfillmentStatus: String!: non-null: Deprecated
Use [FulfillmentOrderLineItem#remainingQuantity] instead
The line item's fulfillment status. Returns 'fulfilled' if fulfillableQuantity >= quantity, 'partial' if fulfillableQuantity > 0, and 'unfulfilled' otherwise.

[[https://]https://]https://shopify.dev/docs/api/admin-graphql/2024-10/objects/LineItem#field-fulfillableQuantity
fulfillableQuantity: Int!: non-null: Deprecated
Use [FulfillmentOrderLineItem#remainingQuantity] instead.
The total number of units to fulfill.

上記項目がDeprecatedになったため、fulfillmentStatusは下記計算ロジックにて求められると認識しました。
「Returns 'fulfilled' if fulfillableQuantity >= quantity, 'partial' if fulfillableQuantity > 0, and 'unfulfilled' otherwise.」
しかし、実際テストデータで検証したところ、上記記述と違って、以下のようになっているようです。

REST Admin APIの場合:
Order.line_items.fulfillment_status = 'fulfilled' if fulfillable_quantity = 0;
Order.line_items.fulfillment_status = 'partial' if fulfillable_quantity > 0 AND fulfillable_quantity < quantity;

GraphQL Admin APIの場合:
fulfillmentStatus = 'fulfilled' if LineItem.unfulfilledQuantity = 0
fulfillmentStatus = 'partial' if LineItem.unfulfilledQuantity > 0 AND LineItem.unfulfilledQuantity < LineItem.quantity

また、fulfillableQuantityの代替についても、上記記述にあるFulfillmentOrderLineItem.remainingQuantityではなく、
LineItem.unfulfilledQuantityの方が合っている気がしますが、その点ご教示いただけないでしょうか。

1件の返信1

Qcoltd
Shopify Partner
1407 545 520

@R_Yamamoto 様

 

詳しくないのですが、興味があり調べてみました。

※GraphQLの方だけです。

 

> GraphQL Admin APIの場合:
> fulfillmentStatus = 'fulfilled' if LineItem.unfulfilledQuantity = 0
> fulfillmentStatus = 'partial' if LineItem.unfulfilledQuantity > 0 AND LineItem.unfulfilledQuantity < LineItem.quantity

 

合っていらっしゃると思います。

 

また、fulfillableQuantityの代替についても、上記記述にあるFulfillmentOrderLineItem.remainingQuantityではなく、
> LineItem.unfulfilledQuantityの方が合っている気がしますが、その点ご教示いただけないでしょうか。

 

こちらもおっしゃる通り、 LineItem.unfulfilledQuantityの方が合っているかと思います。

計算には、LineItem.quantityが必要なので、LineItem.unfulfilledQuantityの方がQueryがすっきりしますので。

 

しかし、

一度、Shopifyにもお問い合わせいただいた方が良いかと思います。

 

パートナーアカウントをお持ちだと思いますので、

パートナーダッシュボードのサポートからShopifyにお問い合わせすると、

通常のサポートよりも技術的な質問に回答してもらえます。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/