企业微信应用模板消息

是在发送应用消息接口的基础上,第三方应用支持一种新的消息类型:模板消息,msgtype指定为template_msg。模板消息是一种固定格式的消息。

注意

- 此消息类型目前仅第三方应用支持,自建应用不支持。服务商需在管理端申请模版。接口传参的内容必须与申请的模版匹配;

- 成员授权模式下,对于不在可见范围内的成员,第三方应用没有userid或open_userid,但可以通过传入合法且未过期的selected_ticket_list来推送模板消息,selected_ticket_list可通过返回ticket的选人接口获得。注意,管理员授权模式下,仅能给可见范围之内的成员推送消息,不在可见范围的成员将不能收到消息;

- 对于应用可见范围内的成员,直接通过touser指定即可,无须传入selected_ticket_list;

- 支持id转译,将userid/部门id转成对应的用户名/部门名。具体支持的范围和语法,请查看附录id转译说明。

设置模板

之前设置模板的时候,设置的【审批/汇报模板】还又是设置【应用和模板上线】,结果一直是测试提示模板不合法(改参数调试的一言难尽)。原来模板设置错位置了。

 

位置

在三方应用详情(我的是关联小程序应用详情)【应用通知模版】添加按钮。

注意:模板需要应用上线后才可设置。

如下图:

添加模板

点击新建模版,输入标题、关键字、示例内容、使用场景描述。

 点击【保存】后,返回应用详情出现刚才添加的模板标题和模板ID。

 

获取企业token

此处不再是使用三方应用的凭证,而是使用授权企业的access_token;因为这里开始调用企业的接口,故使用企业的access_token。

官网文档 -> 获取企业凭证

获取企业凭证 - 接口文档 - 企业微信开发者中心

请求方式

