Zoho CRM 基于 Zoho CRM API v8,实现 ICrmService 统一接口。
包信息
| 项 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.Crm.Zoho |
| 实现接口 | ICrmService |
| Provider ID | zoho |
| 鉴权方式 | OAuth2 Bearer Token(Authorization: Bearer {token}) |
| 默认 BaseUrl | https://www.zohoapis.com/crm/v8 |
| 区域 | Global |
凭据在 Zoho API Console 创建自授予客户端或刷新令牌换取后获取。数据中心区域不同需调整 BaseUrl(如欧洲区域为 https://www.zohoapis.eu/crm/v8)。
配置字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
ApiToken | string | 是 | — | OAuth2 Access Token(Bearer 凭据) |
BaseUrl | string | 否 | https://www.zohoapis.com/crm/v8 | API 基地址(按数据中心区域调整) |
HttpClientName | string | 否 | CrmZoho | 业务 HttpClient 命名 |
配置 JSON 示例
{ "Crm": { "Zoho": { "ApiToken": "1000.xxxxxxxxxxxxxxxxxxxxxxxx", "BaseUrl": "https://www.zohoapis.com/crm/v8" } }}DI 注册
// 从配置节注册(默认节名 Crm:Zoho)services.AddZohoCrm(configuration);
// 或用回调单独配置services.AddZohoCrm(options =>{ options.ApiToken = "1000.xxxxxxxxxxxxxxxxxxxxxxxx"; options.BaseUrl = "https://www.zohoapis.eu/crm/v8"; // 欧洲区域});使用示例
public class ContactService{ private readonly ICrmService _crm;
public ContactService(ICrmService crm) => _crm = crm;
public Task<CrmContact> UpsertAsync(string email, string firstName) => _crm.CreateContactAsync(new CreateContactRequest { Email = email, FirstName = firstName });
public Task<CrmResult> DeleteAsync(string contactId) => _crm.DeleteContactAsync(contactId);}依赖
| 包 | 说明 |
|---|---|
Bitzsoft.Integrations.Crm | 客户关系管理服务抽象层 |
Bitzsoft.Integrations.Core | 公共基座 |
已知限制
- Access Token 有有效期(通常 1 小时),本包不自动刷新,需外部刷新后更新配置。