跳到主要内容

OpenApiHelper

OpenApiHelper 提供调用 Chameleon 平台 Open API 的能力,内部自动处理 Token 认证,无需手动管理认证信息。

概述​

通过 OpenApiHelper,可以在 C# 脚本或微服务中安全地调用平台的 Open API 接口。SDK 会根据配置自动选择合适的认证方式(系统级 Token 或租户级个人令牌)。

API 方法​

PostAsync — POST 请求​

发送 POST 请求到 Open API。

// 基础用法:返回 ResponseResult
Task<ResponseResult> PostAsync(string url, object body = null);

// 泛型用法:自动反序列化为指定类型
Task<ResponseResult<TResult>> PostAsync<TResult>(string url, object body = null);

参数说明:

参数类型说明
urlstringAPI 路径,格式为 api/OpenApi/xxx
bodyobject请求体(JSON 对象),可选

使用示例:

// 测试接口连通性
var result = await sdk.OpenApiHelper.PostAsync("api/OpenApi/Hello");

// 带请求体的调用
var result = await sdk.OpenApiHelper.PostAsync(
"api/OpenApi/Account/AssignProfile",
new { profileId = "profile-001", userIds = new[] { "user-001", "user-002" } }
);

// 泛型返回,自动解析 data 字段
var result = await sdk.OpenApiHelper.PostAsync<MyDataType>(
"api/OpenApi/SomeEndpoint",
new { id = "123" }
);
var data = result.Data; // 已解析为 MyDataType

GetSystemUserToken — 获取系统用户 Token​

获取当前系统用户的访问 Token,用于需要手动构造 HTTP 请求的场景。

string GetSystemUserToken();

使用示例:

// 获取 Token 后手动调用(通常推荐直接使用 PostAsync)
var token = sdk.OpenApiHelper.GetSystemUserToken();
// 使用 token 构造自定义 HTTP 请求...

典型场景​

调用账户管理接口​

// 为人员授予身份
await sdk.OpenApiHelper.PostAsync(
"api/OpenApi/Account/AssignProfile",
new AssignProfileRequest
{
ProfileId = "manager-profile-id",
UserIds = new[] { "user-id-1", "user-id-2" }
}
);

调用审批流接口​

// 发起审批
await sdk.OpenApiHelper.PostAsync(
"api/OpenApi/Workflow/Launch",
new WorkflowLaunchRequest
{
MetaObjectCode = "LeaveApplication",
BizDataId = bizDataId,
WorkflowId = workflowId,
LaunchUserId = currentUserId
}
);

注意事项​

  • 大多数场景下推荐直接使用 PostAsync 方法,无需手动处理 Token
  • Token 的获取方式由配置决定(系统级 SecurityKey 或租户级 AccessKey)
  • 可用的 Open API 接口列表请参考 OpenAPI 文档

相关文档​