企业微信API接口文档用法介绍(图文讲解企业微信)

企业微信提供了丰富的API接口,可以帮助开发者快速、便捷地与企业微信进行交互。本文将从多个方面对企业微信API接口文档进行详细的阐述。

一、获取Access Token

在使用企业微信API接口前,需要先获取Access Token。Access Token是企业微信API接口调用的唯一凭证。获取方法如下:

GET https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET

其中,参数corpid为企业ID,参数corpsecret为应用的Secret,需要在企业微信管理后台中进行配置。返回结果如下:

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

获取到Access Token后,可以通过有效期判断其是否需要重新获取。

二、发送文本消息

企业可以使用API接口向指定成员或部门发送文本消息。消息内容支持文本格式,消息长度不超过2048个字节。发送方法如下:

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

POST数据格式如下:

{
   "touser" : "UserID1|UserID2|UserID3",
   "toparty" : "PartyID1|PartyID2",
   "totag" : "TagID1 | TagID2",
   "msgtype" : "text",
   "agentid" : 1,
   "text" : {
       "content" : "文本消息内容"
   },
   "safe":0,
   "enable_id_trans": 0,
   "enable_duplicate_check": 0,
   "duplicate_check_interval": 1800
}

其中,touser为成员ID列表,toparty为部门ID列表,totag为标签ID列表,msgtype为消息类型,可选值包括text、image、voice、video、file、news,agentid为应用ID,text为文本消息内容。其中,safe为是否加密消息,0表示不加密,1表示加密。enable_id_trans为是否开启id转译,0表示不转译,1表示转译。enable_duplicate_check为是否开启重复消息检查,0表示不开启,1表示开启。duplicate_check_interval为重复消息检查的时间间隔,默认为1800秒。

发送成功后,返回结果如下:

{
   "errcode" : 0,
   "errmsg" : "ok",
   "invaliduser" : "UserID1",
   "invalidparty":"PartyID1",
   "invalidtag":"TagID1"
}

其中,invaliduser为不合法的成员ID列表,invalidparty为不合法的部门ID列表,invalidtag为不合法的标签ID列表。

三、上传临时素材

企业可以通过API接口上传临时素材,素材类型包括图片、语音、视频和文件。上传方法如下:

POST https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE

其中,type为素材类型,可选值为image、voice、video和file。POST数据格式如下:

Content-Type: multipart/form-data; boundary=------------------------xxx
Content-Disposition: form-data; name="media"; filename="media.jpg"
Content-Type: image/jpeg

***图片二进制数据***
--------------------------xxx--

上传成功后,返回结果如下:

{
        "errcode":0,
        "errmsg":"ok",
        "type":"image",
        "media_id":"MEDIA_ID",
        "created_at":123456789
}

其中,media_id为上传后的素材ID。

四、获取部门成员

企业可以通过API接口获取指定部门的成员列表。获取方法如下:

GET https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID&fetch_child=FETCH_CHILD

其中,参数department_id为部门ID,参数fetch_child为是否递归获取子部门成员,0表示不递归,1表示递归。返回结果如下:

{
   "errcode": 0,
   "errmsg": "ok",
   "userlist": [
       {
           "userid": "zhangsan",
           "name": "张三",
           "department": [1, 2],
           "position": "产品经理",
           "mobile": "13512345678",
           "gender": "1",
           "email": "zhangsan@dg.cn",
           "status": 1,
           "avatar": "http://www.qqserver.com/images/zhangsan.jpg",
           "telephone": "0755-12345678",
           "english_name": "jackxiao",
           "extattr": {"attrs":[{"name":"爱好","value":"旅游"}]}
       },
       {
           "userid": "lisi",
           "name": "李四",
           "department": [1],
           "position": "产品总监",
           "mobile": "13512345679",
           "gender": "1",
           "email": "lisi@dg.cn",
           "status": 1,
           "avatar": "http://www.qqserver.com/images/lisi.jpg",
           "telephone": "0755-12345679",
           "english_name": "johnchan",
           "extattr": {"attrs":[{"name":"爱好","value":"运动"}]}
       }
   ]
}

其中,userlist为成员列表。

五、获取应用名单

企业可以通过API接口获取当前企业使用的应用列表。获取方法如下:

GET https://qyapi.weixin.qq.com/cgi-bin/agent/list?access_token=ACCESS_TOKEN

返回结果如下:

{
   "errcode": 0,
   "errmsg": "ok",
   "agentlist": [
       {
           "agentid": 1,
           "name": "企业微信",
           "square_logo_url": "http://www.qqserver.com/images/icon.jpg",
           "description": "办公自动化平台",
           "allow_userinfos": {
               "user": [
                   {"userid": "zhangsan"},
                   {"userid": "lisi"}
               ]
           },
           "allow_partys": {
               "partyid": [1, 2]
           },
           "allow_tags": {
               "tagid": [1, 2]
           },
           "close": 0,
           "redirect_domain": "www.qqclient.com"
       }
   ]
}

其中,agentlist为应用列表。

总结

本文从获取Access Token、发送文本消息、上传临时素材、获取部门成员、获取应用名单等多个方面对企业微信API接口文档进行了详细的阐述。开发者可以根据实际需求选择相应的API接口,与企业微信进行交互。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平