应用消息流卡片
接口名称
应用消息流卡片(租户令牌) -(IFeishuTenantV2AppCardMessageStream)
功能描述
应用消息流卡片是飞书为应用提供的消息触达能力,让应用可以直接在消息流发送消息,重要消息能更快触达用户。该接口提供应用消息流卡片的创建、更新、删除以及消息列表置顶、快捷操作按钮管理等完整功能,适用于租户应用场景。
参考文档
https://open.feishu.cn/document/im-v2/overview
函数列表
| 函数名称 | 功能描述 | 认证方式 | HTTP 方法 |
|---|---|---|---|
| CreateCardMessageStreamAsync | 创建应用消息流卡片 | 租户令牌 | POST |
| UpdateCardMessageStreamAsync | 更新应用消息流卡片 | 租户令牌 | PUT |
| DeleteCardMessageStreamAsync | 删除应用消息流卡片 | 租户令牌 | DELETE |
| BotTimeSentiveAsync | 将机器人对话在消息列表中置顶展示 | 租户令牌 | PATCH |
| UpdateCardMessageStreamButtonAsync | 为消息流卡片添加、更新、删除快捷操作按钮 | 租户令牌 | PUT |
| FeedCardsByFeedCardIdAsync | 对指定消息流卡片设置即时提醒 | 租户令牌 | PATCH |
函数详细内容
创建应用消息流卡片
- 函数签名:csharp
Task<FeishuApiResult<CreateAppCardMessageStreamResult>?> CreateCardMessageStreamAsync( [Body] CreateAppCardMessageStreamRequest appCardMessageStreamRequest, [Query("user_id_type")] string user_id_type = Consts.User_Id_Type, CancellationToken cancellationToken = default); - 认证:租户令牌
- 参数:
appCardMessageStreamRequest✅ 必填:创建应用消息流卡片请求体- 类型:CreateAppCardMessageStreamRequest
- 含义:包含卡片内容和接收用户信息的请求对象
- 示例值:包含 card_content、user_id_list 等字段的完整配置
user_id_type⚪ 可选:用户 ID 类型- 类型:string
- 含义:指定 user_id 的类型,需要与查询参数中的 user_id 类型保持一致
- 示例值:"open_id"
cancellationToken⚪ 可选:取消操作令牌对象
- 响应:json
{ "code": 0, "msg": "success", "data": { "feed_card_id": "o_12345678901234567890", "invalid_user_id_list": [] } } - 说明:创建成功后会返回消息流卡片 ID,可用于后续的更新、删除等操作
- 代码示例:typescript
const createCardRequest = { user_id_list: ["open_id_1", "open_id_2"], card_content: { "config": { "wide_screen_mode": true }, "header": { "title": { "content": "重要通知", "tag": "plain_text" }, "template": "blue" }, "elements": [ { "tag": "div", "text": { "content": "您有一条新的系统消息需要查看", "tag": "plain_text" } } ] } }; const response = await feishuClient.CreateCardMessageStreamAsync( createCardRequest, "open_id" ); console.log(`消息流卡片创建成功,ID: ${response.data.feed_card_id}`);
更新应用消息流卡片
- 函数签名:csharp
Task<FeishuApiResult<UpdateAppCardMessageStreamResult>?> UpdateCardMessageStreamAsync( [Body] UpdateAppCardMessageStreamRequest appCardMessageStreamRequest, [Query("user_id_type")] string user_id_type = Consts.User_Id_Type, CancellationToken cancellationToken = default); - 认证:租户令牌
- 参数:
appCardMessageStreamRequest✅ 必填:更新应用消息流卡片请求体- 类型:UpdateAppCardMessageStreamRequest
- 含义:包含要更新的卡片内容和用户列表
- 示例值:包含 feed_card_id、card_content 等字段的对象
user_id_type⚪ 可选:用户 ID 类型- 类型:string
- 含义:指定 user_id 的类型,需要与查询参数中的 user_id 类型保持一致
- 示例值:"open_id"
cancellationToken⚪ 可选:取消操作令牌对象
- 响应:json
{ "code": 0, "msg": "success", "data": { "feed_card_id": "o_12345678901234567890", "invalid_user_id_list": [] } } - 说明:支持批量更新多个用户的消息流卡片内容
- 代码示例:typescript
const updateCardRequest = { feed_card_id: "o_12345678901234567890", card_content: { "config": { "wide_screen_mode": true }, "header": { "title": { "content": "已更新的重要通知", "tag": "plain_text" }, "template": "green" }, "elements": [ { "tag": "div", "text": { "content": "通知内容已更新,请查看最新信息", "tag": "plain_text" } } ] } }; const response = await feishuClient.UpdateCardMessageStreamAsync( updateCardRequest, "open_id" );
删除应用消息流卡片
- 函数签名:csharp
Task<FeishuApiResult<DeleteAppCardMessageStreamResult>?> DeleteCardMessageStreamAsync( [Body] DeleteAppCardMessageStreamRequest appCardMessageStreamRequest, [Query("user_id_type")] string user_id_type = Consts.User_Id_Type, CancellationToken cancellationToken = default); - 认证:租户令牌
- 参数:
appCardMessageStreamRequest✅ 必填:删除应用消息流卡片请求体- 类型:DeleteAppCardMessageStreamRequest
- 含义:包含要删除的消息流卡片 ID 和用户列表
- 示例值:包含 feed_card_id、user_id_list 的对象
user_id_type⚪ 可选:用户 ID 类型- 类型:string
- 含义:指定 user_id 的类型,需要与查询参数中的 user_id 类型保持一致
- 示例值:"open_id"
cancellationToken⚪ 可选:取消操作令牌对象
- 响应:json
{ "code": 0, "msg": "success", "data": { "invalid_user_id_list": [] } } - 说明:删除操作不可逆,请谨慎操作
- 代码示例:typescript
const deleteCardRequest = { feed_card_id: "o_12345678901234567890", user_id_list: ["open_id_1", "open_id_2"] }; const response = await feishuClient.DeleteCardMessageStreamAsync( deleteCardRequest, "open_id" );
设置机器人单聊即时提醒
- 函数签名:csharp
Task<FeishuApiResult<BotTimeSentiveResult>?> BotTimeSentiveAsync( [Body] BotTimeSentiveRequest timeSentiveRequest, [Query("user_id_type")] string user_id_type = Consts.User_Id_Type, CancellationToken cancellationToken = default); - 认证:租户令牌
- 参数:
timeSentiveRequest✅ 必填:机器人单聊即时提醒请求体- 类型:BotTimeSentiveRequest
- 含义:包含置提醒配置的用户和提醒时间信息
- 示例值:包含 user_id_list、expire_time 等字段的配置对象
user_id_type⚪ 可选:用户 ID 类型- 类型:string
- 含义:指定 user_id 的类型,需要与查询参数中的 user_id 类型保持一致
- 示例值:"open_id"
cancellationToken⚪ 可选:取消操作令牌对象
- 响应:json
{ "code": 0, "msg": "success", "data": { "invalid_user_id_list": [] } } - 说明:可将机器人对话在消息列表中置顶展示,重要消息能更快触达用户
- 代码示例:typescript
const timeSentiveRequest = { user_id_list: ["open_id_1", "open_id_2"], expire_time: 1640995200, content: { "card": { "config": { "wide_screen_mode": true }, "elements": [ { "tag": "div", "text": { "content": "🔔 重要提醒:请及时处理待办事项", "tag": "plain_text" } } ] } } }; const response = await feishuClient.BotTimeSentiveAsync( timeSentiveRequest, "open_id" );
更新消息流卡片按钮
- 函数签名:csharp
Task<FeishuApiResult<BotTimeSentiveResult>?> UpdateCardMessageStreamButtonAsync( [Body] UpdateCardMessageStreamButtonRequest updateCardMessageStreamButtonRequest, [Query("user_id_type")] string user_id_type = Consts.User_Id_Type, CancellationToken cancellationToken = default); - 认证:租户令牌
- 参数:
updateCardMessageStreamButtonRequest✅ 必填:更新消息流卡片按钮请求体- 类型:UpdateCardMessageStreamButtonRequest
- 含义:包含快捷操作按钮的配置信息
- 示例值:包含 feed_card_id、button_configs 等字段的配置对象
user_id_type⚪ 可选:用户 ID 类型- 类型:string
- 含义:指定 user_id 的类型,需要与查询参数中的 user_id 类型保持一致
- 示例值:"open_id"
cancellationToken⚪ 可选:取消操作令牌对象
- 响应:json
{ "code": 0, "msg": "success", "data": { "invalid_user_id_list": [] } } - 说明:为群组消息、机器人消息的消息流卡片添加、更新、删除快捷操作按钮
- 代码示例:typescript
const updateButtonRequest = { feed_card_id: "o_12345678901234567890", button_configs: [ { button_id: "btn_approve", button_content: "批准", button_type: "primary", url: "https://example.com/approve" }, { button_id: "btn_reject", button_content: "拒绝", button_type: "default", url: "https://example.com/reject" } ] }; const response = await feishuClient.UpdateCardMessageStreamButtonAsync( updateButtonRequest, "open_id" );
设置即时提醒
- 函数签名:csharp
Task<FeishuApiResult<BotTimeSentiveResult>?> FeedCardsByFeedCardIdAsync( [Path] string feed_card_id, [Body] FeedCardsByFeedCardIdRequest feedCardsByFeedCardIdRequest, [Query("user_id_type")] string user_id_type = Consts.User_Id_Type, CancellationToken cancellationToken = default); - 认证:租户令牌
- 参数:
feed_card_id✅ 必填:消息流卡片 ID- 类型:string
- 含义:要设置即时提醒的消息流卡片唯一标识
- 示例值:"o_12345678901234567890"
feedCardsByFeedCardIdRequest✅ 必填:即时提醒请求体- 类型:FeedCardsByFeedCardIdRequest
- 含义:包含提醒设置的用户列表和提醒时间配置
- 示例值:包含 user_id_list、expire_time 等字段的配置对象
user_id_type⚪ 可选:用户 ID 类型- 类型:string
- 含义:指定 user_id 的类型,需要与查询参数中的 user_id 类型保持一致
- 示例值:"open_id"
cancellationToken⚪ 可选:取消操作令牌对象
- 响应:json
{ "code": 0, "msg": "success", "data": { "invalid_user_id_list": [] } } - 说明:即时提醒能力是飞书在消息列表中提供的强提醒能力,可将对话在消息列表中置顶展示
- 代码示例:typescript
const feedCardsRequest = { user_id_list: ["open_id_1"], expire_time: 1640995200 }; const response = await feishuClient.FeedCardsByFeedCardIdAsync( "o_12345678901234567890", feedCardsRequest, "open_id" );