目录
该文档主要说明各种类型模板卡片TemplateCard结构体说明。
其中,点击文本通知卡片以及图文通知卡片的“跳转指引”区域支持消息智能回复。
文本通知模版卡片消息示例完整文本通知模版卡片示例
{
"card_type": "text_notice",
"source": {
"icon_url": "https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0",
"desc": "企业微信",
"desc_color": 0
},
"action_menu": {
"desc": "消息气泡副交互辅助文本说明",
"action_list": [
{
"text": "接收推送",
"key": "action_key1"
},
{
"text": "不再推送",
"key": "action_key2"
}
]
},
"main_title": {
"title": "欢迎使用企业微信",
"desc": "您的好友正在邀请您加入企业微信"
},
"emphasis_content": {
"title": "100",
"desc": "数据含义"
},
"quote_area": {
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi",
"appid": "APPID",
"pagepath": "PAGEPATH",
"title": "引用文本标题",
"quote_text": "Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"
},
"sub_title_text": "下载企业微信还能抢红包!",
"horizontal_content_list": [
{
"keyname": "邀请人",
"value": "张三"
},
{
"keyname": "企微官网",
"value": "点击访问",
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi"
},
{
"keyname": "企微下载",
"value": "企业微信.apk",
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi"
}
],
"jump_list": [
{
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi",
"title": "企业微信官网"
},
{
"type": 2,
"appid": "APPID",
"pagepath": "PAGEPATH",
"title": "跳转小程序"
},
{
"type": 3,
"title": "企业微信官网",
"question": "如何登录企业微信官网"
}
],
"card_action": {
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi",
"appid": "APPID",
"pagepath": "PAGEPATH"
},
"task_id": "task_id"
}
请求参数
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| card_type | String | 是 | 模版卡片的模版类型,文本通知模版卡片的类型为text_notice |
| source | Object | 否 | 卡片来源样式信息,不需要来源样式可不填写。参考Source结构体说明 |
| action_menu | Object | 否 | 卡片右上角更多操作按钮。参考ActionMenu结构体说明 |
| main_title | Object | 否 | 模版卡片的主要内容,包括一级标题和标题辅助信息。参考MainTitle结构体说明 |
| emphasis_content | Object | 否 | 关键数据样式,建议不与引用样式共用。参考EmphasisContent结构体说明 |
| quote_area | Object | 否 | 引用文献样式,建议不与关键数据共用。参考QuoteArea结构体说明 |
| sub_title_text | String | 否 | 二级普通文本,建议不超过112个字。模版卡片主要内容的一级标题main_title.title和二级普通文本sub_title_text必须有一项填写 |
| horizontal_content_list | Object[] | 否 | 二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6。参考HorizontalContent结构体说明 |
| jump_list | Object[] | 否 | 跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3。参考JumpAction结构体说明 |
| card_action | Object | 是 | 整体卡片的点击跳转事件,text_notice模版卡片中该字段为必填项。参考CardAction结构体说明 |
| task_id | String | 否 | 任务id,当文本通知模版卡片有action_menu字段的时候,该字段必填。同一个机器人任务id不能重复,只能由数字、字母和“_-@”组成,最长128字节。任务id只在发消息时候有效,更新消息的时候无效。任务id将会在相应的回调事件中返回 |
图文展示模版卡片消息示例完整图文展示模版卡片示例
{
"card_type": "news_notice",
"source": {
"icon_url": "https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0",
"desc": "企业微信",
"desc_color": 0
},
"action_menu": {
"desc": "消息气泡副交互辅助文本说明",
"action_list": [
{
"text": "接收推送",
"key": "action_key1"
},
{
"text": "不再推送",
"key": "action_key2"
}
]
},
"main_title": {
"title": "欢迎使用企业微信",
"desc": "您的好友正在邀请您加入企业微信"
},
"card_image": {
"url": "https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0",
"aspect_ratio": 2.25
},
"image_text_area": {
"type": 1,
"url": "https://work.weixin.qq.com",
"title": "欢迎使用企业微信",
"desc": "您的好友正在邀请您加入企业微信",
"image_url": "https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0"
},
"quote_area": {
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi",
"appid": "APPID",
"pagepath": "PAGEPATH",
"title": "引用文本标题",
"quote_text": "Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"
},
"vertical_content_list": [
{
"title": "惊喜红包等你来拿",
"desc": "下载企业微信还能抢红包!"
}
],
"horizontal_content_list": [
{
"keyname": "邀请人",
"value": "张三"
},
{
"keyname": "企微官网",
"value": "点击访问",
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi"
},
{
"keyname": "企微下载",
"value": "企业微信.apk",
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi"
}
],
"jump_list": [
{
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi",
"title": "企业微信官网"
},
{
"type": 2,
"appid": "APPID",
"pagepath": "PAGEPATH",
"title": "跳转小程序"
},
{
"type": 3,
"title": "企业微信官网",
"question": "如何登录企业微信官网"
}
],
"card_action": {
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi",
"appid": "APPID",
"pagepath": "PAGEPATH"
},
"task_id": "task_id"
}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| card_type | String | 是 | 模版卡片的模版类型,图文展示模版卡片的类型为news_notice |
| source | Object | 否 | 卡片来源样式信息,不需要来源样式可不填写。参考Source结构体说明 |
| action_menu | Object | 否 | 卡片右上角更多操作按钮。参考ActionMenu结构体说明 |
| main_title | Object | 是 | 模版卡片的主要内容,包括一级标题和标题辅助信息。参考MainTitle结构体说明 |
| card_image | Object | 否 | 图片样式,news_notice类型的卡片,card_image和image_text_area两者必填一个字段,不可都不填。参考CardImage结构体说明 |
| image_text_area | Object | 否 | 左图右文样式。参考ImageTextArea结构体说明 |
| vertical_content_list | Object[] | 否 | 卡片二级垂直内容,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过4。参考VerticalContent结构体说明 |
| horizontal_content_list | Object[] | 否 | 二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6。参考HorizontalContent结构体说明 |
| jump_list | Object[] | 否 | 跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3。参考JumpAction结构体说明 |
| card_action | Object | 是 | 整体卡片的点击跳转事件,news_notice模版卡片中该字段为必填项。参考CardAction结构体说明 |
| task_id | String | 否 | 任务id,当图文展示模版卡片有action_menu字段的时候,该字段必填。同一个机器人任务id不能重复,只能由数字、字母和“_-@”组成,最长128字节。任务id只在发消息时候有效,更新消息的时候无效。任务id将会在相应的回调事件中返回 |
按钮交互模版卡片消息示例完整按钮交互模版卡片示例
{
"card_type": "button_interaction",
"source": {
"icon_url": "https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0 ",
"desc": "企业微信",
"desc_color": 0
},
"action_menu": {
"desc": "消息气泡副交互辅助文本说明",
"action_list": [
{
"text": "接收推送",
"key": "action_key1"
},
{
"text": "不再推送",
"key": "action_key2"
}
]
},
"main_title": {
"title": "欢迎使用企业微信",
"desc": "您的好友正在邀请您加入企业微信"
},
"quote_area": {
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi ",
"appid": "APPID",
"pagepath": "PAGEPATH",
"title": "引用文本标题",
"quote_text": "Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"
},
"sub_title_text": "下载企业微信还能抢红包!",
"horizontal_content_list": [
{
"keyname": "邀请人",
"value": "张三"
},
{
"keyname": "企微官网",
"value": "点击访问",
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi"
},
{
"keyname": "企微下载",
"value": "企业微信.apk",
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi"
}
],
"button_selection": {
"question_key": "button_selection_key1",
"title": "你的身份",
"disable": false,
"option_list": [
{
"id": "button_selection_id1",
"text": "企业负责人"
},
{
"id": "button_selection_id2",
"text": "企业用户"
}
],
"selected_id": "button_selection_id1"
},
"button_list": [
{
"text": "按钮1",
"style": 4,
"key": "BUTTONKEYONE"
},
{
"text": "按钮2",
"style": 1,
"key": "BUTTONKEYTWO"
}
],
"card_action": {
"type": 1,
"url": "https://work.weixin.qq.com/?from=openApi ",
"appid": "APPID",
"pagepath": "PAGEPATH"
},
"task_id": "task_id"
}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| card_type | String | 是 | 模版卡片的模版类型,按钮交互模版卡片的类型为button_interaction。当机器人设置了回调URL时,才能下发按钮交互模版卡片 |
| source | Object | 否 | 卡片来源样式信息,不需要来源样式可不填写。参考Source结构体说明 |
| action_menu | Object | 否 | 卡片右上角更多操作按钮。参考ActionMenu结构体说明 |
| main_title | Object | 是 | 模版卡片的主要内容,包括一级标题和标题辅助信息。参考MainTitle结构体说明 |
| quote_area | Object | 否 | 引用文献样式,建议不与关键数据共用。参考QuoteArea结构体说明 |
| sub_title_text | String | 否 | 二级普通文本,建议不超过112个字 |
| horizontal_content_list | Object[] | 否 | 二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6。参考HorizontalContent结构体说明 |
| button_selection | Object | 否 | 下拉式的选择器。参考SelectionItem结构体说明 |
| button_list | Object[] | 是 | 按钮列表,列表长度不超过6。参考Button结构体说明结构体说明 |
| card_action | Object | 否 | 整体卡片的点击跳转事件。参考CardAction结构体说明 |
| task_id | String | 是 | 任务id,同一个机器人任务id不能重复,只能由数字、字母和“_-@”组成,最长128字节。任务id只在发消息时候有效,更新消息的时候无效。任务id将会在相应的回调事件中返回 |
投票选择模版卡片消息示例
完整投票选择模版卡片示例
{
"card_type": "vote_interaction",
"source": {
"icon_url": "https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0 ",
"desc": "企业微信"
},
"main_title": {
"title": "欢迎使用企业微信",
"desc": "您的好友正在邀请您加入企业微信"
},
"checkbox": {
"question_key": "question_key",
"option_list": [
{
"id": "id_one",
"text": "选择题选项1"
},
{
"id": "id_two",
"text": "选择题选项2",
"is_checked": true
}
],
"disable": false,
"mode": 1
},
"submit_button": {
"text": "提交",
"key": "submit_key"
},
"task_id": "task_id"
}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| card_type | String | 是 | 模版卡片的模版类型,投票选择模版卡片的类型为vote_interaction。当机器人设置了回调URL时,才能下发投票选择模版卡片 |
| source | Object | 否 | 卡片来源样式信息,不需要来源样式可不填写。参考Source结构体说明 |
| main_title | Object | 是 | 模版卡片的主要内容,包括一级标题和标题辅助信息。参考MainTitle结构体说明 |
| checkbox | Object | 是 | 选择题样式。参考CheckBox结构体说明 |
| submit_button | Object | 是 | 提交按钮样式。参考SubmitButtion结构体说明 |
| task_id | String | 是 | 任务id,同一个机器人任务id不能重复,只能由数字、字母和“_-@”组成,最长128字节。任务id只在发消息时候有效,更新消息的时候无效。任务id将会在相应的回调事件中返回 |
投票选择模版卡片消息示例完整多项选择模版卡片示例
{
"card_type": "multiple_interaction",
"source": {
"icon_url": "https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0 ",
"desc": "企业微信"
},
"main_title": {
"title": "欢迎使用企业微信",
"desc": "您的好友正在邀请您加入企业微信"
},
"select_list": [
{
"question_key": "question_key_one",
"title": "选择标签1",
"disable": false,
"selected_id": "id_one",
"option_list": [
{
"id": "id_one",
"text": "选择器选项1"
},
{
"id": "id_two",
"text": "选择器选项2"
}
]
},
{
"question_key": "question_key_two",
"title": "选择标签2",
"selected_id": "id_three",
"option_list": [
{
"id": "id_three",
"text": "选择器选项3"
},
{
"id": "id_four",
"text": "选择器选项4"
}
]
}
],
"submit_button": {
"text": "提交",
"key": "submit_key"
},
"task_id": "task_id"
}
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| card_type | String | 是 | 模版卡片的模版类型,多项选择模版卡片的类型为multiple_interaction。当机器人设置了回调URL时,才能下发多项选择模版卡片 |
| source | Object | 否 | 卡片来源样式信息,不需要来源样式可不填写。参考Source结构体说明 |
| main_title | Object | 是 | 模版卡片的主要内容,包括一级标题和标题辅助信息。参考MainTitle结构体说明 |
| select_list | Object[] | 是 | 下拉式的选择器列表,multiple_interaction类型的卡片该字段不可为空,一个消息最多支持 3 个选择器。参考SelectionItem结构体说明 |
| submit_button | Object | 是 | 提交按钮样式。参考SubmitButton结构体说明 |
| task_id | String | 否 | 任务id,同一个机器人任务id不能重复,只能由数字、字母和“_-@”组成,最长128字节。任务id只在发消息时候有效,更新消息的时候无效。任务id将会在相应的回调事件中返回 |
卡片来源样式信息
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| icon_url | String | 否 | 来源图片的url |
| desc | String | 否 | 来源图片的描述,建议不超过13个字 |
| desc_color | Int | 否 | 来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色 |
卡片右上角更多操作按钮
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| desc | String | 是 | 更多操作界面的描述 |
| action_list | Int | 是 | 操作列表,列表长度取值范围为 [1, 3] |
| action_list.text | String | 是 | 操作的描述文案 |
| action_list.key | String | 是 | 操作key值,用户点击后,会产生回调事件将本参数作为EventKey返回,回调事件会带上该key值,最长支持1024字节,不可重复 |
模版卡片的主要内容,包括一级标题和标题辅助信息
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| title | String | 否 | 一级标题,建议不超过26个字。模版卡片主要内容的一级标题main_title.title和二级普通文本sub_title_text必须有一项填写 |
| desc | String | 否 | 标题辅助信息,建议不超过30个字 |
关键数据样式
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| title | String | 否 | 关键数据样式的数据内容,建议不超过10个字 |
| desc | String | 否 | 关键数据样式的数据描述内容,建议不超过15个字 |
引用文献样式
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| type | Int | 否 | 引用文献样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序 |
| url | String | 否 | 点击跳转的url,type是1时必填 |
| appid | String | 否 | 点击跳转的小程序的appid,必须是与当前应用关联的小程序,type是2时必填 |
| pagepath | String | 否 | 点击跳转的小程序的pagepath,type是2时选填 |
| title | String | 否 | 引用文献样式的标题 |
| quote_text | String | 否 | 引用文献样式的引用文案 |
二级标题+文本列表
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| type | Int | 否 | 链接类型,0或不填代表是普通文本,1 代表跳转url,3 代表点击跳转成员详情 |
| keyname | String | 是 | 二级标题,建议不超过5个字 |
| value | String | 否 | 二级文本,建议不超过26个字 |
| url | String | 否 | 链接跳转的url,type是1时必填 |
| userid | String | 否 | 成员详情的userid,type是3时必填 |
跳转指引样式的列表
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| type | Int | 否 | 跳转链接类型,0或不填代表不是链接,1 代表跳转url,2 代表跳转小程序,3 代表触发消息智能回复 |
| question | String | 否 | 智能问答问题,最长不超过200个字节。若type为3,必填 |
| title | String | 是 | 跳转链接样式的文案内容,建议不超过13个字 |
| url | String | 否 | 跳转链接的url,type是1时必填 |
| appid | String | 否 | 跳转链接的小程序的appid,type是2时必填 |
| pagepath | String | 否 | 跳转链接的小程序的pagepath,type是2时选填 |
整体卡片的点击跳转事件
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| type | Int | 是 | 卡片跳转类型,0或不填代表不是链接,1 代表跳转url,2 代表打开小程序。text_notice模版卡片中该字段取值范围为[1,2] |
| url | String | 否 | 跳转事件的url,type是1时必填 |
| appid | String | 否 | 跳转事件的小程序的appid,type是2时必填 |
| pagepath | String | 否 | 跳转事件的小程序的pagepath,type是2时选填 |
卡片二级垂直内容
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| title | String | 是 | 卡片二级标题,建议不超过26个字 |
| desc | String | 否 | 二级普通文本,建议不超过112个字 |
图片样式
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| url | Object | 是 | 图片的url |
| aspect_ratio | Float | 否 | 图片的宽高比,宽高比要小于2.25,大于1.3,不填该参数默认1.3 |
左图右文样式
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| type | Int | 否 | 左图右文样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序 |
| url | String | 否 | 点击跳转的url,type是1时必填 |
| appid | String | 否 | 点击跳转的小程序的appid,必须是与当前应用关联的小程序,type是2时必填 |
| pagepath | String | 否 | 点击跳转的小程序的pagepath,type是2时选填 |
| title | String | 否 | 左图右文样式的标题 |
| desc | String | 否 | 左图右文样式的描述 |
| image_url | String | 是 | 左图右文样式的图片url |
提交按钮样式
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| text | String | 是 | 按钮文案,建议不超过10个字 |
| key | String | 是 | 提交按钮的key,会产生回调事件将本参数作为EventKey返回,最长支持1024字节 |
下拉式的选择器列表
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| question_key | String | 是 | 下拉式的选择器题目的key,用户提交选项后,会产生回调事件,回调事件会带上该key值表示该题,最长支持1024字节,不可重复 |
| title | String | 否 | 选择器的标题,建议不超过13个字 |
| disable | Bool | 否 | 下拉式的选择器是否不可选,false为可选,true为不可选。仅在更新模版卡片的时候该字段有效 |
| selected_id | String | 否 | 默认选定的id,不填或错填默认第一个 |
| option_list | Object[] | 是 | 选项列表,下拉选项不超过 10 个,最少1个 |
| option_list.id | String | 是 | 下拉式的选择器选项的id,用户提交选项后,会产生回调事件,回调事件会带上该id值表示该选项,最长支持128字节,不可重复 |
| option_list.text | String | 是 | 下拉式的选择器选项的文案,建议不超过10个字 |
按钮列表
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| text | String | 是 | 按钮文案,建议不超过10个字 |
| style | Int | 否 | 按钮样式,目前可填1~4,不填或错填默认1, 按钮样式如下所示: |
| key | String | 是 | 按钮key值,用户点击后,会产生回调事件将本参数作为event_key返回,最长支持1024字节,不可重复 |
选择题样式
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| question_key | String | 是 | 选择题key值,用户提交选项后,会产生回调事件,回调事件会带上该key值表示该题,最长支持1024字节 |
| disable | Bool | 否 | 投票选择框的是否不可选,false为可选,true为不可选。仅在更新模版卡片的时候该字段有效 |
| mode | Int | 否 | 选择题模式,单选:0,多选:1,不填默认0 |
| option_list | Object[] | 是 | 选项list,选项个数不超过 20 个,最少1个 |
| option_list.id | String | 是 | 选项id,用户提交选项后,会产生回调事件,回调事件会带上该id值表示该选项,最长支持128字节,不可重复 |
| option_list.text | String | 是 | 选项文案描述,建议不超过11个字 |
| option_list.is_checked | Bool | 否 | 该选项是否要默认选中。 |
