複数商品の在庫数を一括更新できるGraphQLについて

Topic summary

廃止されたAPIの代替手段を探している質問

以前使用できた「InventoryBulkAdjustQuantitiesAtLocationMutation」というGraphQL APIが現在使用不可になっており、代替手段を探している。

要件:

  • 約1万商品の在庫数を2〜3分以内に一括更新したい
  • 在庫数を「相対数」ではなく「絶対数」で更新したい

提案された解決策:

回答者(Qcoltd)が「productSet」ミューテーションを提案。ただし以下の制限がある:

  • 非同期実行:最大2,000バリアントまで
  • 同期実行:最大100バリアントまで

課題:

1万商品の場合、2,000個ずつのループ処理が必要となり、2〜3分以内での処理完了は困難と思われる。

状況: 完全な解決策は見つかっておらず、要件を満たす方法は引き続き検討中。

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

過去に複数商品の在庫数を一括で更新できるGraphQLで

「InventoryBulkAdjustQuantitiesAtLocationMutation」がありましたが、

現在は使用できなくなっております。

現在は複数商品の在庫数を一括で更新できるGraphQLは無くなってしまったのでしょうか?

1万ほどの商品の在庫数の更新を2,3分以内にできる術を探しております。

できれば「InventoryBulkAdjustQuantitiesAtLocationMutation」のように在庫数を「相対数」でなく「絶対数」で更新したいです。

何卒宜しくお願い致します。

@t_tanaka

下記はいかがでしょうか?

productSet

https://shopify.dev/docs/api/admin-graphql/latest/mutations/productSet

ただし、

https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/sync-data

一度に更新できるVariantの数に制限があるようです。

The productSet mutation has an input limit of 2K variants when run asynchronously and only 100 variants when run synchronously.

非同期であれば、Variantの数は2000個まで。同期であれば、100個まで、の更新のようです。

ですので、商品数が10,000個以上あるとのことなので、Variantを2,000個ずつループ処理することになるかと思います。

質問者様の商品数的に、ループ処理も必要ですし、2,3分では処理が終わりそうにもないので、参考にならない情報だったかもしれませんが、共有まで。

(キュー田辺)