Liquid、JavaScriptなどに関する質問
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の方が合っている気がしますが、その点ご教示いただけないでしょうか。
詳しくないのですが、興味があり調べてみました。
※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にお問い合わせすると、
通常のサポートよりも技術的な質問に回答してもらえます。
ご参考まで。
(キュー田辺)
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025