SuperAPI AI 工具集

hubspot-sdk-patterns

编程与开发

查看项目

更新于 10-15 23:26

技能介绍

本技能提供 @hubspot/api-client SDK 的生产级实践模式,主要面向 TypeScript,用于实现 HubSpot 集成、构建类型化包装器。

用途:在 HubSpot CRM 集成开发中统一客户端的创建、错误处理、批量操作和分页方式。

主要能力:

  1. 类型化客户端单例:通过 getClient 创建并复用 hubspot.Client,支持 accessToken 与 numberOfApiCallRetries 配置。
  2. 错误分类:classifyError 将错误归类为 VALIDATION_ERROR、AUTHENTICATION_ERROR、AUTHORIZATION_ERROR、NOT_FOUND、CONFLICT、RATE_LIMIT、INTERNAL_ERROR 等,并标记 429、500、502、503、504 为可重试;safeCall 包装器统一分类并附加 correlationId。
  3. 类型化 CRM 操作:为联系人属性定义 ContactProperties 类型,提供 createContact、getContact、updateContact、findContactByEmail 等封装。
  4. 批量操作:提供批量创建、批量读取、批量 upsert,以及按 100 条分块的 batchCreateChunked。
  5. 分页辅助:getAllContacts 使用异步生成器按页遍历全部联系人,内存高效。
  6. 多门户工厂模式:getClientForPortal 按 portalId 缓存客户端。

使用方式:需安装 @hubspot/api-client v13+,使用 TypeScript 5+ 且开启 strict 模式,并了解 HubSpot CRM 对象模型。代码按 client、errors、contacts、batch、pagination 模块组织,直接调用对应函数即可,命令与代码示例需保持原样。

适用场景:HubSpot CRM 联系人 CRUD、按邮箱查找、批量导入导出、大批量数据分页处理、多门户集成。

限制:资料仅涉及联系人对象,其他 CRM 对象未展开;批量操作上限为 100 条且需自行分块;错误分类类别表未覆盖所有 HTTP 状态码;其余资源与后续步骤仅作引用,具体细节暂未提供。