HubSpot CRM 基于 HubSpot CRM API v3,实现 ICrmService 统一接口。
包信息
| 项 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.Crm.HubSpot |
| 实现接口 | ICrmService |
| Provider ID | hubspot |
| 鉴权方式 | Private App Access Token Bearer(Authorization: Bearer {token}) |
| 默认 BaseUrl | https://api.hubapi.com/crm/v3 |
| 区域 | Global |
凭据在 HubSpot 私有应用创建后获取。静态凭据,无需令牌刷新。
配置字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
ApiToken | string | 是 | — | Private App Access Token(Bearer 凭据) |
BaseUrl | string | 否 | https://api.hubapi.com/crm/v3 | API 基地址 |
HttpClientName | string | 否 | CrmHubSpot | 业务 HttpClient 命名 |
配置 JSON 示例
{ "Crm": { "HubSpot": { "ApiToken": "pat-xxxxxxxxxxxxxxxxxxxxxxxx", "BaseUrl": "https://api.hubapi.com/crm/v3" } }}DI 注册
// 从配置节注册(默认节名 Crm:HubSpot)services.AddHubSpotCrm(configuration);
// 或用回调单独配置services.AddHubSpotCrm(options =>{ options.ApiToken = "pat-xxxxxxxxxxxxxxxxxxxxxxxx"; options.BaseUrl = "https://api.hubapi.com/crm/v3";});使用示例
public class ContactService{ private readonly ICrmService _crm;
public ContactService(ICrmService crm) => _crm = crm;
public Task<CrmContact> CreateAsync(string email, string firstName, string lastName) => _crm.CreateContactAsync(new CreateContactRequest { Email = email, FirstName = firstName, LastName = lastName, Company = "Acme" });}接口方法
HubSpot 实现 ICrmService 全部 8 个方法:联系人创建/查询/更新/删除/列表,商机创建/列表/阶段更新。
依赖
| 包 | 说明 |
|---|---|
Bitzsoft.Integrations.Crm | 客户关系管理服务抽象层 |
Bitzsoft.Integrations.Core | 公共基座 |
Bitzsoft.Integrations.RequestLogging | 出站请求审计日志 |
已知限制
- 静态 Access Token,不自动刷新;令牌过期需在 HubSpot 重新生成。