> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [developer.work.weixin.qq.com](https://developer.work.weixin.qq.com/document/path/96458#%E5%9B%BE%E6%96%87%E6%B6%88%E6%81%AF) > 目录 目录 * [接口定义](#%E6%8E%A5%E5%8F%A3%E5%AE%9A%E4%B9%89) * [消息类型](#%E6%B6%88%E6%81%AF%E7%B1%BB%E5%9E%8B) *       [文本消息](#%E6%96%87%E6%9C%AC%E6%B6%88%E6%81%AF) *       [图片消息](#%E5%9B%BE%E7%89%87%E6%B6%88%E6%81%AF) *       [语音消息](#%E8%AF%AD%E9%9F%B3%E6%B6%88%E6%81%AF) *       [视频消息](#%E8%A7%86%E9%A2%91%E6%B6%88%E6%81%AF) *       [文件消息](#%E6%96%87%E4%BB%B6%E6%B6%88%E6%81%AF) *       [文本卡片消息](#%E6%96%87%E6%9C%AC%E5%8D%A1%E7%89%87%E6%B6%88%E6%81%AF) *       [图文消息](#%E5%9B%BE%E6%96%87%E6%B6%88%E6%81%AF) *       [图文消息(mpnews)](#%E5%9B%BE%E6%96%87%E6%B6%88%E6%81%AF%EF%BC%88mpnews%EF%BC%89) *       [markdown 消息](#markdown%E6%B6%88%E6%81%AF) *       [小程序通知消息](#%E5%B0%8F%E7%A8%8B%E5%BA%8F%E9%80%9A%E7%9F%A5%E6%B6%88%E6%81%AF) *       [模板卡片消息](#%E6%A8%A1%E6%9D%BF%E5%8D%A1%E7%89%87%E6%B6%88%E6%81%AF) *             [文本通知型](#%E6%96%87%E6%9C%AC%E9%80%9A%E7%9F%A5%E5%9E%8B) *             [图文展示型](#%E5%9B%BE%E6%96%87%E5%B1%95%E7%A4%BA%E5%9E%8B) *             [按钮交互型](#%E6%8C%89%E9%92%AE%E4%BA%A4%E4%BA%92%E5%9E%8B) *             [投票选择型](#%E6%8A%95%E7%A5%A8%E9%80%89%E6%8B%A9%E5%9E%8B) *             [多项选择型](#%E5%A4%9A%E9%A1%B9%E9%80%89%E6%8B%A9%E5%9E%8B) * [附录](#%E9%99%84%E5%BD%95) *       [支持的 markdown 语法](#%E6%94%AF%E6%8C%81%E7%9A%84markdown%E8%AF%AD%E6%B3%95) *       [id 转译说明](#id%E8%BD%AC%E8%AF%91%E8%AF%B4%E6%98%8E) [](#%E6%8E%A5%E5%8F%A3%E5%AE%9A%E4%B9%89)接口定义 --------------------------------------------- 应用支持推送文本、图片、视频、文件、图文等类型。 **请求方式:**POST(**HTTPS**) **请求地址:** https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN **参数说明:**
参数是否必须说明
access_token调用接口凭证
> - 各个消息类型的具体 POST 格式请阅后续 “消息类型” 部分。 > - 如果有在管理端对应用设置 “在微工作台中始终进入主页”,应用在微信端只能接收到文本消息,并且文本消息的长度限制为 20 字节,超过 20 字节会被截断。同时其他消息类型也会转换为文本消息,提示用户到企业微信查看。 > - 支持 id 转译,将 userid / 部门 id 转成对应的用户名 / 部门名,在企业授权了会话内容存档接口权限时,也可以将消息 id 和群 id 转成对应的消息内容 / 群名称,目前仅**文本 / 文本卡片 / 图文 / 图文(mpnews)/ 任务卡片 / 小程序通知 / 模版消息 / 模板卡片消息**这八种消息类型的**部分字段**支持。具体支持的范围和语法,请查看附录 [id 转译说明](#10167/id%E8%BD%AC%E8%AF%91%E8%AF%B4%E6%98%8E)。 > - 支持重复消息检查,当指定 `"enable_duplicate_check": 1`开启: 表示在一定时间间隔内,同样内容(请求 json)的消息,不会重复收到;时间间隔可通过`duplicate_check_interval`指定,默认`1800秒`。 > - 从 2021 年 2 月 4 日开始,企业关联添加的「小程序」应用,也可以发送文本、图片、视频、文件、图文等各种类型的消息了。 > **调用建议**:大部分企业应用在每小时的 0 分或 30 分触发推送消息,容易造成资源挤占,从而投递不够及时,建议尽量避开这两个时间点进行调用。 > **频率限制**:每应用不可超过账号上限数 * 200 人次 / 天(注:若调用 api 一次发给 1000 人,算 1000 人次;若企业账号上限是 500 人,则每个应用每天可发送 100000 人次的消息)。每应用对同一个成员不可超过 30 次 / 分钟,1000 次 / 小时,超过部分会被丢弃不下发 **返回示例:** ``` { "errcode" : 0, "errmsg" : "ok", "invaliduser" : "userid1|userid2", "invalidparty" : "partyid1|partyid2", "invalidtag": "tagid1|tagid2", "unlicenseduser" : "userid3|userid4", "msgid": "xxxx", "response_code": "xyzxyz" } ``` > 如果部分接收人无权限或不存在,发送仍然执行,但会返回无效的部分(即 invaliduser 或 invalidparty 或 invalidtag 或 unlicenseduser),常见的原因是**接收人不在应用的可见范围内**。 > 权限包含**应用可见范围**和**基础接口权限** (基础账号、互通账号均可),unlicenseduser 中的用户在应用可见范围内但没有基础接口权限。 > 如果**全部**接收人无权限或不存在,则本次调用返回失败,errcode 为 81013。 > 返回包中的 userid,不区分大小写,统一转为小写 **参数说明:**
参数说明
errcode返回码
errmsg对返回码的文本描述内容
invaliduser不合法的 userid,不区分大小写,统一转为小写
invalidparty不合法的 partyid
invalidtag不合法的标签 id
unlicenseduser没有基础接口许可 (包含已过期) 的 userid
msgid消息 id,用于撤回应用消息
response_code仅消息类型为 “按钮交互型”,“投票选择型” 和“多项选择型”的模板卡片消息返回,应用可使用 response_code 调用更新模版卡片消息接口,72 小时内有效,且只能使用一次
[](#%E6%B6%88%E6%81%AF%E7%B1%BB%E5%9E%8B)消息类型 --------------------------------------------- ### [](#%E6%96%87%E6%9C%AC%E6%B6%88%E6%81%AF)文本消息 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1|PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "text", "agentid" : 1, "text" : { "content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看邮件中心视频实况,聪明避开排队。" }, "safe":0, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser指定接收消息的成员,成员 ID 列表(多个接收者用‘|’分隔,最多支持 1000 个)。
特殊情况:指定为 "@all",则向该企业应用的全部成员发送
toparty指定接收消息的部门,部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。
当 touser 为 "@all" 时忽略本参数
totag指定接收消息的标签,标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。
当 touser 为 "@all" 时忽略本参数
msgtype消息类型,此时固定为:text
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
content消息内容,最长不超过 2048 个字节,超过将截断(支持 id 转译)
safe表示是否是保密消息,0 表示可对外分享,1 表示不能分享且内容显示水印,默认为 0
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0。
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
> touser、toparty、totag 不能同时为空,后面不再强调。 **文本消息展现:** ![](https://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_msg$5bc63c26.png) **特殊说明:** 其中 text 参数的 content 字段可以支持换行、以及 A 标签,即可打开自定义的网页(可参考以上示例代码)(注意:换行符请用转义过的 \ n) ### [](#%E5%9B%BE%E7%89%87%E6%B6%88%E6%81%AF)图片消息 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1|PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "image", "agentid" : 1, "image" : { "media_id" : "MEDIA_ID" }, "safe":0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **请求参数:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:image
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
media_id图片媒体文件 id,可以调用上传临时素材接口获取
safe表示是否是保密消息,0 表示可对外分享,1 表示不能分享且内容显示水印,默认为 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
### [](#%E8%AF%AD%E9%9F%B3%E6%B6%88%E6%81%AF)语音消息 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1|PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "voice", "agentid" : 1, "voice" : { "media_id" : "MEDIA_ID" }, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:voice
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
media_id语音文件 id,可以调用上传临时素材接口获取
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
### [](#%E8%A7%86%E9%A2%91%E6%B6%88%E6%81%AF)视频消息 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1|PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "video", "agentid" : 1, "video" : { "media_id" : "MEDIA_ID", "title" : "Title", "description" : "Description" }, "safe":0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:video
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
media_id视频媒体文件 id,可以调用上传临时素材接口获取
title视频消息的标题,不超过 128 个字节,超过会自动截断
description视频消息的描述,不超过 512 个字节,超过会自动截断
safe表示是否是保密消息,0 表示可对外分享,1 表示不能分享且内容显示水印,默认为 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
**视频消息展现:** ![](https://p.qpic.cn/pic_wework/3478722865/9d9b75910515dfd9064947d1d95e8dd7892670895ddfc0f3/0) ### [](#%E6%96%87%E4%BB%B6%E6%B6%88%E6%81%AF)文件消息 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1|PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "file", "agentid" : 1, "file" : { "media_id" : "1Yv-zXfHjSjU-7LH-GwtYqDGS-zz6w22KmWAT5COgP7o" }, "safe":0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:file
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
media_id文件 id,可以调用上传临时素材接口获取
safe表示是否是保密消息,0 表示可对外分享,1 表示不能分享且内容显示水印,默认为 0,保密消息支持以下格式文件: txt、pdf、doc、docx、ppt、pptx、xls、xlsx、xml、jpg、jpeg、png、bmp、gif
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
**文件消息展现:** ![](https://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/filemsg.jpeg) ### [](#%E6%96%87%E6%9C%AC%E5%8D%A1%E7%89%87%E6%B6%88%E6%81%AF)文本卡片消息 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1 | PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "textcard", "agentid" : 1, "textcard" : { "title" : "领奖通知", "description" : "
2016年9月26日
恭喜你抽中iPhone 7一台,领奖码:xxxx
请于2016年10月10日前联系行政同事领取
", "url" : "URL", "btntxt":"更多" }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:textcard
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
title标题,不超过 128 个字符,超过会自动截断(支持 id 转译)
description描述,不超过 512 个字符,超过会自动截断(支持 id 转译)
url点击后跳转的链接。最长 2048 字节,请确保包含了协议头 (http/https)
btntxt按钮文字。 默认为 “详情”, 不超过 4 个文字,超过自动截断。
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
**文本卡片消息展现 :** ![](https://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/cardmsg.jpeg) **特殊说明**: 卡片消息的展现形式非常灵活,支持使用 br 标签或者空格来进行换行处理,也支持使用 div 标签来使用不同的字体颜色,目前内置了 3 种文字颜色:灰色 (gray)、高亮 (highlight)、默认黑色 (normal),将其作为 div 标签的 class 属性即可,具体用法请参考上面的示例。 ### [](#%E5%9B%BE%E6%96%87%E6%B6%88%E6%81%AF)图文消息 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1 | PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "news", "agentid" : 1, "news" : { "articles" : [ { "title" : "中秋节礼品领取", "description" : "今年中秋节公司有豪礼相送", "url" : "URL", "picurl" : "https://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png", "appid": "wx123123123123123", "pagepath": "pages/index?userid=zhangsan&orderid=123123123" } ] }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:news
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
articles图文消息,一个图文消息支持 1 到 8 条图文
title标题,不超过 128 个字节,超过会自动截断(支持 id 转译)
description描述,不超过 512 个字节,超过会自动截断(支持 id 转译)
url点击后跳转的链接。 最长 2048 字节,请确保包含了协议头 (http/https),小程序或者 url 必须填写一个
picurl图文消息的图片链接,最长 2048 字节,支持 JPG、PNG 格式,较好的效果为大图 1068*455,小图 150*150。
appid小程序 appid,必须是与当前应用关联的小程序,appid 和 pagepath 必须同时填写,填写后会忽略 url 字段
pagepath点击消息卡片后的小程序页面,最长 128 字节,仅限本小程序内的页面。appid 和 pagepath 必须同时填写,填写后会忽略 url 字段
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
**图文消息展现:** ![](https://p.qpic.cn/pic_wework/3478722865/7a7c92760b2bd396e3b856a660f43c8b7db11271bddb3f34/0) ### [](#%E5%9B%BE%E6%96%87%E6%B6%88%E6%81%AF%EF%BC%88mpnews%EF%BC%89)图文消息(mpnews) > mpnews 类型的图文消息,跟普通的图文消息一致,唯一的差异是图文内容存储在企业微信。 > 多次发送 mpnews,会被认为是不同的图文,阅读、点赞的统计会被分开计算。 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1 | PartyID2", "totag": "TagID1 | TagID2", "msgtype" : "mpnews", "agentid" : 1, "mpnews" : { "articles":[ { "title": "Title", "thumb_media_id": "MEDIA_ID", "author": "Author", "content_source_url": "URL", "content": "Content", "digest": "Digest description" } ] }, "safe":0, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:mpnews
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
articles图文消息,一个图文消息支持 1 到 8 条图文
title标题,不超过 128 个字节,超过会自动截断(支持 id 转译)
thumb_media_id图文消息缩略图的 media_id, 可以通过素材管理接口获得。此处 thumb_media_id 即上传接口返回的 media_id
author图文消息的作者,不超过 64 个字节
content_source_url图文消息点击 “阅读原文” 之后的页面链接
content图文消息的内容,支持 html 标签,不超过 666 K 个字节(支持 id 转译)
digest图文消息的描述,不超过 512 个字节,超过会自动截断(支持 id 转译)
safe表示是否是保密消息,0 表示可对外分享,1 表示不能分享且内容显示水印,2 表示仅限在企业内分享,默认为 0;注意仅 mpnews 类型的消息支持 safe 值为 2,其他消息类型不支持
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
### [](#markdown%E6%B6%88%E6%81%AF)markdown 消息 > 目前仅支持 [markdown 语法的子集](#10167/%E6%94%AF%E6%8C%81%E7%9A%84markdown%E8%AF%AD%E6%B3%95) > 微工作台(原企业号)不支持展示 markdown 消息 **请求示例:** ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1|PartyID2", "totag" : "TagID1 | TagID2", "msgtype": "markdown", "agentid" : 1, "markdown": { "content": "您的会议室已经预定,稍后会同步到`邮箱` \n>**事项详情** \n>事 项:开会 \n>组织者:@miglioguan \n>参与者:@miglioguan、@kunliu、@jamdeezhou、@kanexiong、@kisonwang \n> \n>会议室:广州TIT 1楼 301 \n>日 期:2018年5月18日 \n>时 间:上午9:00-11:00 \n> \n>请准时参加会议。 \n> \n>如需修改会议信息,请点击:[修改会议信息](https://work.weixin.qq.com)" }, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **示例效果:** ![](https://p.qpic.cn/pic_wework/1114461239/dddbcdd097e5f308248cd7f99e0ebb336975267b9348c4ec/0) **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:markdown
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
contentmarkdown 内容,最长不超过 2048 个字节,必须是 utf8 编码
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
### [](#%E5%B0%8F%E7%A8%8B%E5%BA%8F%E9%80%9A%E7%9F%A5%E6%B6%88%E6%81%AF)小程序通知消息 > 小程序通知消息只允许绑定了小程序的应用发送,~之前,消息会通过统一的会话【小程序通知】发送给用户~。 > 从 2019 年 6 月 28 日起,用户收到的小程序通知会出现在各个独立的应用中。 > 不支持 @all 全员发送 > 微工作台(原企业号)不支持展示小程序通知消息 **请求示例:** ``` { "touser" : "zhangsan|lisi", "toparty": "1|2", "totag": "1|2", "msgtype" : "miniprogram_notice", "miniprogram_notice" : { "appid": "wx123123123123123", "page": "pages/index?userid=zhangsan&orderid=123123123", "title": "会议室预订成功通知", "description": "4月27日 16:16", "emphasis_first_item": true, "content_item": [ { "key": "会议室", "value": "402" }, { "key": "会议地点", "value": "广州TIT-402会议室" }, { "key": "会议时间", "value": "2018年8月1日 09:00-09:30" }, { "key": "参与人员", "value": "周剑轩" } ] }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **示例效果:** ![](https://p.qpic.cn/pic_wework/3478722865/c4c2b9c84342e6ef5f62bbace170e85d7a5c58779bc60fc4/0) **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。
msgtype消息类型,此时固定为:miniprogram_notice
appid小程序 appid,必须是与当前应用关联的小程序
page点击消息卡片后的小程序页面,最长 1024 个字节,仅限本小程序内的页面。该字段不填则消息点击后不跳转。
title消息标题,长度限制 4-12 个汉字(支持 id 转译)
description消息描述,长度限制 4-12 个汉字(支持 id 转译)
emphasis_first_item是否放大第一个 content_item
content_item消息内容键值对,最多允许 10 个 item
key长度 10 个汉字以内
value长度 30 个汉字以内(支持 id 转译)
key 和 value 两个字段同时为空时,该键值对将被忽略
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
### [](#%E6%A8%A1%E6%9D%BF%E5%8D%A1%E7%89%87%E6%B6%88%E6%81%AF)模板卡片消息 > 投票选择型和多项选择型卡片仅企业微信 3.1.12 及以上版本支持 > 文本通知型、图文展示型和按钮交互型三种卡片仅企业微信 3.1.6 及以上版本支持(但附件下载功能仍需更新至 3.1.12) > 微工作台(原企业号)不支持展示模板卡片消息 **3.1.18 版本新增** 1. source 字段支持设置字体颜色 2. horizontal_content_list 新增 type 3,代表点击跳转成员详情(仅企业微信 3.1.18 及以上版本支持) 3. 新增 action_menu(右上角菜单)(仅企业微信 3.1.18 及以上版本支持) 4. quote_area(引用样式)、image_text_area(左图右文样式)、button_selection(按钮型卡片的下拉框样式) 等字段 **特殊说明** 1. 仅有 按钮交互型、投票选择型、多项选择型 以及填写了 action_menu 字段的文本通知型、图文展示型的卡片支持回调更新或通过接口更新卡片。 2. 支持回调更新的卡片可支持用户点击触发交互事件,需要开发者设置的回调接口来处理回调事件,回调协议可见文档 [模板卡片事件推送](#12974/%E6%A8%A1%E6%9D%BF%E5%8D%A1%E7%89%87%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81),注意 **没有配置回调接口的应用不可发送支持回调的卡片**。 3. 开发者的服务收到回调事件后,需要根据协议返回相应的数据以更新卡片,对应的协议见文档 [更新模版卡片消息](#12975/%E6%A8%A1%E6%9D%BF%E5%8D%A1%E7%89%87%E6%9B%B4%E6%96%B0%E6%B6%88%E6%81%AF)。 4. 此接口发送支持回调更新的卡片消息之后,返回的参数里会带上 response_code,可使用 response_code 调用[更新模版卡片消息](#32086)接口,**response_code 72 小时内有效,且只能调用一次接口**。 #### [](#%E6%96%87%E6%9C%AC%E9%80%9A%E7%9F%A5%E5%9E%8B)文本通知型 ![](https://wework.qpic.cn/wwpic/235797_QOJtTyeUTBuAk_G_1632907465/0) ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1 | PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "template_card", "agentid" : 1, "template_card" : { "card_type" : "text_notice", "source" : { "icon_url": "图片的url", "desc": "企业微信", "desc_color": 1 }, "action_menu": { "desc": "卡片副交互辅助文本说明", "action_list": [ {"text": "接受推送", "key": "A"}, {"text": "不再推送", "key": "B"} ] }, "task_id": "task_id", "main_title" : { "title" : "欢迎使用企业微信", "desc" : "您的好友正在邀请您加入企业微信" }, "quote_area": { "type": 1, "url": "https://work.weixin.qq.com", "title": "企业微信的引用样式", "quote_text": "企业微信真好用呀真好用" }, "emphasis_content": { "title": "100", "desc": "核心数据" }, "sub_title_text" : "下载企业微信还能抢红包!", "horizontal_content_list" : [ { "keyname": "邀请人", "value": "张三" }, { "type": 1, "keyname": "企业微信官网", "value": "点击访问", "url": "https://work.weixin.qq.com" }, { "type": 2, "keyname": "企业微信下载", "value": "企业微信.apk", "media_id": "文件的media_id" }, { "type": 3, "keyname": "员工信息", "value": "点击查看", "userid": "zhangsan" } ], "jump_list" : [ { "type": 1, "title": "企业微信官网", "url": "https://work.weixin.qq.com" }, { "type": 2, "title": "跳转小程序", "appid": "小程序的appid", "pagepath": "/index.html" } ], "card_action": { "type": 2, "url": "https://work.weixin.qq.com", "appid": "小程序的appid", "pagepath": "/index.html" } }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:template_card
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
card_type模板卡片类型,文本通知型卡片填写 "text_notice"
source卡片来源样式信息,不需要来源样式可不填写
source.icon_url来源图片的 url,来源图片的尺寸建议为 72*72
source.desc来源图片的描述,建议不超过 20 个字,(支持 id 转译)
source.desc_color来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色
action_menu卡片右上角更多操作按钮
action_menu.desc更多操作界面的描述
action_menu.action_list操作列表,列表长度取值范围为 [1, 3]
action_menu.action_list.text操作的描述文案
action_menu.action_list.key操作 key 值,用户点击后,会产生回调事件将本参数作为 EventKey 返回,回调事件会带上该 key 值,最长支持 1024 字节,不可重复
main_title.title一级标题,建议不超过 36 个字,文本通知型卡片本字段非必填,但不可本字段和 sub_title_text 都不填,(支持 id 转译)
main_title.desc标题辅助信息,建议不超过 44 个字,(支持 id 转译)
quote_area引用文献样式
quote_area.type引用文献样式区域点击事件,0 或不填代表没有点击事件,1 代表跳转 url,2 代表跳转小程序
quote_area.url点击跳转的 url,quote_area.type 是 1 时必填
quote_area.appid点击跳转的小程序的 appid,必须是与当前应用关联的小程序,quote_area.type 是 2 时必填
quote_area.pagepath点击跳转的小程序的 pagepath,quote_area.type 是 2 时选填
quote_area.title引用文献样式的标题
quote_area.quote_text引用文献样式的引用文案
emphasis_content关键数据样式
emphasis_content.title关键数据样式的数据内容,建议不超过 14 个字
emphasis_content.desc关键数据样式的数据描述内容,建议不超过 22 个字
sub_title_text二级普通文本,建议不超过 160 个字,(支持 id 转译)
horizontal_content_list二级标题 + 文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过 6
horizontal_content_list.type链接类型,0 或不填代表不是链接,1 代表跳转 url,2 代表下载附件,3 代表点击跳转成员详情
horizontal_content_list.keyname二级标题,建议不超过 5 个字
horizontal_content_list.value二级文本,如果 horizontal_content_list.type 是 2,该字段代表文件名称(要包含文件类型),建议不超过 30 个字,(支持 id 转译)
horizontal_content_list.url链接跳转的 url,horizontal_content_list.type 是 1 时必填
horizontal_content_list.media_id附件的 media_id,horizontal_content_list.type 是 2 时必填
horizontal_content_list.userid成员详情的 userid,horizontal_content_list.type 是 3 时必填
jump_list跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过 3
jump_list.type跳转链接类型,0 或不填代表不是链接,1 代表跳转 url,2 代表跳转小程序
jump_list.title跳转链接样式的文案内容,建议不超过 18 个字
jump_list.url跳转链接的 url,jump_list.type 是 1 时必填
jump_list.appid跳转链接的小程序的 appid,必须是与当前应用关联的小程序,jump_list.type 是 2 时必填
jump_list.pagepath跳转链接的小程序的 pagepath,jump_list.type 是 2 时选填
card_action整体卡片的点击跳转事件,text_notice 必填本字段
card_action.type跳转事件类型,1 代表跳转 url,2 代表打开小程序。text_notice 卡片模版中该字段取值范围为 [1,2]
card_action.url跳转事件的 url,card_action.type 是 1 时必填
card_action.appid跳转事件的小程序的 appid,必须是与当前应用关联的小程序,card_action.type 是 2 时必填
card_action.pagepath跳转事件的小程序的 pagepath,card_action.type 是 2 时选填
task_id任务 id,同一个应用任务 id 不能重复,只能由数字、字母和 “_-@” 组成,最长 128 字节,填了 action_menu 字段的话本字段必填
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
#### [](#%E5%9B%BE%E6%96%87%E5%B1%95%E7%A4%BA%E5%9E%8B)图文展示型 ![](https://wework.qpic.cn/wwpic/93182_HHrOrbdjTNW9ieM_1632907497/0) ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1 | PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "template_card", "agentid" : 1, "template_card" : { "card_type" : "news_notice", "source" : { "icon_url": "图片的url", "desc": "企业微信", "desc_color": 1 }, "action_menu": { "desc": "卡片副交互辅助文本说明", "action_list": [ {"text": "接受推送", "key": "A"}, {"text": "不再推送", "key": "B"} ] }, "task_id": "task_id", "main_title" : { "title" : "欢迎使用企业微信", "desc" : "您的好友正在邀请您加入企业微信" }, "quote_area": { "type": 1, "url": "https://work.weixin.qq.com", "title": "企业微信的引用样式", "quote_text": "企业微信真好用呀真好用" }, "image_text_area": { "type": 1, "url": "https://work.weixin.qq.com", "title": "企业微信的左图右文样式", "desc": "企业微信真好用呀真好用", "image_url": "https://img.iplaysoft.com/wp-content/uploads/2019/free-images/free_stock_photo_2x.jpg" }, "card_image": { "url": "图片的url", "aspect_ratio": 1.3 }, "vertical_content_list": [ { "title": "惊喜红包等你来拿", "desc": "下载企业微信还能抢红包!" } ], "horizontal_content_list" : [ { "keyname": "邀请人", "value": "张三" }, { "type": 1, "keyname": "企业微信官网", "value": "点击访问", "url": "https://work.weixin.qq.com" }, { "type": 2, "keyname": "企业微信下载", "value": "企业微信.apk", "media_id": "文件的media_id" }, { "type": 3, "keyname": "员工信息", "value": "点击查看", "userid": "zhangsan" } ], "jump_list" : [ { "type": 1, "title": "企业微信官网", "url": "https://work.weixin.qq.com" }, { "type": 2, "title": "跳转小程序", "appid": "小程序的appid", "pagepath": "/index.html" } ], "card_action": { "type": 2, "url": "https://work.weixin.qq.com", "appid": "小程序的appid", "pagepath": "/index.html" } }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ```
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:template_card
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
card_type模板卡片类型,图文展示型卡片此处填写 "news_notice"
source卡片来源样式信息,不需要来源样式可不填写
source.icon_url来源图片的 url,来源图片的尺寸建议为 72*72
source.desc来源图片的描述,建议不超过 20 个字,(支持 id 转译)
source.desc_color来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色
action_menu卡片右上角更多操作按钮
action_menu.desc更多操作界面的描述
action_menu.action_list操作列表,列表长度取值范围为 [1, 3]
action_menu.action_list.text操作的描述文案
action_menu.action_list.key操作 key 值,用户点击后,会产生回调事件将本参数作为 EventKey 返回,回调事件会带上该 key 值,最长支持 1024 字节,不可重复
main_title.title一级标题,建议不超过 36 个字,(支持 id 转译)
main_title.desc标题辅助信息,建议不超过 44 个字,(支持 id 转译)
quote_area引用文献样式
quote_area.type引用文献样式区域点击事件,0 或不填代表没有点击事件,1 代表跳转 url,2 代表跳转小程序
quote_area.url点击跳转的 url,quote_area.type 是 1 时必填
quote_area.appid点击跳转的小程序的 appid,必须是与当前应用关联的小程序,quote_area.type 是 2 时必填
quote_area.pagepath点击跳转的小程序的 pagepath,quote_area.type 是 2 时选填
quote_area.title引用文献样式的标题
quote_area.quote_text引用文献样式的引用文案
image_text_area左图右文样式,news_notice 类型的卡片,card_image 和 image_text_area 两者必填一个字段,不可都不填
image_text_area.type左图右文样式区域点击事件,0 或不填代表没有点击事件,1 代表跳转 url,2 代表跳转小程序
image_text_area.url点击跳转的 url,image_text_area.type 是 1 时必填
image_text_area.appid点击跳转的小程序的 appid,必须是与当前应用关联的小程序,image_text_area.type 是 2 时必填
image_text_area.pagepath点击跳转的小程序的 pagepath,image_text_area.type 是 2 时选填
image_text_area.title左图右文样式的标题
image_text_area.desc左图右文样式的描述
image_text_area.image_url左图右文样式的图片 url
card_image图片样式,news_notice 类型的卡片,card_image 和 image_text_area 两者必填一个字段,不可都不填
card_image.url图片的 url
card_image.aspect_ratio图片的宽高比,宽高比要小于 2.25,大于 1.3,不填该参数默认 1.3
vertical_content_list卡片二级垂直内容,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过 4
vertical_content_list.title卡片二级标题,建议不超过 38 个字
vertical_content_list.desc二级普通文本,建议不超过 160 个字
horizontal_content_list二级标题 + 文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过 6
horizontal_content_list.type链接类型,0 或不填代表不是链接,1 代表跳转 url,2 代表下载附件,3 代表点击跳转成员详情
horizontal_content_list.keyname二级标题,建议不超过 5 个字
horizontal_content_list.value二级文本,如果 horizontal_content_list.type 是 2,该字段代表文件名称(要包含文件类型),建议不超过 30 个字,(支持 id 转译)
horizontal_content_list.url链接跳转的 url,horizontal_content_list.type 是 1 时必填
horizontal_content_list.media_id附件的 media_id,horizontal_content_list.type 是 2 时必填
horizontal_content_list.userid成员详情的 userid,horizontal_content_list.type 是 3 时必填
jump_list跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过 3
jump_list.type跳转链接类型,0 或不填代表不是链接,1 代表跳转 url,2 代表跳转小程序
jump_list.title跳转链接样式的文案内容,建议不超过 18 个字
jump_list.url跳转链接的 url,jump_list.type 是 1 时必填
jump_list.appid跳转链接的小程序的 appid,必须是与当前应用关联的小程序,jump_list.type 是 2 时必填
jump_list.pagepath跳转链接的小程序的 pagepath,jump_list.type 是 2 时选填
card_action整体卡片的点击跳转事件,news_notice 必填本字段
card_action.type跳转事件类型,1 代表跳转 url,2 代表打开小程序。news_notice 卡片模版中该字段取值范围为 [1,2]
card_action.url跳转事件的 url,card_action.type 是 1 时必填
card_action.appid跳转事件的小程序的 appid,必须是与当前应用关联的小程序,card_action.type 是 2 时必填
card_action.pagepath跳转事件的小程序的 pagepath,card_action.type 是 2 时选填
task_id任务 id,同一个应用任务 id 不能重复,只能由数字、字母和 “_-@” 组成,最长 128 字节,填了 action_menu 字段的话本字段必填
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
#### [](#%E6%8C%89%E9%92%AE%E4%BA%A4%E4%BA%92%E5%9E%8B)按钮交互型 ![](https://wework.qpic.cn/wwpic/102736_wYaFgfHsRIOPzL1_1632907528/0) ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1 | PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "template_card", "agentid" : 1, "template_card" : { "card_type" : "button_interaction", "source" : { "icon_url": "图片的url", "desc": "企业微信", "desc_color": 1 }, "action_menu": { "desc": "卡片副交互辅助文本说明", "action_list": [ {"text": "接受推送", "key": "A"}, {"text": "不再推送", "key": "B"} ] }, "main_title" : { "title" : "欢迎使用企业微信", "desc" : "您的好友正在邀请您加入企业微信" }, "quote_area": { "type": 1, "url": "https://work.weixin.qq.com", "title": "企业微信的引用样式", "quote_text": "企业微信真好用呀真好用" }, "sub_title_text" : "下载企业微信还能抢红包!", "horizontal_content_list" : [ { "keyname": "邀请人", "value": "张三" }, { "type": 1, "keyname": "企业微信官网", "value": "点击访问", "url": "https://work.weixin.qq.com" }, { "type": 2, "keyname": "企业微信下载", "value": "企业微信.apk", "media_id": "文件的media_id" }, { "type": 3, "keyname": "员工信息", "value": "点击查看", "userid": "zhangsan" } ], "card_action": { "type": 2, "url": "https://work.weixin.qq.com", "appid": "小程序的appid", "pagepath": "/index.html" }, "task_id": "task_id", "button_selection": { "question_key": "btn_question_key1", "title": "企业微信评分", "option_list": [ { "id": "btn_selection_id1", "text": "100分" }, { "id": "btn_selection_id2", "text": "101分" } ], "selected_id": "btn_selection_id1" }, "button_list": [ { "text": "按钮1", "style": 1, "key": "button_key_1" }, { "text": "按钮2", "style": 2, "key": "button_key_2" } ] }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ```
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:template_card
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
card_type模板卡片类型,按钮交互型卡片填写 "button_interaction"
source卡片来源样式信息,不需要来源样式可不填写
source.icon_url来源图片的 url,来源图片的尺寸建议为 72*72
source.desc来源图片的描述,建议不超过 20 个字,(支持 id 转译)
source.desc_color来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色
action_menu卡片右上角更多操作按钮
action_menu.desc更多操作界面的描述
action_menu.action_list操作列表,列表长度取值范围为 [1, 3]
action_menu.action_list.text操作的描述文案
action_menu.action_list.key操作 key 值,用户点击后,会产生回调事件将本参数作为 EventKey 返回,回调事件会带上该 key 值,最长支持 1024 字节,不可重复
main_title.title一级标题,建议不超过 36 个字,(支持 id 转译)
main_title.desc标题辅助信息,建议不超过 44 个字,(支持 id 转译)
quote_area引用文献样式
quote_area.type引用文献样式区域点击事件,0 或不填代表没有点击事件,1 代表跳转 url,2 代表跳转小程序
quote_area.url点击跳转的 url,quote_area.type 是 1 时必填
quote_area.appid点击跳转的小程序的 appid,必须是与当前应用关联的小程序,quote_area.type 是 2 时必填
quote_area.pagepath点击跳转的小程序的 pagepath,quote_area.type 是 2 时选填
quote_area.title引用文献样式的标题
quote_area.quote_text引用文献样式的引用文案
sub_title_text二级普通文本,建议不超过 160 个字,(支持 id 转译)
horizontal_content_list二级标题 + 文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过 6
horizontal_content_list.type链接类型,0 或不填代表不是链接,1 代表跳转 url,2 代表下载附件,3 代表点击跳转成员详情
horizontal_content_list.keyname二级标题,建议不超过 5 个字
horizontal_content_list.value二级文本,如果 horizontal_content_list.type 是 2,该字段代表文件名称(要包含文件类型),建议不超过 30 个字,(支持 id 转译)
horizontal_content_list.url链接跳转的 url,horizontal_content_list.type 是 1 时必填
horizontal_content_list.media_id附件的 media_id,horizontal_content_list.type 是 2 时必填
horizontal_content_list.userid成员详情的 userid,horizontal_content_list.type 是 3 时必填
card_action整体卡片的点击跳转事件
card_action.type跳转事件类型,0 或不填代表不是链接,1 代表跳转 url,2 代表打开小程序
card_action.url跳转事件的 url,card_action.type 是 1 时必填
card_action.appid跳转事件的小程序的 appid,必须是与当前应用关联的小程序,card_action.type 是 2 时必填
card_action.pagepath跳转事件的小程序的 pagepath,card_action.type 是 2 时选填
task_id任务 id,同一个应用任务 id 不能重复,只能由数字、字母和 “_-@” 组成,最长 128 字节
button_selection.question_key下拉式的选择器的 key,用户提交选项后,会产生回调事件,回调事件会带上该 key 值表示该题,最长支持 1024 字节
button_selection.title下拉式的选择器左边的标题
button_selection.option_list选项列表,下拉选项不超过 10 个,最少 1 个
button_selection.selected_id默认选定的 id,不填或错填默认第一个
button_selection.option_list.id下拉式的选择器选项的 id,用户提交后,会产生回调事件,回调事件会带上该 id 值表示该选项,最长支持 128 字节,不可重复
button_selection.option_list.text下拉式的选择器选项的文案,建议不超过 16 个字
button_list按钮列表,列表长度不超过 6
button_list.type按钮点击事件类型,0 或不填代表回调点击事件,1 代表跳转 url
button_list.text按钮文案,建议不超过 10 个字
button_list.style按钮样式,目前可填 1~4,不填或错填默认 1
button_list.key按钮 key 值,用户点击后,会产生回调事件将本参数作为 EventKey 返回,回调事件会带上该 key 值,最长支持 1024 字节,不可重复,button_list.type 是 0 时必填
button_list.url跳转事件的 url,button_list.type 是 1 时必填
备注: 按钮样式 ![](https://wework.qpic.cn/wwpic/805842_iKxTyYPiRBamTcX_1628665323/0) #### [](#%E6%8A%95%E7%A5%A8%E9%80%89%E6%8B%A9%E5%9E%8B)投票选择型 ![](https://wework.qpic.cn/wwpic/822424_UiGowMtcSD-EyEq_1628758117/0) ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1 | PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "template_card", "agentid" : 1, "template_card" : { "card_type" : "vote_interaction", "source" : { "icon_url": "图片的url", "desc": "企业微信" }, "main_title" : { "title" : "欢迎使用企业微信", "desc" : "您的好友正在邀请您加入企业微信" }, "task_id": "task_id", "checkbox": { "question_key": "question_key1", "option_list": [ { "id": "option_id1", "text": "选择题选项1", "is_checked": true }, { "id": "option_id2", "text": "选择题选项2", "is_checked": false } ], "mode": 1 }, "submit_button": { "text": "提交", "key": "key" } }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:template_card
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
card_type模板卡片类型,投票选择型卡片填写 "vote_interaction"
source卡片来源样式信息,不需要来源样式可不填写
source.icon_url来源图片的 url,来源图片的尺寸建议为 72*72
source.desc来源图片的描述,建议不超过 20 个字,(支持 id 转译)
main_title.title一级标题,建议不超过 16 个字,(支持 id 转译)
main_title.desc二级普通文本,建议不超过 160 个字,(支持 id 转译)
task_id任务 id,同一个应用任务 id 不能重复,只能由数字、字母和 “_-@” 组成,最长 128 字节
checkbox选择题样式
checkbox.question_key选择题 key 值,用户提交选项后,会产生回调事件,回调事件会带上该 key 值表示该题,最长支持 1024 字节
checkbox.mode选择题模式,单选:0,多选:1,不填默认 0
checkbox.option_list选项 list,选项个数不超过 20 个,最少 1 个
checkbox.option_list.id选项 id,用户提交选项后,会产生回调事件,回调事件会带上该 id 值表示该选项,最长支持 128 字节,不可重复
checkbox.option_list.text选项文案描述,建议不超过 17 个字
checkbox.option_list.is_checked该选项是否要默认选中
submit_button提交按钮样式
submit_button.text按钮文案,建议不超过 10 个字,不填默认为提交
submit_button.key提交按钮的 key,会产生回调事件将本参数作为 EventKey 返回,最长支持 1024 字节
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
#### [](#%E5%A4%9A%E9%A1%B9%E9%80%89%E6%8B%A9%E5%9E%8B)多项选择型 ![](https://wework.qpic.cn/wwpic/977007_JDisThiPRXam-GG_1628758163/0) ``` { "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1 | PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "template_card", "agentid" : 1, "template_card" : { "card_type" : "multiple_interaction", "source" : { "icon_url": "图片的url", "desc": "企业微信" }, "main_title" : { "title" : "欢迎使用企业微信", "desc" : "您的好友正在邀请您加入企业微信" }, "task_id": "task_id", "select_list": [ { "question_key": "question_key1", "title": "选择器标签1", "selected_id": "selection_id1", "option_list": [ { "id": "selection_id1", "text": "选择器选项1" }, { "id": "selection_id2", "text": "选择器选项2" } ] }, { "question_key": "question_key2", "title": "选择器标签2", "selected_id": "selection_id3", "option_list": [ { "id": "selection_id3", "text": "选择器选项3" }, { "id": "selection_id4", "text": "选择器选项4" } ] } ], "submit_button": { "text": "提交", "key": "key" } }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 } ``` **参数说明:**
参数是否必须说明
touser成员 ID 列表(消息接收者,多个接收者用‘|’分隔,最多支持 1000 个)。特殊情况:指定为 @all,则向关注该企业应用的全部成员发送
toparty部门 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
totag标签 ID 列表,多个接收者用‘|’分隔,最多支持 100 个。当 touser 为 @all 时忽略本参数
msgtype消息类型,此时固定为:template_card
agentid企业应用的 id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
card_type模板卡片类型,多项选择型卡片填写 "multiple_interaction"
source卡片来源样式信息,不需要来源样式可不填写
source.icon_url来源图片的 url,来源图片的尺寸建议为 72*72
source.desc来源图片的描述,建议不超过 20 个字,(支持 id 转译)
main_title.title一级标题,建议不超过 36 个字,(支持 id 转译)
main_title.desc标题辅助信息,建议不超过 160 个字,(支持 id 转译)
task_id任务 id,同一个应用任务 id 不能重复,只能由数字、字母和 “_-@” 组成,最长 128 字节
select_list下拉式的选择器列表,multiple_interaction 类型的卡片该字段不可为空,一个消息最多支持 3 个选择器
select_list.question_key下拉式的选择器题目的 key,用户提交选项后,会产生回调事件,回调事件会带上该 key 值表示该题,最长支持 1024 字节,不可重复
select_list.title下拉式的选择器上面的 title
select_list.option_list选项列表,下拉选项不超过 10 个,最少 1 个
select_list.selected_id默认选定的 id,不填或错填默认第一个
select_list.option_list.id下拉式的选择器选项的 id,用户提交选项后,会产生回调事件,回调事件会带上该 id 值表示该选项,最长支持 128 字节,不可重复
select_list.option_list.text下拉式的选择器选项的文案,建议不超过 16 个字
submit_button提交按钮样式
submit_button.text按钮文案,建议不超过 10 个字,不填默认为提交
submit_button.key提交按钮的 key,会产生回调事件将本参数作为 EventKey 返回,最长支持 1024 字节
enable_id_trans表示是否开启 id 转译,0 表示否,1 表示是,默认 0
enable_duplicate_check表示是否开启重复消息检查,0 表示否,1 表示是,默认 0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认 1800s,最大不超过 4 小时
[](#%E9%99%84%E5%BD%95)附录 ------------------------- ### [](#%E6%94%AF%E6%8C%81%E7%9A%84markdown%E8%AF%AD%E6%B3%95)支持的 markdown 语法 目前应用消息中支持的 markdown 语法是如下的子集: 1. 标题 (支持 1 至 6 级标题,注意 #与文字中间要有空格) ``` # 标题一 ## 标题二 ### 标题三 #### 标题四 ##### 标题五 ###### 标题六 ``` 2. 加粗 3. 链接 ``` **bold** ``` 4. 行内代码段(暂不支持跨行) 5. 引用 6. 字体颜色 (只支持 3 种内置颜色) ``` [这是一个链接](http://work.weixin.qq.com/api/doc) ``` ### [](#id%E8%BD%AC%E8%AF%91%E8%AF%B4%E6%98%8E)id 转译说明 1. 支持的消息类型和对应的字段
消息类型支持字段
文本(text)content
文本卡片(textcard)title、description
图文(news)title、description
图文(mpnews)title、digest、content
小程序通知(miniprogram_notice)title、description、content_item.value
模版消息(template_msg)value
模板卡片消息(template_card)source.desc、main_title.title、main_title.desc、sub_title_text、horizontal_content_list.value
2.id 转译模版语法 ``` `code` ``` 其中 DEPARTMENT_ID 是数字类型的部门 id,USERID 是[成员账号](#14953/userid)。 譬如, 将`$departmentName=1$`替换成部门 id 为`1`对应的部门名,如 “企业微信部”; 将`$userName=lisi007$`替换成 userid 为`lisi007`对应的用户姓名,如 “李四”; 将`$userAlias=lisi007$`替换成 userid 为`lisi007`对应的用户别名,如 “lisi”; 将`$userAliasOrName=lisi007$`替换成 userid 为`lisi007`对应的用户别名或姓名,别名优先级高于姓名,如 "lisi"。 > 若输入的模板不符合语法、不在权限范围内或无效的 userid 或者部门 ID,则不替换该项内容,保留原样 > 转译 userAlias 时,如果用户没有别名,则不替换该项内容,保留原样 > 转译 userAliasOrName 时,如果用户有别名,则替换为别名;否则,将替换为姓名 在**企业授权了会话内容存档接口权限**时,也支持转译消息内容和群聊名称,语法如下: ``` > 引用文字 ``` * CHATID 是群聊 ID,MSGID 是消息 ID,SECRET-KEY 是[获取会话记录](#42660/%E8%8E%B7%E5%8F%96%E4%BC%9A%E8%AF%9D%E8%AE%B0%E5%BD%95)接口返回的这条消息对应的 encrypted_secretkey 字段进行解密得到,参考 [encrypt_secretkey 解密方式](#51799)。 * EXTERNAL_USERID 是客户的 ID。若是企业客户填:externalUserId 若是客户群的外部成员填:chatid/externalUserId,例如:wraaaabbbb/wmccccdddd。若当前企业为 K12 教育行业,externalUserId 在家校通讯录中,则会转译为家长或者学生的名称。 譬如, 将`$chatName=xxxxx$`替换成群聊 ID 为`xxxxx`对应的群聊名称; 将`$msgContent=xxxxx/yyyyyy$`替换成消息 ID 为`xxxxx`对应的消息内容,其中[获取会话记录](#42660/%E8%8E%B7%E5%8F%96%E4%BC%9A%E8%AF%9D%E8%AE%B0%E5%BD%95)接口返回的这条消息对应的 encrypted_secretkey 字段进行解密得到的密钥为`yyyyyy`; 将 `$externalUserName=xxxxx$` 替换成客户 ID 为 `xxxxx` 对应的客户名称;如果当前企业是 K12 教育行业,客户 ID 为家长或者学生的 externalUserId,则展示家长或者学生的名称,若非家长或者学生,则展示 “非学校家长”。若员工对客户有设置备注名,则展示 “备注名 (名称)”;若名称和备注名一致时仅展示 “备注名”;多个员工给客户有备注的,展示最早添加的员工给客户的备注。 > 若输入的模板不符合语法、群聊 ID 无效、消息 ID 无效或对应的密钥不正确,则不替换该项内容,保留原样 > 当企业没有授权会话内容存档接口权限是,也不替换该项内容,保留原样 > 为防止意外泄漏,消息 ID 转译失败的情况下,将只会展示 MSGID 部分的内容,SECRET-KEY 部分的内容不会展示 群聊 ID 支持转译内部群和外部群的名称; 不包括单聊; 对于无名称的企业内部群聊,展示为`未命名内部群`; 对于无名称的企业客户群聊,展示为`未命名客户群`; 对于非企业客户群,展示为`非企业客户群`。 消息 ID
消息类型对应转译结果
文本消息文本消息的内容
图片消息[图片]
Markdown 消息Markdown 消息的文本内容
图文混排消息文本的内容,涉及到其他类型的部分用消息类型名称代替,如[图片]
其他展示对应的消息类型名称,如[小程序][红包消息]
> 其他特殊情况转译结果说明: > 企微后台系统失败 -> 消息获取失败 > msgid 不存在或者过期 -> 消息已过期,消息内容无法展示 > SECRET-KEY 错误 -> 消息密钥错误