以前路由器中经常使用server酱进行微信推送,IP改变,有新用户接入,都会通过微信消息提醒。用这个做提醒就不需要自己搭建消息推送服务器了。
经过了解,微信企业应用消息是免费使用的,看了API文档,还是比较简单。使用shell curl即可推送,格式主要是json。
感兴趣 的可以自己去学习一下。不需要下载企业微信APP,第一次配置的时候需要使用,绑定微信消息后,就不需要了,都会转发到微信上。
下面的内容大部分摘自企业微信API文档
接口定义
企业微信应用消息推送API
企业微信接口调试工具
应用支持推送文本、图片、视频、文件、图文等类型。
请求方式:POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
参数说明:
参数 |
是否必须 |
说明 |
access_token |
是 |
调用接口凭证 |
各个消息类型的具体POST格式请阅后续“消息类型”部分。如果有在管理端对应用设置“在微工作台中始终进入主页”,应用在微信端只能接收到文本消息,并且文本消息的长度限制为20字节,超过20字节会被截断。同时其他消息类型也会转换为文本消息,提示用户到企业微信查看。支持id转译,将userid/部门id转成对应的用户名/部门名,目前仅文本/文本卡片/图文/图文(mpnews)/任务卡片/小程序通知/模版消息/模板卡片消息这八种消息类型的部分字段支持。仅第三方应用需要用到,企业自建应用可以忽略。具体支持的范围和语法,请查看附录id转译说明。支持重复消息检查,当指定 "enable_duplicate_check": 1开启: 表示在一定时间间隔内,同样内容(请求json)的消息,不会重复收到;时间间隔可通过duplicate_check_interval指定,默认1800秒。从2021年2月4日开始,企业关联添加的「小程序」应用,也可以发送文本、图片、视频、文件、图文等各种类型的消息了。
调用建议:大部分企业应用在每小时的0分或30分触发推送消息,容易造成资源挤占,从而投递不够及时,建议尽量避开这两个时间点进行调用。
返回示例:
{
"errcode" : 0,
"errmsg" : "ok",
"invaliduser" : "userid1|userid2",
"invalidparty" : "partyid1|partyid2",
"invalidtag": "tagid1|tagid2",
"msgid": "xxxx",
"response_code": "xyzxyz"
}
如果部分接收人无权限或不存在,发送仍然执行,但会返回无效的部分(即invaliduser或invalidparty或invalidtag),常见的原因是接收人不在应用的可见范围内。
如果全部接收人无权限或不存在,则本次调用返回失败,errcode为81013。
返回包中的userid,不区分大小写,统一转为小写
参数说明:
参数 |
说明 |
errcode |
返回码 |
errmsg |
对返回码的文本描述内容 |
invaliduser |
不合法的userid,不区分大小写,统一转为小写 |
invalidparty |
不合法的partyid |
invalidtag |
不合法的标签id |
msgid |
消息id,用于撤回应用消息 |
response_code |
仅消息类型为“按钮交互型”,“投票选择型”和“多项选择型”的模板卡片消息返回,应用可使用response_code调用更新模版卡片消息接口,24小时内有效,且只能使用一次 |
消息类型
- 文本消息
- 图片消息
- 语音消息
- 视频消息
- 文件消息
- 文本卡片消息
- 图文消息
- 图文消息(mpnews)
- markdown消息
- 小程序通知消息
- 模板卡片消息
- 文本通知型
- 图文展示型
- 按钮交互型
- 投票选择型
- 多项选择型
如何获取ACCESS TOKEN
获取access_token – 企业微信API
获取access_token-接口调试
为了安全考虑,开发者请勿将access_token返回给前端,需要开发者保存在后台,所有访问企业微信api的请求由后台发起
获取access_token是调用企业微信API接口的第一步,相当于创建了一个登录凭证,其它的业务API接口,都需要依赖于access_token来鉴权调用者身份。
因此开发者,在使用业务接口前,要明确access_token的颁发来源,使用正确的access_token。
请求方式: GET(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
注:此处标注大写的单词ID和SECRET,为需要替换的变量,根据实际获取值更新。其它接口也采用相同的标注,不再说明。
参数说明:
参数 |
必须 |
说明 |
corpid |
是 |
企业ID,获取方式参考:术语说明-corpid |
corpsecret |
是 |
应用的凭证密钥,获取方式参考:术语说明-secret |
权限说明:
每个应用有独立的secret,获取到的access_token只能本应用使用,所以每个应用的access_token应该分开来获取
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"access_token": "accesstoken000001",
"expires_in": 7200
}
参数说明:
参数 |
说明 |
errcode |
出错返回码,为0表示成功,非0表示调用失败 |
errmsg |
返回码提示语 |
access_token |
获取到的凭证,最长为512字节 |
expires_in |
凭证的有效时间(秒) |
注意事项:
开发者需要缓存access_token,用于后续接口的调用(注意:不能频繁调用gettoken接口,否则会受到频率拦截)。当access_token失效或过期时,需要重新获取。
access_token的有效期通过返回的expires_in来传达,正常情况下为7200秒(2小时),有效期内重复获取返回相同结果,过期后获取会返回新的access_token。
由于企业微信每个应用的access_token是彼此独立的,所以进行缓存时需要区分应用来进行存储。
access_token至少保留512字节的存储空间。
企业微信可能会出于运营需要,提前使access_token失效,开发者应实现access_token失效时重新获取的逻辑。
如若转载,请注明出处:https://www.ixoh.com/23348.html