法大大基于法大大合同管理开放平台 API,实现 IContractService 统一接口。
包信息
| 项 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.ContractLifecycle.Fadada |
| 实现接口 | IContractService |
| Provider ID | fadada |
| 鉴权方式 | AppId + AppSecret 换取 Bearer Token,以 Authorization: Bearer {token} 访问业务接口 |
| 默认 BaseUrl | 无(需配置,形如 https://openapi.fadada.com) |
| 区域 | CN |
配置字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
BaseUrl | string | 是 | — | 法大大开放平台地址,形如 https://openapi.fadada.com |
AppId | string | 是 | — | 应用 ID |
AppSecret | string | 是 | — | 应用密钥(用于换取 Bearer Token) |
HttpClientName | string | 否 | ContractLifecycleFadada | 业务 HttpClient 命名 |
配置 JSON 示例
{ "ContractLifecycle": { "Fadada": { "BaseUrl": "https://openapi.fadada.com", "AppId": "xxxxxxxxxxxx", "AppSecret": "xxxxxxxxxxxxxxxxxxxxxxxx" } }}DI 注册
// 从配置节注册(默认节名 ContractLifecycle:Fadada)services.AddFadadaContract(configuration);
// 或用回调单独配置services.AddFadadaContract(options =>{ options.BaseUrl = "https://openapi.fadada.com"; options.AppId = "xxxxxxxxxxxx"; options.AppSecret = "xxxxxxxxxxxxxxxxxxxxxxxx";});使用示例
public class ContractService{ private readonly IContractService _contract;
public ContractService(IContractService contract) => _contract = contract;
public async Task<ContractInfo> DraftAsync(string title, string templateId) { var contract = await _contract.CreateContractAsync(new CreateContractRequest { Title = title, TemplateId = templateId }); await _contract.SubmitContractAsync(contract.Id); // 进入签署流程 return contract; }
public Task<ContractLifecycleResult> ArchiveAsync(string contractId) => _contract.ArchiveContractAsync(contractId);}依赖
| 包 | 说明 |
|---|---|
Bitzsoft.Integrations.ContractLifecycle | 电子合同服务抽象层 |
Bitzsoft.Integrations.Core | 公共基座 |
已知限制
- AppId + AppSecret 换取的 Bearer Token 有有效期,本包内置换取与刷新流程。