规划 API 延迟时间

延迟时间是指您收到请求响应所需的时间。本指南提供了 Merchant API 请求的数量级延迟时间。使用这些值可设置超时并规划集成的吞吐量。

大多数 Merchant API 请求会在不到一秒的时间内完成。本地和区域商品目录更新可能需要几秒钟,而某些报告查询需要更长时间。

典型延迟时间

下表按请求类型列出了大致延迟时间。典型延迟时间是中位数:一半的请求完成速度更快。最慢的 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% 的报告查询通常需要超过 2 秒的时间,一小部分查询可能需要超过 1 分钟的时间。

建议

  • 设置超时时间时留出余量。如果您在客户端中设置了请求超时,请将其设置为远高于典型延迟时间中列出的最慢延迟时间。例如,60 秒的超时时间为大多数请求留出了充足的时间,但并非所有报告查询都适用。
  • 并行发送独立请求。由于每次商品目录写入都需要几秒钟,因此逐个发送会限制吞吐量。并行发送独立请求或使用批量请求。发送多个请求时,请注意每分钟和每日限额。如需了解详情,请参阅速率配额。
  • 将报告查询限制为您需要的数据。涵盖大型数据集(例如较长日期范围)的查询需要更长时间,并且可能会超时。如果您需要大量数据,请考虑使用 BigQuery。如需了解详情,请参阅将 Google Merchant Center 数据加载到 BigQuery 中。
  • 使用指数退避算法重试。如果请求超时或因暂时性错误而失败,请使用指数退避算法重试。

处理时间

对于更改数据的请求,成功响应意味着 Merchant API 接受了更改,但在响应后会继续处理。处理时间是指从响应到其他资源中显示更改的时间。处理时间不属于延迟时间,并且可能要长得多。例如,处理后的商品可能需要几分钟才能反映插入的商品输入。

如需详细了解数据的最终处理状态,请参阅以下指南: