企业微信
2021-08-19 10:57:29 221 举报
AI智能生成
登录查看完整内容
企业微信3.0 企业微信API
作者其他创作
大纲/内容
suite_id第三方应用ID
获取方法为:登录服务商管理后台->标准应用服务->应用管理栏,点进某个应用即可看到
suite_secret第三方应用密钥
获取方法为:登录服务商管理后台->标准应用服务->通用开发参数
provider_secret
suite_ticket (安全凭证)有效期为30分钟
服务商的token
应用授权的token
企业接口的token
参数说明
拥有企业微信
企业Logo\t
企业简介
企业官网\t
用系统管理员身份在“企业微信服务商官网”进行申请
注册条件
ProviderSecret\t
系统事件接收URL\t
Token
EncodingAESKey
白名单IP
配置开发信息
普通应用
一家企业只能授权一个通讯录应用
通讯录应用
应用创建
3个工作日内完成审核
提交上线
上线应用
应用上线
服务商注册&配置
所有的接口需使用HTTPS协议、JSON数据格式、UTF8编码
请求地址,参数中标注大写的单词,表示为需要替换的变量
返回结果根据errcode存在且不为0判断为失败,否则为成功
规则与说明
corpid(服务商CorpID)
provider_secret(服务商密钥)
provider_access_token服务商的token\t
suite_id(第三方应用ID)
suite_secret(第三方应用密钥)
suite_access_token第三方应用的token\t
企业安装第三方应用后
第三方服务商以企业的corpid
永久授权码
access_token授权企业的token\t
access_token
验证逻辑:企业微信往URL服务上发一条Get请求带签名及密文参数到URL服务上,如果URL服务检查签名通过,并能正确返回密文参数对应的明文字符串,则验证通过。
需要能同时支持HttpGet以及HttpPost两种能力
URL回调服务地址
分辨出是否为企业微信来源分辨出推送消息的内容是否被篡改
英文或数字组成且长度不超过32位的自定义字符串
Token用于计算签名
英文或数字组成且长度为43位的自定义字符串
将发送的内容进行加密,并组装成一定格式后再发送
EncodingAESKey用于消息内容加密
三个配置项
计算规则sha1(sort(token、timestamp、nonce、msg_encrypt))
msg_signature企业微信加密签名String
timestamp时间戳Integer
nonce随机数Sting
需要解密得到消息内容明文,解密后有random、msg_len、msg、receiveid四个字段其中msg即为消息内容明文
①对密文BASE64解码aes_msg=Base64_Decode(msg_encrypt)②AESKey = Base64_Decode(EncodingAESKey + \"=\
echostr\t加密的字符串String
参数值需要做Urldecode处理
1秒内响应GET请求,响应内容为得到的明文消息内容(不能加引号,不能带bom头,不能带换行符)
Http Get请求验证URL有效性
企业微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次
XML数据格式
Http Post请求接收业务数据
建议企业每天定时拉取IP段,更新防火墙设置,避免因IP段变更导致网络不通
当IP段变更时,新旧IP段会同时保留一段时间
https://qyapi.weixin.qq.com/cgi-bin/getcallbackip?access_token=ACCESS_TOKENGET
获取企业微信服务器的ip段
回调配置
从服务商网站发起
从企业微信应用市场发起
授权方式
通讯录权限体系
相关接口
应用授权
获取永久授权码
通讯录管理secret建议此种方式
应用secret
secret
通讯录管理
浏览器方案
小程序方案
通讯录展示组件
服务端API
corpid
通讯录管理secret
客户联系secret
服务商需存储接入企业的参数
应用如何设置为通讯录应用
问题
第三方应用开发
开发者工具
调用单个cgi/api不可超过2000次/分,30000次/小时
每ip调用单个cgi/api不可超过20000次/分,600000次/小时
所有应用创建群数累积不可超过1000/天
所有应用变更群次数累积不可超过100/小时
调用频率限制
每个企业都拥有唯一的corpid,获取此信息可在管理后台“我的企业”-“企业信息”下查看“企业ID”(需要有管理员权限)
每个成员都有唯一的userid,即所谓“帐号”
userid
每个应用都有唯一的agentid
agentid
secret是企业应用里面用于保障数据安全的“钥匙”,每一个应用都有一个独立的访问密钥,为了保证数据的安全,secret务必不能泄漏
access_token是企业后台去企业微信的后台获取信息时的重要票据,由corpid和secret产生。所有接口在通信时都需要携带此信息用于验证接口的访问权限
基本概念介绍
注意:不能频繁调用gettoken接口,否则会受到频率拦截
开发者需要缓存access_token
有效期通过返回的expires_in来传达
默认7200秒(2小时)有效
有效期内重复获取返回相同结果,过期后获取会返回新的access_token
每个应用的access_token是彼此独立的
获取access_token
添加企业客户事件配置了客户联系功能的成员添加外部联系人时,回调该事件
外部联系人免验证添加成员事件外部联系人添加了配置了客户联系功能且开启了免验证的成员时(此时成员尚未确认添加对方为好友),回调该事件
删除企业客户事件配置了客户联系功能的成员删除外部联系人时,回调该事件
删除跟进成员事件配置了客户联系功能的成员被外部联系人删除时,回调该事件
客户群变更事件客户群被修改后(群名变更,群成员增加或移除),回调该事件
回调事件
https://qyapi.weixin.qq.com/cgi-bin/get_api_domain_ip?access_token=ACCESS_TOKEN GET
获取企业微信API域名IP段
外部联系人分为企业微信联系人和微信联系人两种类型
销售同事需配置客户联系功能
必须先做好关联绑定微信开发者ID绑定的公众号或小程序主体需与企业微信主体一致,暂且支持绑定一个
目前支持文本、网页、小程序三种类型必须是有在本企业安装授权的小程
设置同事对外展示信息
微信小程序接入按钮
生成专属的「联系我」二维码
每个企业可通过API最多配置10万个「联系我」
需要妥善存储返回的config_idconfig_id丢失可能导致无法编辑或删除「联系我」
配置客户联系「联系我」
企业可通过此接口获取指定成员添加的客户列表。客户是指配置了客户联系功能的成员所添加的外部联系人。没有配置客户联系功能的成员,所添加的外部联系人将不会作为客户返回。
权限说明:企业需要使用“客户联系”secret或配置到“可调用应用”列表中的自建应用secret所获取的accesstoken来调用(accesstoken如何获取?);第三方应用需拥有“企业客户”权限。第三方/自建应用只能获取到可见范围内的配置了客户联系功能的成员。
userid企业成员的userid
请求参数
external_userid\t外部联系人的userid列表
返回参数
获取客户列表
external_userid外部联系人的userid,注意不是企业成员的帐号
name外部联系人的姓名或别名
avatar外部联系人头像,第三方不可获取
type外部联系人的类型,1表示该外部联系人是微信用户,2表示该外部联系人是企业微信用户
unionid外部联系人在微信开放平台的唯一身份标识(微信unionid)必须先做好关联绑定微信开发者ID,绑定的公众号或小程序主体需与企业微信主体一致,暂且支持绑定一个
userid(添加了此外部联系人的企业成员userid)
remark (该成员对此外部联系人的备注)
createtime (该成员添加此外部联系人的时间)
tags(该成员添加此外部联系人所打标签,有下级tag详细信息)
remark_corp_name (该成员对此客户备注的企业名称)
state (该成员添加此客户的渠道,由用户通过创建「联系我」方式指定)
follow_user所有添加此用户企业同时都可以获取
返回核心参数
权限说明:企业需要使用“客户联系”secret或配置到“可调用应用”列表中的自建应用secret所获取的accesstoken来调用(accesstoken如何获取?);第三方/自建应用调用时,返回的跟进人follow_user仅包含应用可见范围之内的成员。
获取客户详情
userid (企业成员的userid)
external_userid (外部联系人userid)
remark(此用户对外部联系人的备注)
description(此用户对外部联系人的描述)
remark_mobiles (此用户对外部联系人备注的手机号,会覆盖旧的备注手机号,清除所有手机号填写一个空字符串(“”))
remark_pic_mediaid(备注图片的mediaid,可以通过素材管理接口获得)
修改客户备注信息
权限说明:企业需要使用“客户联系”secret或配置到“可调用应用”列表中的自建应用secret所获取的accesstoken来调用(accesstoken如何获取?)。暂不支持第三方调用。
status_filter (群状态过滤)非必填
owner_filter (群主过滤。如果不填,表示获取全部群主的数据)非必填
userid_list (用户ID列表。最多100个)非必填
partyid_list(部门ID列表。最多100个)非必填
offset(分页,偏移量)
limit(分页,预期请求的数据量,取值范围 1 ~ 1000)
chat_id
status(客户群状态)
group_chat_list (客户群列表)
获取客户群列表
chat_id(客户群ID)
name(群名)
owner(群主ID)
create_time(群的创建时间)
notice (群公告)
type(成员类型)
join_time(入群时间)
join_scene(入群方式)
member_list群成员列表
获取客户群详情
企业可通过此接口添加企业群发消息的任务并通知客服人员发送给相关客户
限制:调用该接口并不会直接发送消息给客户,需要相关的客服人员操作以后才会实际发送(客服人员的企业微信需要升级到2.7.5及以上版本)同一个企业对一个客户一个自然周内(周一至周日)至多只能发送一条消息,超过限制的用户将会被忽略。
可发送文本、图文、小程序
添加企业群发消息任务
企业微信在向企业推送添加外部联系人事件时,会额外返回一个welcome_code,企业以此为凭据调用接口,可通过成员向新添加的客户发送个性化的欢迎语
限制:企业仅可在收到相关事件后20秒内调用,且只可调用一次多应用配置时,仅有最先调用的可以发送成功如果已经开始聊天,发送失败
发送新客户欢迎语
获取离职成员的客户列表
离职成员的外部联系人再分配
离职成员的群再分配
企业可通过此接口获取成员联系客户的数据,包括发起申请数、新增客户数、聊天数、发送消息数和删除/拉黑成员的客户数等指标。
获取联系客户统计数据
获取指定日期全天的统计数据。注意,企业微信仅存储60天的数据。
获取客户群统计数据
外部联系人管理
内部:服务端API
企业微信API
0 条评论
回复 删除
下一页