POST(HTTPS

请求地址

https://qyapi.weixin.qq.com/cgi-bin/service/get_corp_token?suite_access_token=SUITE_ACCESS_TOKEN

Post参数包体

 { 	
   "auth_corpid": "auth_corpid_value", 
   "permanent_code": "code_value" 
}

参数说明

参数

是否必须

说明

suite_access_token

三方应用token

auth_corpid

授权方企业corpid

permanent_code

永久授权码,通过授权安装应用时获取的授权企业永久码

返回结果

{	
"errcode":0 ,	
"errmsg":"ok" ,	
"access_token": "xxxxxx", 	
"expires_in": 7200
}

返回参数说明

参数

说明

access_token

授权方(企业)access_token,最长为512字节

expires_in

授权方(企业)access_token超时时间

发送模板消息

请求方式

POST(HTTPS)

请求地址

https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

请求示例

{
    "touser":"zhangsan|lisi",
    "agentid":10086,
    "msgtype":"template_msg",
    "template_msg":{
        "template_id":"ttxxlGlgIAwJrCTFjtndfgHPoIySyk6w",
        "url":"http://www.qq.com",
        "miniprogram":{
            "appid":"APPID",
            "pagepath":"/index.html"
        },
        "content_item":[
            {
                "key":"消息内容",
                "value":"您的合同模板已生成成功,点击查看详情"
            },
            {
                "key":"合同名称",
                "value":"电子签合同"
            },
            {
                "key":"我方企业",
                "value":"甲方"
            }
        ]
    }
}

 

示例效果

参数说明

参数

是否必须

说明

touser

指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。

特殊情况:指定为"@all",则向该企业应用的全部可见成员发送

toparty

指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。

当touser为"@all"时忽略本参数,成员授权模式下不应该传该参数

totag

指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。

当touser为"@all"时忽略本参数,成员授权模式下不应该传该参数

msgtype

消息类型,此时固定为:template_msg

template_msg

消息内容

template_id

模板ID。第三方管理端创建模板后获得。对于正式授权的应用,需要审批通过后才可使用。最长64字节

url

点击模板消息后的跳转链接。最长2048字节。注意,url必须带协议头 "http://" 或 "https://" 。url和miniprogram 至少要填一个,都填时优先miniprogram。

content_item

消息内容键值对,允许个数范围:1~5,实际由申请的模板样式决定

key

1~20个utf8字符。注意,必须与template_id对应模板匹配

value

1~40个utf8字符

selected_ticket_list

选人sdk或者选人jsapi返回的ticket列表,列表不超过10个。接收者不包含selected_tikcet的操作者,若要发送给操作者,可将操作者填到touser字段。

enable_id_trans

表示是否开启id转译,0表示否,1表示是,默认0。

only_unauth

仅向selected_ticket_list中未授权的用户发送模板消息,仅当selected_ticket_list存在时该字段生效。如果该字段为true,则自动忽略touser,toparty,totag

miniprogram

点击后需要跳转的小程序,miniprogram和url至少要填一个,都填时优先miniprogram。

miniprogram.appid

在miniprogram节点中该字段必填,小程序appid,必须是与当前应用关联的小程序

miniprogram.pagepath

在miniprogram节点中该字段必填,表示点击消息卡片后的小程序页面,仅限本小程序内的页面。

返回结果

{
    "errcode":0,
    "errmsg":"ok",
    "msgid":"WpLDpQFMGSE843kRbNhgXQSuKwNg1AelVDuIPfLpwWzvnRqidF_TfABTDAFK0DZQGdHxI8zDUkgHPOclC88whQ"
}

返回参数说明

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

invaliduser

不合法的userid,不区分大小写,统一转为小写

invalidparty

不合法的partyid

invalidtag

不合法的标签id

unlicenseduser

没有基础接口许可(包含已过期)的userid

msgid

消息id,用于撤回应用消息

response_code

仅消息类型为“按钮交互型”,“投票选择型”和“多项选择型”的模板卡片消息返回,应用可使用response_code调用更新模版卡片消息接口,72小时内有效,且只能使用一次

总结

发送企业微信模板消息,需要应用上线审核后,在应用详情设置模板后获得模板ID,这才是合法的模板ID。其余来说没有什么难度。

<think>好的,用户想了解企业微信应用消息推送功能。我需要先回忆一下企业微信的相关文档,确保信息准确。首先,企业微信作为企业级通讯工具,应用消息推送是其核心功能之一,允许企业通过自建应用或第三方应用向成员发送消息。 用户可能想知道具体的应用场景,比如内部通知、审批提醒、数据报警等。需要分步骤解释如何配置和使用。首先,可能需要提到创建应用,获取AgentId和Secret,这是基础步骤。然后,如何获取访问令牌(access_token),因为这是调用API的必要条件。 接下来,用户可能关心支持消息类型,比如文本、图文、模板卡片等,需要列举常见类型并简要说明适用场景。例如,文本消息简单直接,图文适合带链接的通知,模板卡片用于结构化信息展示。 还要考虑消息推送的权限问题,比如成员是否需授权应用才能接收消息。这里可能需要提醒用户注意权限配置,避免发送失败。另外,API的调用频率限制也是一个重要点,防止用户滥用导致接口被限。 用户可能对具体操作步骤感兴趣,比如如何构造请求体,发送POST请求到企业微信的API端点。需要给出一个简单的示例,比如发送文本消息的JSON结构,并说明各个参数的作用,如touser、msgtype、content等。 此外,错误处理也是关键部分。常见的错误码如40001(无效的Secret)、41002(缺少参数)等,需要提示用户查阅官方文档进行排查。同时,建议用户使用HTTPS加密传输,保障数据安全。 最后,可能的应用场景举例能帮助用户更好地理解功能,比如任务提醒、审批结果通知、系统监控报警等。还可以提到消息的静默发送和状态跟踪,方便用户了解消息是否送达。 总结一下,回答需要结构清晰,分步骤讲解配置流程、消息类型、API调用方法、注意事项和实际应用案例,确保用户能全面了解企业微信应用消息推送的实现和应用。</think>企业微信应用消息推送功能允许企业通过自建应用或第三方应用,向成员发送工作通知。以下是逐步说明: 一、核心流程 1. **创建应用** - 登录企业微信管理后台 - 进入「应用管理」→「自建」→「创建应用」 - 记录生成的`AgentId`和`Secret` 2. **获取access_token** ```bash GET https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET ``` 返回示例: $$ \text{\{"errcode":0,"errmsg":"ok","access_token":"abc123","expires_in":7200\}} $$ 3. **构造消息体** 支持多种消息类型: - 文本消息 ```json { "touser": "UserID1|UserID2", "msgtype": "text", "agentid": 1000002, "text": {"content": "您的审批申请已通过"} } ``` - 图文消息(带跳转链接) - 模板卡片(支持交互按钮) 4. **发送消息** ```bash POST https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=TOKEN ``` 二、关键特性 1. **消息类型对比表** | 类型 | 字符限制 | 支持附件 | 交互能力 | |------------|----------|----------|----------| | 文本 | 2048 | × | × | | 图文 | 无 | √ | × | | 模板卡片 | 无 | √ | √ | 2. **权限控制** - 需在应用可见范围设置接收成员 - 支持按部门/标签/个人指定接收者 三、注意事项 1. **频率限制**:每个应用每分钟最多发送6000条 2. **安全要求**:必须使用HTTPS协议调用API 3. **错误处理**:重点关注错误码: - 40001:无效的Secret - 41002:缺少必要参数 - 45033:消息内容超过长度限制 四、典型应用场景 1. **审批通知**:当OA系统完成审批时推送结果 2. **系统告警**:服务器监控触发阈值时发送报警 3. **日程提醒**:同步会议开始前15分钟自动提醒 4. **数据报表**:每日销售数据通过图文消息推送 建议开发时参考官方文档调试接口,并使用Postman等工具进行API测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值