用途:实现 HubSpot API 速率限制处理,包含退避、重试与请求排队模式,适用于处理 429 错误、编写重试逻辑或优化 API 吞吐量。前提:已安装 @hubspot/api-client,并理解 HubSpot 共享速率限制模型。
主要能力与用法:
- 速率限制分层:免费/Starter、Professional、Enterprise 均为 10 请求/秒,每日分别 250,000、500,000、500,000;API 附加组件每日 1,000,000。限制按 HubSpot 门户(账户)而非按应用计算,同一门户内所有私有应用与 OAuth 应用共享同一限额。
- SDK 内置重试:初始化 @hubspot/api-client 时设置 numberOfApiCallRetries: 3,可自动重试 429 与 5xx 响应。
- 自定义退避:仅对 429 与 5xx 重试,优先遵守 Retry-After 响应头,否则使用带抖动的指数退避,最大延迟可配置。
- 请求队列:可用 p-queue 控制并发,如 concurrency: 5、interval: 1000、intervalCap: 10,以满足每秒 10 次限制。
- 批量操作:用 batch read(POST /crm/v3/objects/contacts/batch/read)替代逐条 GET,一次调用最多读取 100 条记录,减少调用量。
- 监控响应头:跟踪 X-HubSpot-RateLimit-Daily-Remaining、X-HubSpot-RateLimit-Secondly-Remaining,当剩余低于阈值时限流。
限制与说明:资料未提供超出上述范围的功能、收费、价格或平台信息;使用前需具备 @hubspot/api-client 与对共享限额模型的理解。