延遲時間是指從發出要求到收到回應的時間。本指南提供 Merchant API 要求的延遲時間數量級。請使用這些值設定逾時時間,並規劃整合的處理量。
大多數 Merchant API 要求都能在 1 秒內完成。當地和區域商品目錄更新可能需要幾秒鐘,部分報表查詢則需要更長的時間。
一般延遲時間
下表列出各類要求的約略延遲時間。一般延遲時間是中位數:有一半的要求完成速度較快。最慢的 1% 要求所需時間,與最後一欄顯示的時間相同或更長。
| 要求類型 | 方法範例 | 一般延遲時間 | 最慢的 1% 要求 |
|---|---|---|---|
| 產品讀取和寫入 | products.get、productInputs.insert、productInputs.patch、productInputs.delete |
100 到 600 毫秒 | 約 2 秒 |
| 大多數其他要求 | products.list、accounts.get、dataSources.list、aggregateProductStatuses.list |
不到 1 秒 | 幾秒 |
| 寫入店面和區域商品目錄資料 | localInventories.insert、regionalInventories.insert 和對應的 delete 方法 |
幾秒 | 至少 10 秒 |
| 報表查詢 | accounts.reports.search |
約半秒 | 30 秒以上 |
報表查詢的差異最大。延遲時間取決於您查詢的報表表格,以及查詢涵蓋的資料量。大約每 10 個報表查詢中,就有 1 個通常需要超過 2 秒,少數查詢可能需要超過 1 分鐘。
建議
- 設定逾時時間,並預留緩衝時間。如果您在用戶端設定要求逾時,請將逾時時間設為遠高於「一般延遲時間」一節中列出的最慢延遲時間。舉例來說,60 秒的逾時時間足以處理大多數要求,但並非所有報表查詢。
- 平行傳送獨立要求。由於每次寫入商品目錄都需要幾秒鐘的時間,因此逐一傳送會限制處理量。平行傳送獨立要求,或使用批次要求。傳送多項要求時,請留意每分鐘和每日上限。詳情請參閱「頻率配額」。
- 限制報表查詢,只擷取所需資料。如果查詢涵蓋大型資料集 (例如較長的日期範圍),則需要較長時間,且可能會逾時。如需大量資料,建議使用 BigQuery。詳情請參閱「將 Google Merchant Center 資料載入 BigQuery」。
- 以指數輪詢方式重試。如果要求逾時或因暫時性錯誤而失敗,請以指數輪詢方式重試。
處理時
對於變更資料的要求,如果回應成功,表示 Merchant API 接受變更,但回應後會繼續處理。處理時間是指從回應到其他資源顯示變更的時間。處理時間不屬於延遲時間,而且可能更長。舉例來說,系統可能需要幾分鐘的時間,才能在處理過的產品中反映插入的產品輸入內容。
如要進一步瞭解資料的最終處理狀態,請參閱下列指南: