下書き注文 商品追加いついて

Topic summary

下書き注文(Draft Order)作成時に、特定条件でプレゼント商品を自動追加する実装について質問されています。

課題:

  • DraftOrderUpdateではLineitemsの更新しかできない
  • GraphQL inputで必要項目を全て定義する必要があるが、既存lineitemsの全情報を取得する方法が不明

提案されたアプローチ:

  • RunCodeで既存lineitemsを退避
  • 退避データに商品追加してDraftOrderUpdateを実行

回答内容:

  • 全情報を一括取得する方法は存在しないため、必要なfieldを個別に設定する必要がある
  • ただし、通常商品(カスタム商品でない)で、Line Item PropertiesやDiscountを使用していない場合は、variant IDとquantityのみで対応可能
  • variant IDが存在する商品では、skuやtaxableなどの情報はShopifyが自動処理するため再指定不要

状態: 部分的な解決策が提示されたが、完全な実装方法については継続検討中

Summarized with AI on October 29. AI used: claude-sonnet-4-5-20250929.

DraftorderCreateをトリガーに、特定の商品、購入金額に応じてプレゼント商品を追加したいと思ってますが、

DraftorderUpdateでは、Lineitemsのupdateしかできない為、Update前にruncodeを使ってlineitemsの内容を退避して、退避したLineitemsに商品を追加してDraftorderUpdateが実行できないか? 調査していますが、

inputとなるGraphqlでは、必要項目を全て定義しないといけない為、lineitemsの内容を全て取得するための方法がないか? 調査してますが、無理でしょうか?

@sumi3

inputとなるGraphqlでは、必要項目を全て定義しないといけない為、lineitemsの内容を全て取得するための方法がないか? 調査してますが、無理でしょうか?

調べてみましたが、一括で全ての情報を出力するような方法はないようなので、地道にfieldを設定するしかないように思います。

しかし、

最初に作成した下書き注文に含まれる商品は、カスタム商品ではなく、通常商品でしょうか?

もし、通常商品であり、かつ、Line Item PropertiesやDiscountを設定されていないようでしたら、必要な情報はvariant idとquantityだけかと思います。

variant idが存在する商品の場合、skuやtaxableを変更しよとしても、Shopifyに無視されるので、DraftOrderUpdateでもう一度指定し直す必要がありません。

大した情報がなく恐縮です。

(キュー田辺)

1 Like