1、企业微信注册
注册地址:https://work.weixin.qq.com/wework_admin/register_wx?from=loginpage
1)按照提示信息填写即可,如果只是为了发应用消息,是可以不用认证的,所以,填写内容自己随意。
2)使用自己的微信,扫描注册页面中的二维码,则此微信就是该注册企业微信的管理员。
2、企业微信登录
登录地址:https://work.weixin.qq.com/wework_admin/loginpage_wx?from=myhome
使用管理员微信扫描二维码即可登录。
如果是刚注册的企业微信,则注册成功即为登录状态。
3、获取企业ID (corpid)
登录成功后,切换到“我的企业”,拉到最下面,找到企业ID,后面需要这个企业ID。
4、创建一个内置应用
登录成功后,切换到“应用管理”,找到“自建”,然后点击“创建应用”。
选择logo,填写应用名称和简介,选择成员,点击“创建应用”。
此处只能选择已经申请加入到企业的成员,后面可以邀请加入企业。
5、获取创建应用的agentid和corpsecret
点击第4步中创建的应用,就可以看到agentid和secret。
6、获取应用的access_token
API地址:https://work.weixin.qq.com/api/doc/90000/90135/91039
调试工具地址:https://open.work.weixin.qq.com/wwopen/devtool/interface/combine
此API需要前面获取的corpid和corpsecret,具体参数说明请仔细阅读API说明。
示例:
GET /cgi-bin/gettoken?corpid={corpid}&corpsecret={corpsecret} HTTP/1.1
Host: qyapi.weixin.qq.com
返回格式:
{
"errcode": 0,
"errmsg": "ok",
"access_token": "-K4EDa_wggrb5Y_DoVP1R11y6MTDhU9TVuZaGYApkvKTL3iVGkaXI9fhhttchN0qyt3VUdofjx96g9bZtuVTUuvarkU6remzlTLRfviCN5uzXHMWDUCOokwmo-114athhYKWSyRPc6owLpjXee0gWR8_fz1x0VbcPSEIGtxXkE6lRs0Y5eeTNNreDdLtYzxA-7TH6L3nvW9X-679S7Miug",
"expires_in": 7200
}
注意:token的有效期是7200秒,在有效期内,重复获取,返回的 token不变。
7、给应用发消息
API地址:https://work.weixin.qq.com/api/doc/90000/90135/90236
此API参数较多,请仔细阅读API说明。
说明一点:touser如果设置“@all”,则会发消息给加入企业的所有成员,如果设置成员ID,则消息只会发给这一个成员,其他成员收不到。
以textcard示例:
POST /cgi-bin/message/send?access_token=-K4EDa_wggrb5Y_DoVP1R11y6MTDhU9TVuZaGYApkvKTL3iVGkaXI9fhhttchN0qyt3VUdofjx96g9bZtuVTUuvarkU6remzlTLRfviCN5uzXHMWDUCOokwmo-114athhYKWSyRPc6owLpjXee0gWR8_fz1x0VbcPSEIGtxXkE6lRs0Y5eeTNNreDdLtYzxA-7TH6L3nvW9X-679S7Miug HTTP/1.1
Host: qyapi.weixin.qq.com
Content-Type: application/json
{
"touser": "@all",
"toparty": "PartyID1|PartyID2",
"totag": "TagID1 | TagID2",
"msgtype": "textcard",
"agentid": 1000003,
"textcard" : {"title" : "领奖通知","description" : "\n
},
"safe": 0,
"enable_id_trans": 0,
"enable_duplicate_check": 0
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"invaliduser": ""
}
此时,如果安装了企业微信APP,则就可以收到小程序发送的消息了。
8、微信关注企业微信插件,直接接收消息,不用安装企业微信。
登录成功后,切换到“我的企业”,点击左侧导航栏的“微信插件”。
使用微信扫描最下面的邀请关注二维码,则关注此企业,然后可以通过企业小程序接收消息。
(对于企业员工,需要先加入企业微信,再关注微信插件)
像上面示例发送的消息,小程序收到的消息展示:
9、python代码示例
import requests
from django.core.cache import cache
wxurl='https://qyapi.weixin.qq.com'
# 获取微信小程序access_token
def getWxToken():
try:
res = requests.get(f"{wxurl}/cgi-bin/gettoken?corpid={corpid}&corpsecret={corpsecret}", timeout=10).json()
except requests.exceptions.RequestException as e:
print(e)
return ""
if res['errcode'] == 0:
access_token=res['access_token']
print(f"access_token={access_token}")
# redis设置access_token
cache.set('wx_access_token', access_token, 7200)
return access_token
else:
return ""
# 发送微信应用消息
def sendWxMsg(title,desc):
# 从redis获取token
access_token = cache.get('wx_access_token')
sendbody={
"touser": touser,
"toparty": toparty,
"totag": totag,
"msgtype": "textcard",
"agentid": agentid,
"textcard" : {"title" : title,"description" : f"\n
},
"safe": 0,
"enable_id_trans": 0,
"enable_duplicate_check": 0
}
try:
res = requests.post(f"{wxurl}/cgi-bin/message/send?access_token={access_token}", json=sendbody,timeout=10)
print(f"发送结果:{res.json()}")
except requests.exceptions.RequestException as e:
print(e)
return "发送异常!"
if res.json()['errcode'] != 0:
print('access_token可能失效或错误,重新获取')
access_token = getWxToken()
res = requests.post(f"{wxurl}/cgi-bin/message/send?access_token={access_token}", json=sendbody,timeout=10)
print(f"发送结果:{res.json()}")
return res.text