4

Shopify API を使用すると、クライアントは一度に 250 アイテムのリスト (製品、コレクションなど) をダウンロードできます。1 つの API 呼び出しで複数のアイテムを含む新しいリストもアップロードする方法はありますか? api.shopify.com のドキュメントによると、呼び出しごとに 1 つのアイテムしか作成できないようです。真の場合、たとえば店頭と既存の在庫管理システムを接続しようとするユーザーにとって、逆効果であり、非常に非効率的です。

20,000 個の製品と 200 個のカスタム コレクションを含むストアがあり、議論のために、製品が 1 つのコレクションのみに属しているとします。製品に関する情報をダウンロードするには、products.xml への 80 回の呼び出し、custom_collections.xml への 1 回の呼び出し、collects.xml への 80 回の呼び出しが必要です。この操作を実行するために必要な API の呼び出しは 161 回だけであり、その数は、Shopify によって課された 5 分間で 500 回の呼び出しという制限を大幅に下回っています。

ただし、反対のタスク (ドキュメントに従って、一度に 1 つずつ同数の製品を作成または変更する) を実行するには、products.xml への 20,000 回の API 呼び出し、custom_collections.xml への 200 回の呼び出し、collects.xml への 20,000 回の呼び出しが必要になります。 、5 分ごとに 500 回の呼び出しで完了するのに 7 時間かかります。

これを行うより良い方法はありますか?

編集 以下の回答から、実際、Shopify API では一度に複数の製品を作成/更新できないことがわかります。私の意見では、これは効率的な製品の重大な欠点であるため、この機能の実装についての私の要望をここに残しておきます。今のところ、API をノンストップでヒットし、製品をできるだけ速く更新するサービス アプリを作成する必要があります。

4

2 に答える 2

1

2019 年 10 月の時点で、Shopify GraphQL API には一括操作の変更があり、大量の作業を実行できます。おそらくこのユースケースには最適ではありませんが、それでも改善されます.

実際、API を使用して 20,000 個の製品を作成するには、20,000 回の API 呼び出しを行う必要があります。API 呼び出しは、300 秒あたり 500 回に割り当てられます。あなたはすべての点で正しいです。

シンプルなスクリプトで API の制限を確実に順守することができるので、開始するだけです。完了までに 7 時間かかる場合はどうすればよいでしょうか? API 呼び出しごとに $ は請求されません。また、API の問題を完全に回避し、CSV ファイルを使用して Shopify で 20,000 個の商品すべてをショップに直接アップロードすることもできます。そこでは API 呼び出しは焼き付けられません。

于 2012-08-13T16:08:58.007 に答える
0

いいえ、API を使用して製品を一括作成する方法はありません。

在庫管理システムを使用する場合、次のことをお勧めします。

  1. 最初の 7 時間のセットアップを待つか、販売者にCSV アップロードを使用して最初のロードをバッチ作成するよう依頼する
  2. 変更された製品在庫のみを通知するWebhook に登録することで、集中型在庫システムでそれらのエントリを更新するだけで済みます
  3. ストアとの同期について説明しているsince_idこの記事に従って使用する

さらに余裕が必要な場合は、apps@shopify.com に連絡して API 制限を引き上げ、必要な理由とさらに必要な呼び出し数を伝えてください。


エドワード、Shopify 開発者アドボケイト

于 2012-08-13T16:12:13.723 に答える