企业微信发送应用消息操作步骤

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

恭喜您中奖Apple手机一台,请一分钟内速来前台领奖,过期作废!!!
","url" : "www.baidu.com","btntxt":"更多"

  },

  "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{desc}

","url" : "www.baidu.com","btntxt":"更多"

         },

      "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

你可能感兴趣的:(企业微信发送应用消息操作步骤)