运维业务报警微信接口开发(基于微信企业号)
当前业务场景中,如有需要及时处理的事务,通常结合邮件和qq弹窗提醒负责人。现在我们考虑多一种通知方式,以应对无法使用pc端qq时的紧急事务处理。经过查找,现在暂时锁定微信企业号。
微信企业号是微信公众号一种,另外两种分别是服务号和订阅号。类型不同,定位也不同。目前看来,微信企业号是比较适合当前需求的。比如发消息的自由度高,有组织结构和权限管理等。官方网站看这里
公众号管理
申请
在选择公众号类型的时候点击企业号,团体为团队即可。其余略
组织结构
- 在管理后台通讯录->组织结构处编辑部门信息和成员信息。类似这样
只有添加了成员信息,对应的微信用户才能够关注本企业号
成员信息中,帐号一栏建议填写员工企业邮箱地址或者员工工号(唯一且不能更改)
- 在管理后台设置->基本信息处获取企业号二维码,发送给用户进行关注。
应用管理
在管理后台->应用中心->我的应用添加一个消息型应用,选择可见范围必须包括目标账户所在部门
发送消息
在管理后台->发消息选择刚才创建的应用,发送给指定账户即可。
接口开发
在管理后台->设置->功能设置->权限管理里新建一个管理组,使其拥有获取目标组的查看权限,已经刚刚创建的应用发消息和管理权限。记住该管理组的
CorpID
和Secret
。复制下面代码到一个python文件,替换掉
CorpID
和Secret
和消息内容。
注意:data
变量里, agent_id
为刚刚创建的应用id(可在web页面看到),toparty
即为目标部门,或者可以用touser
,totag
指定目标账户
#coding:utf-8
import sys
import requests
import json
reload(sys)
sys.setdefaultencoding('utf-8')
class Weixin(object):
def __init__(self, corp_id, corp_secret):
self.token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s' %(corp_id, corp_secret)
self.send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='
def get_token(self):
try:
r = requests.get(self.token_url, timeout=10)
except Exception as e:
print e
sys.exit(1)
if r.status_code == requests.codes.ok:
data = r.json()
if data.get('errcode'):
print data['errmsg']
sys.exit(1)
return data['access_token']
else:
print r.status_code
sys.exit(1)
def send(self,message):
url = self.send_url + self.get_token()
data = {
"touser": "USERNAME",
"msgtype": "text",
"agentid": "AGENTID",
"text": {
"content": message
},
"safe":"0"
}
send_data = json.dumps(data,ensure_ascii=False)
try:
r = requests.post(url, send_data)
except Exception, e:
print e
sys.exit(1)
if r.status_code == requests.codes.ok:
print r.json()
else:
print r.code
sys.exit(1)
corpid = 'CORPID'
corpsecret = 'CORPSECRET'
msg ="提醒测试"
w = Weixin(corpid,corpsecret)
w.send(msg)
更多文档请看这里