Skip to content
Bitzsoft.Integrationsbitzsoft.integrations

Reference

Zendesk

Bitzsoft.Integrations.Ticketing.Zendesk 包参考——Basic Auth(email/token)鉴权、ITicketService 配置与使用示例。

Last updated

Zendesk 基于 Zendesk Support API v2,实现 ITicketService 统一接口。

包信息

NuGet 包Bitzsoft.Integrations.Ticketing.Zendesk
实现接口ITicketService
Provider IDzendesk
鉴权方式HTTP Basic Auth,凭据格式 {email}/token:{apiToken},Base64 编码后作为 Authorization: Basic
默认 BaseUrl由 Subdomain 自动拼接为 https://{subdomain}.zendesk.com/api/v2
区域Global

凭据在 Zendesk 管理后台(Admin > Channels > API > API Tokens)创建后获取。

配置字段

字段类型必填默认值说明
SubdomainstringZendesk 子域名(如 mycompany
Emailstring具有访问权限的 Zendesk 用户邮箱
ApiTokenstringAPI Token
BaseUrlstring留空时由 Subdomain 自动拼接 https://{subdomain}.zendesk.com/api/v2
HttpClientNamestringTicketingZendesk业务 HttpClient 命名

配置 JSON 示例

{
"Ticketing": {
"Zendesk": {
"Subdomain": "mycompany",
"Email": "agent@mycompany.com",
"ApiToken": "xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}

DI 注册

// 从配置节注册(默认节名 Ticketing:Zendesk)
services.AddZendeskTicket(configuration);
// 或用回调单独配置
services.AddZendeskTicket(options =>
{
options.Subdomain = "mycompany";
options.Email = "agent@mycompany.com";
options.ApiToken = "xxxxxxxxxxxxxxxxxxxxxxxx";
});

使用示例

public class TicketService
{
private readonly ITicketService _ticket;
public TicketService(ITicketService ticket) => _ticket = ticket;
public Task<TicketInfo> CreateAsync(string subject, string description, string requesterEmail)
=> _ticket.CreateTicketAsync(new CreateTicketRequest
{
Subject = subject,
Description = description,
RequesterEmail = requesterEmail
});
public Task<TicketingResult> ResolveAsync(string ticketId)
=> _ticket.ChangeStatusAsync(ticketId, TicketStatus.Solved, comment: "已解决");
}

依赖

说明
Bitzsoft.Integrations.Ticketing工单系统服务抽象层
Bitzsoft.Integrations.Core公共基座

已知限制

  • Basic Auth 凭据格式为 {email}/token:{apiToken}(注意 /token 拼接),非纯邮箱。

100%

滚轮或按钮缩放 · 放大后拖动画面 · 双击切换 100% / 200%