发送消息卡片
一、自定义机器人发消息卡片
通过自定义机器人发消息卡片见自定义机器人使用指南
二、应用机器人发消息卡片
以发送消息 为例,按以下步骤实现:
第一步:启用机器人功能
企业管理员可登陆企业管理平台,在应用管理菜单下选择编辑对应应用。在应用编辑界面的机器人菜单下打开启用机器人开关。

第二步:获取企业级access_token
具体获取接口参考 获取访问凭证
请求参数示例
POST /open/api/v2/token HTTP/1.1
Header
Content-Type: application/json
accept: application/json
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
timestamp: 1610544682145
nonce: aac64aa63454457294d440d8be191254
Body
{
"grant_type": "client_credentials"
}
响应参数示例
{
"access_token": [JWT TOKEN],
"token_type": "bearer",
"expires_in": 3599
}
第三步:构造卡片消息结构体
- 卡片构造详情见 构造卡片
- 卡片消息格式校验
https://www.jsonschemavalidator.net/s/JXjhGDV3
打开校验网址,将构造后的卡片消息结构体复制至 Input JSON 框中。如卡片格式有误,可根据报错信息修改卡片消息结构。
第四步:获取UC用户ID/群聊ID
- 需获取用户id后才能向该用户发送卡片消息,则需要通过调用 根据用户账号查询用户 接口方法
- 如果是批量获取用户id,则需调用 根据用户账号查询用户列表
- 如果是群聊,则需调用分页获取单个用户的群聊列表信息
请求消息示例
GET /open/api/v2/accounts/users?accountType=13&account=yl3299 HTTP/1.1
Content-Type: application/json
- accountType=13表示第三方账号类型
响应消息示例
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"id": "70af3721acb34aef8ffc7bf9fa26d5d8", //用户id
"groupId": "358fb5cfcf9b4939ad0df6baefa1f5a3",
"number": "7777771111",
"extension": "1111",
"name": "test",
"encryptedPassword": "cbeaf062187c272dc7992e5c6bb437f2"
}
第五步:调用接口发送卡片消息
- 发送消息 具体调用接口参考 发送消息
-
需要将第三步构造的卡片消息结构体由Json字符串转成String字符串作为参数body的参数值
点击打开转换工具转换工具,将构造的卡片消息结构体复制进输入框中,点击压缩并转义即可转成String字符串

以发送跳转至百度界面的卡片消息为例
请求参数示例
POST /open/api/v2/messages HTTP/1.1
Header
Content-Type: application/json
accept: application/json
Authorization: Bearer [access_token]
timestamp: 1610544682145
nonce: aac64aa63454457294d440d8be191254
Body
{
"msgType": 4,
"body": "{\"header\": {\"title\": {\"tag\": \"plainText\",\"content\": \"hello card!\"},\"theme\": \"blue\"},\"elements\": [{\"tag\": \"markdown\",\"content\": \"[跳转至百度页面]($urlVal)\",\"href\": {\"urlVal\": {\"tag\": \"url\",\"url\": \"https://www.baidu.com\",\"pcUrl\": \"https://www.baidu.com\"}}}]}",
"receiverId": "c408a12e43c34565af4800d7eb3ba65e"
}
响应参数示例
{
"bornTime": 1658748015965,
"msgId": 500603637653831680,
"receiverId": "ad94e1deef0849a99a19f109a22730f8",
"senderId": "20e683bb4cfe439d82eff1a0623006b9",
"sessionId": 4641708206034469482
}
三、发送消息卡片的开放API
|开放API|类型|描述| |--|--|--| |发送消息|服务端API|支持向机器人所在的群聊、拥有机器人可用性的用户单聊内发送消息卡片| |批量发送消息|服务端API|支持向拥有机器人可用性的多个用户单聊内发送消息卡片| |更新消息卡片|服务端API|更新已发送的消息卡片内容| |sendCardMessage|JSAPI|能以登录用户身份向指定会话发送消息卡片|