Skip to content

审批 Bot 消息接口 -(FeishuV1ApprovalMessage_Tenant)

接口名称

审批 Bot 消息接口 -(IFeishuTenantV1ApprovalMessage

功能描述

该接口用于通过飞书审批的 Bot 推送消息给用户或更新审批 Bot 消息。当有新的审批待办,或者审批待办的状态有更新时,可以通过飞书审批的 Bot 告知用户。

注意:如果出现推送成功,但是没有收到消息,可能是因为开通了审批机器人的聚合推送。

参考文档

函数列表

函数名称功能描述认证方式HTTP 方法
SendBotMessageAsync发送审批 Bot 消息(通用模板)租户令牌POST
SendBotMessageAsync发送审批 Bot 消息(自定义模板)租户令牌POST
UpdateBotMessageAsync更新审批 Bot 消息租户令牌POST

函数详细内容

发送审批 Bot 消息(通用模板)

函数签名

csharp
Task<FeishuApiResult<ApprovalBotMessageResult>?> SendBotMessageAsync(
    [Body] ApprovalBotMessageRequest approvalBotMessageRequest,
    CancellationToken cancellationToken = default);

认证

租户令牌TenantAccessToken

参数

参数名必填类型描述
approvalBotMessageRequestApprovalBotMessageRequest发送审批 Bot 消息通用模板请求体
cancellationTokenCancellationToken取消操作令牌对象

请求体示例:

json
{
  "approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
  "instance_code": "6A123516-FB88-470D-A428-9AF58B71B3C0",
  "open_id": "ou_7dab8a3d3dfcd10xxx",
  "task_id": "123456789",
  "status": "pending"
}

响应

成功响应示例:

json
{
  "code": 0,
  "msg": "ok",
  "data": {
    "message_id": "om_7dxxxxxxxxxx"
  }
}

说明

  • 当有新的审批待办时调用此接口推送消息
  • 审批待办状态更新时也可调用此接口推送消息

代码示例

csharp
// 使用租户权限发送审批 Bot 消息
public class ApprovalMessageService
{
    private readonly IFeishuTenantV1ApprovalMessage _messageClient;

    public ApprovalMessageService(IFeishuTenantV1ApprovalMessage messageClient)
    {
        _messageClient = messageClient;
    }

    public async Task SendBotMessageAsync()
    {
        var request = new ApprovalBotMessageRequest
        {
            ApprovalCode = "7C468A54-8745-2245-9675-08B7C63E7A85",
            InstanceCode = "6A123516-FB88-470D-A428-9AF58B71B3C0",
            OpenId = "ou_7dab8a3d3dfcd10xxx",
            TaskId = "123456789",
            Status = "pending"
        };

        var result = await _messageClient.SendBotMessageAsync(request);

        if (result?.Code == 0)
        {
            Console.WriteLine($"消息发送成功,消息ID: {result.Data?.MessageId}");
        }
    }
}

发送审批 Bot 消息(自定义模板)

函数签名

csharp
Task<FeishuApiResult<ApprovalBotMessageResult>?> SendBotMessageAsync(
    [Body] CustomApprovalBotMessageRequest customApprovalBotMessageRequest,
    CancellationToken cancellationToken = default);

认证

租户令牌TenantAccessToken

参数

参数名必填类型描述
customApprovalBotMessageRequestCustomApprovalBotMessageRequest发送审批 Bot 消息自定义模板请求体
cancellationTokenCancellationToken取消操作令牌对象

请求体示例:

json
{
  "approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
  "instance_code": "6A123516-FB88-470D-A428-9AF58B71B3C0",
  "open_id": "ou_7dab8a3d3dfcd10xxx",
  "task_id": "123456789",
  "status": "pending",
  "custom_message": {
    "title": "您有新的审批待办",
    "content": "请假申请需要您的审批"
  }
}

响应

成功响应示例:

json
{
  "code": 0,
  "msg": "ok",
  "data": {
    "message_id": "om_7dxxxxxxxxxx"
  }
}

说明

  • 支持自定义消息内容格式
  • 适用于需要个性化消息展示的场景

代码示例

csharp
// 使用租户权限发送自定义审批 Bot 消息
public class ApprovalMessageService
{
    private readonly IFeishuTenantV1ApprovalMessage _messageClient;

    public ApprovalMessageService(IFeishuTenantV1ApprovalMessage messageClient)
    {
        _messageClient = messageClient;
    }

    public async Task SendCustomBotMessageAsync()
    {
        var request = new CustomApprovalBotMessageRequest
        {
            ApprovalCode = "7C468A54-8745-2245-9675-08B7C63E7A85",
            InstanceCode = "6A123516-FB88-470D-A428-9AF58B71B3C0",
            OpenId = "ou_7dab8a3d3dfcd10xxx",
            TaskId = "123456789",
            Status = "pending",
            CustomMessage = new CustomMessage
            {
                Title = "您有新的审批待办",
                Content = "张三的请假申请需要您的审批"
            }
        };

        var result = await _messageClient.SendBotMessageAsync(request);

        if (result?.Code == 0)
        {
            Console.WriteLine($"消息发送成功,消息ID: {result.Data?.MessageId}");
        }
    }
}

更新审批 Bot 消息

函数签名

csharp
Task<FeishuApiResult<ApprovalBotMessageResult>?> UpdateBotMessageAsync(
    [Body] ApprovalBotMessageUpdateRequest approvalBotMessageUpdateRequest,
    CancellationToken cancellationToken = default);

认证

租户令牌TenantAccessToken

参数

参数名必填类型描述
approvalBotMessageUpdateRequestApprovalBotMessageUpdateRequest更新审批 Bot 消息请求体
cancellationTokenCancellationToken取消操作令牌对象

请求体示例:

json
{
  "message_id": "om_7dxxxxxxxxxx",
  "status": "approved",
  "update_content": {
    "title": "审批已完成",
    "content": "该请假申请已通过"
  }
}

响应

成功响应示例:

json
{
  "code": 0,
  "msg": "ok",
  "data": {
    "message_id": "om_7dxxxxxxxxxx"
  }
}

说明

  • 调用发送审批 Bot 消息接口后,可根据审批 Bot 消息 ID 及审批相应的状态,更新审批 Bot 消息
  • 例如,给审批人推送了审批待办消息,当审批人通过审批后,可以将之前推送的 Bot 消息更新为已审批

代码示例

csharp
// 使用租户权限更新审批 Bot 消息
public class ApprovalMessageService
{
    private readonly IFeishuTenantV1ApprovalMessage _messageClient;

    public ApprovalMessageService(IFeishuTenantV1ApprovalMessage messageClient)
    {
        _messageClient = messageClient;
    }

    public async Task UpdateBotMessageAsync()
    {
        var request = new ApprovalBotMessageUpdateRequest
        {
            MessageId = "om_7dxxxxxxxxxx",
            Status = "approved",
            UpdateContent = new UpdateContent
            {
                Title = "审批已完成",
                Content = "该请假申请已通过"
            }
        };

        var result = await _messageClient.UpdateBotMessageAsync(request);

        if (result?.Code == 0)
        {
            Console.WriteLine("消息更新成功");
        }
    }
}