Skip to content

局部更新卡片实体

更新卡片实体局部内容,包括配置和组件。支持同时对多个组件进行增删改等不同操作。

使用限制

  • 本接口仅支持卡片 JSON 2.0 结构
  • 调用该接口时,不支持将卡片设置为独享卡片模式。即不支持将卡片 JSON 数据中的 update_multi 属性设置为 false
  • 调用该接口的应用身份(tenant_access_token)需与创建目标卡片实体的应用身份一致。

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/cardkit/v1/cards/:card_id/batch_update
HTTP MethodPOST
接口频率限制1000 次/分钟、50 次/秒
支持的应用类型custom,isv
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用cardkit:card:write 创建与更新卡片

请求头

名称类型必填描述
Authorizationstringtenant_access_token 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token
Content-Typestring固定值:"application/json; charset=utf-8"

路径参数

名称类型描述
card_idstring卡片实体 ID。通过创建卡片实体获取。
示例值:"7355439197428236291"
数据校验规则
- 长度范围:120 字符

请求体

名称类型必填描述
uuidstring幂等 ID,可通过传入唯一的 UUID 以保证相同批次的操作只进行一次。
示例值:"a0d69e20-1dd1-458b-k525-dfeca4015204"
数据校验规则
- 长度范围:164 字符
sequenceint操作卡片的序号。用于保证多次更新的时序性。
注意: 请确保在通过卡片 OpenAPI 操作同一张卡片时,sequence 的值相较于上一次操作严格递增。
数据校验规则:int32 范围( 1~2147483647)内的正整数
示例值:1
actionsstring操作列表。参考示例更新配置或组件。支持的操作有: - partial_update_setting:更新卡片配置,支持更新卡片的 config 和 card_link 字段。参数结构可参考更新卡片配置; - add_elements:添加组件,支持 type、 target_element_id、elements 字段。参数结构可参考新增组件接口请求体; - delete_elements:删除组件,支持 element_ids 字段。参数值为组件 ID 数组。参数结构可参考删除组件; - partial_update_element:更新组件的属性,支持 element_id 和 partial_element 字段。参数结构可参考更新组件属性接口的路径参数 element_id 和请求体 partial_element 字段 ; - update_element:全量更新组件,支持 element_id 和 element 字段。参数结构可参考全量更新组件接口的路径参数 element_id 和请求体 element 字段
示例值:"[{"action":"partial_update_setting","params":{"settings":{\"config\":{\"streaming_mode\":true}}}},{"action":"add_elements","params":{\"type\":\"insert_before\",\"target_element_id\":\"markdown_1\",\"elements\":[{\"tag\":\"markdown\",\"element_id\":\"md_1\",\"content\":\"欢迎使用[飞书卡片搭建工具](https://open.feishu.cn/cardkit?from=open_docs)。\"}]}},{\"action\":\"delete_elements\",\"params\":{\"element_ids\":[\"text_1\",\"text_2\"]}},{"action":"partial_update_element","params":{\"element_id\":\"markdown_2\",\"partial_element\":{\"content\":\"详情参考飞书卡片相关文档。\"}}},{"action":"update_element","params":{"element_id":"markdown_3","element":{\"tag\":\"button\",\"text\":{\"tag\":\"plain_text\",\"content\":\"有帮助\"},"size":"medium","icon":{\"tag\":\"standard_icon\",\"token\":\"emoji_outlined\"}}}}]"
数据校验规则
- 长度范围:11000000 字符

请求体示例

json
{
    "uuid": "a0d69e20-1dd1-458b-k525-dfeca4015204",
    "sequence": 1,
    "actions": "[{\"action\":\"partial_update_setting\",\"params\":{\"settings\":{\"config\":{\"streaming_mode\":true}}}},{\"action\":\"add_elements\",\"params\":{\"type\":\"insert_before\",\"target_element_id\":\"markdown_1\",\"elements\":[{\"tag\":\"markdown\",\"element_id\":\"md_1\",\"content\":\"欢迎使用[飞书卡片搭建工具](https://open.feishu.cn/cardkit?from=open_docs)。\"}]}},{\"action\":\"delete_elements\",\"params\":{\"element_ids\":[\"text_1\",\"text_2\"]}},{\"action\":\"partial_update_element\",\"params\":{\"element_id\":\"markdown_2\",\"partial_element\":{\"content\":\"详情参考飞书卡片相关文档。\"}}},{\"action\":\"update_element\",\"params\":{\"element_id\":\"markdown_3\",\"element\":{\"tag\":\"button\",\"text\":{\"tag\":\"plain_text\",\"content\":\"有帮助\"},\"size\":\"medium\",\"icon\":{\"tag\":\"standard_icon\",\"token\":\"emoji_outlined\"}}}}]"
}

响应

响应体

名称类型描述
codeint错误码,非 0 表示失败
msgstring错误描述
data\--

响应体示例

json
{
    "code": 0,
    "msg": "success",
    "data": {}
}

错误码

HTTP状态码错误码描述排查建议
40010002Your request contains an invalid request parameter.参数错误,请根据接口返回的错误信息并参考文档检查输入参数。
400200740The card entity does not exist卡片实体不存在。请检查实体 ID 是否正确。
400200750The card entity has expired卡片实体已过期。卡片实体的有效期为 14 天。即创建卡片实体超出 14 天后,你将无法调用相关接口操作卡片。请创建一个新的卡片实体。
400200770UUID conflictUUID 冲突。请传入唯一的 UUID 以保证相同批次的操作只进行一次。
400200810The card is in an ongoing interaction and cannot be updated在用户点击卡片请求回调交互期间,卡片无法实现流式更新。请等待交互结束后再尝试更新卡片。
400200860Card content exceeds limit.卡片体积超限。请将卡片大小控制在 30KB 以内。
400300301Duplicate element_id in card component.卡片内部组件 ID (即 element_id)重复。
400300302update_multi property is false卡片属性参数 update_multi 设置为了 false。在流式更新模式下,你需将卡片属性 update_multi 设置为 true。
400300303Only schema 2.0 is supported该接口仅支持 Schema v2.0 结构。详情参考卡片 JSON 2.0 结构
400200220Failed to generate card content生成卡片内容失败。请检查卡片 JSON 格式是否有误。
400300305The number of card components exceeds 200超出卡片组件限制。卡片 JSON 2.0 结构中,一张卡片最多支持 200 个元素(如 tag 为 plain_text 的文本元素)或组件。请将组件和元素的数量之和控制在 200 个以内。
400300307The card DSL is empty卡片 JSON 数据为空。请检查数据。
400300311The current application does not have permission to update/use this card当前应用没有更新或使用该卡片的权限。仅支持创建卡片实体的应用调用相关 OpenAPI 发送、操作卡片。
400300312Unable to update element tag更新卡片实体时,不能更新组件的标签(tag)属性。
400300313Failed to update element properties更新组件属性失败。请根据接口返回的错误信息检查输入参数。
400300314Failed to delete element删除组件失败。请根据接口返回的错误信息检查输入参数。
400300315Failed to add element添加组件失败。请根据接口返回的错误信息检查输入参数。
400300317The sequence number for operating on the card did not increment consecutively操作卡片的序号(sequence)未按顺序递增。请确保在通过卡片 OpenAPI 操作同一张卡片时,sequence 的值相较于上一次操作严格递增。
400300121Failed to replace element替换组件失败。请根据接口返回的错误信息检查输入参数。
400300122Failed to update card configuration更新卡片配置失败。请根据接口返回的错误信息检查输入参数。

内容来源:飞书开放平台 · 自动爬取整理