Skip to main content

企业微信开发

tip
  • 绑定微信开发者 ID
    • 小程序、公众号,绑定后可通过 api 接口获取微信联系人对应的唯一身份标识(微信 unionid)
  • 电脑端,聊天工具栏为固定宽度 360px
  • Command+Shift+Control+D 开启 Debug 模式
    • 帮助栏里可打开 webView 元素审查
caution
  • ExternalUserId - 企业微信外部联系人的标识
    • 同一个外部联系人,不同调用方(企业/第三方服务商)获取到的 ExternalUserId 是不同的
    • 同一个人在不同群 ID 是不一样的
  • 不同调用方(企业/第三方服务商)获取到的 chat_id 是不同的
secretvalid/refreshdesc
corp_id企业身份
agent_id企业应用身份编号
corp_secret7200企业 应用 的凭证密钥
access_tokencorp_id+corp_secret
js_api_ticket7200access_token
js_config_signature微信 JS SDK 签名 - corp_id+js_api_ticket
agent_ticket7200access_token
agent_config_signature企业微信 JS SDK 签名 - agent_id+agent_ticket
contacts_sync_secret通讯录同步密钥
message_archiving_secret消息存档密钥
token+encoding_aes_key+receiver_id消息回调密钥组 - receiver_id 为 corp_id 或 suite_id
suite_id应用套件
suite_secret应用密钥
suite_ticket1800/660应用票据 - 通过推送接收
suite_access_token7200suite_id+suite_secret+suite_ticket
provider_secret服务商密钥
provider_access_token7200corp_id+provider_secret
pre_auth_code1200预授权码 - 企业授权时的第三方服务商安全验证
auth_code600应用安装完成回调参数
permanent_code企业微信永久授权码 - 使用 auth_code 换取
auth_corp_access_token7200suite_access_token+auth_corpid+permanent_code
ServiceCorpId服务商 corpid - push event
AuthCorpId企业 corpid - push event
  • 接收消息场景
    • 消息推送
    • 事件推送
    • 通讯录变更推送
    • 会话内容存档
    • 服务商
      • 数据回调 - 接收托管企业微信应用 的 用户消息
        • 用户消息、进入应用事件、通讯录变更事件
        • receiver_id 为 corp_id
      • 指令回调 - 应用授权变更 + ticket
        • 应用添加、删除、修改
        • receiver_id 为 suite_id
    • 安装完成回调域名
      • 包含临时 auth_code,再用此 code 换取永久授权码

UserAgent

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16) AppleWebKit/605.1.15 (KHTML, like Gecko) wxwork/3.1.12 (MicroMessenger/6.2) WeChat/2.0.4
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Language/en ColorScheme/Dark DistType/publish-website wxwork/4.1.9 (MicroMessenger/6.2) WeChat/2.0.4 Safari/605.1.15

Limit

API limitminhour
Corp/api10,000150,000
IP/api20,000600,000
Provider/IP/api40,0001,200,000
messagelimit
Agent/Message帐号上限数*200/day
Agent/User/Message30/min

配置

  • config 注入企业身份与权限
  • agentConfig 注入应用身份与权限 - 三方场景用的多
  • agentConfig 与 config 的 jsapi_ticket 获取方式不同
  • wx.agentConfig 必须在 wx.config 成功之后调用
  • 3.0.14 之后可以只调用 wx.agentConfig
  • agentConfig 要求 2.5.0+, 微信客户端不支持

jssdk

  • getCurExternalChat
    • 自建 客户联系功能权限
    • 第三方 企业客户权限->客户基础信息
<!-- 微信 SDK -->
<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<!-- 企业微信 SDK -->
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>

<!-- 基于 TS 的 企业微信 SDK - 调试阶段 - 不建议使用 -->
<!-- https://developers.weixin.qq.com/community/develop/article/doc/00066e5ca6ca78537a1b56b1056c13 -->
<script src="https://wwcdn.weixin.qq.com/node/open/js/jwecom-1.0.3.js"></script>

api

categoryapires
身份验证/user/getuserinfo验证 CODE
通讯录
/user成员
/department部门
/tag标签
/batch批量
/linkedcorp互联企业
/export导出
客户联系/crm
/externalcontact外部联系人
微信客服/kf
/kf/account账号
/kf/servicer接待人员
应用管理/agent
消息推送/message
素材管理
OA
打卡
审批
回报
自建应用
会议室
紧急通知应用
效率工具
/oa/calendar日历
/oa/schedule日程
会议
直播
微盘
公费电话
企业支付
企业互联/corpgroup
/corpgroup/corp企业信息
/miniprogram小程序信息
会话内容存档/msgaudit
服务商/service

客户联系

  • 独立的一套开发接口

FAQ

60011: no privilege to access/modify contact/party/agent

  • 修改应用的 可见范围
    • 操作会触发 change_auth 事件
    • 新可见用户会发送 subscribe 事件
    • 不可见用户会发送 unsubscribe 事件

校验请求来源错误

  • 只有在服务商后台-通用开发参数-配置登入授权发起域名下的页面才可以发起授权
  • QR 测试的时候也需要 - 无法从本地发起
  • 依赖 referrer - 不能从服务端发起跳转
    • 必须从 Web 客户端发起点击

扫码登陆内容