企业微信应用接入(独立部署)

该文档仅面向独立部署客户

1.简述

QuickAudience(以下简称QA)在对原服务商模式企微接入方式进行了升级,升级为企业自建应用方式接入,升级后,通过企业自建应用接入企微可获得更多企微数据,并不受接口调用次数限制,降低企业获取企微数据成本。

2.接入前准备

2.1资源清单

序号

资源名称

规格

资源要求

备注

1

二级域名

qawecom.xxx.com

域名备案企业与企微注册企业必须一致

如已有公网域名,可共用,按照指定路径进行转发即可

2

EIP(公网IP)

带宽5Mbps

二级域名指向该公网IP

根据企微用户量参考建议规格:

  • <=100W,5M

  • >100W&<=500W,10M

  • >500W,15M

3

SSL证书

与二级域名配套的SSL证书

  • 建议提供,如果不提供只能使用http进行通信,存在安全风险

  • 需要企微会话存档功能的话,必须提供

2.2信息清单

序号

用途

信息

获取方式(企微链接)

1

企微账号关联

corpid、secret

https://developer.work.weixin.qq.com/document/path/90665#secret

2

企微接口回调

corpid

https://developer.work.weixin.qq.com/document/path/90930

3.网络部署说明

3.1企微回调请求转发

将公网域名按照路径/restapi/thirdservice/we/com,将该路径下请求转发到QA服务的IP或负载均衡地址。

3.2添加Waf访问白名单

为保证QA产品只能在内网访问,因此需要在Waf上配置白名单,为企微回调放行。

在公网域名下/restapi/thirdservice/we/com请求添加白名单,只允许该路径通过公网访问。

4.企微后台配置说明

操作前请先参照企业微信授权配置引导文档完成企业微信授权,以下以应用名称为【测试空间】

作为示例

4.1应用可见范围配置

重要

注意:如果不设置可见范围,会导致无法从企微获取通信录、粉丝等数据

image

image

4.2配置相关权限

如果要通过API获取客户信息,需要先配置应用具备获取客户信息权限,否则会导致获取失败

  1. 进入客户与上下游

    如下图所示在客户与上下游->客户联系->客户,绑定微信开发者ID

    说明

    如不绑定,会影响客户数据的获取。

    image.png

  2. 增加可调用的接口应用

    将【瓴羊QA企微应用】应用勾选

    参考文档:概述 - 文档 - 企业微信开发者中心

    image.png

4.3配置回调API信息

  1. 进入企微自建应用,点击设置API接收

    image.png

  2. 设置API接受

    image.png

配置信息说明

配置项

配置值

说明

URL

https://{domain}.com/restapi/thirdservice/we/com/inner/event/oneparty/callback/{corpid}

  • domain使用真实域名进行替换

  • corpid使用企业corpid替换

示例:

https://test.lydaas.com/restapi/thirdservice/we/com/inner/event/oneparty/callback/wwb697d33134e48cfc

Token

随机获取

需要记录,后续在QA上关联企微账号使用

EncodingAESKey

随机获取

需要记录,后续在QA上关联企微账号使用

重要

配置回调URL时,企微会向URL发出测试请求,如果步骤3企微回调请求转发未配置,会保存失败,请先进行转发配置

5.其他注意事项

5.1如果分析源使用的是华为云GaussDB,需要注意字符编码问题【重要】

在华为云GaussDB上创建数据库作为QA分析源时,必须指定字符编码为UTF8,默认字符编码SQL_ASCII在解析企微数据的Unicode编码时会异常报错,导致QA调度任务失败。

重要

【注意】字符编码在数据库创建完成后不支持修改,因此必须在创建时指定。

5.2历史数据兼容与迁移(非必须)

如果您绑定了服务商模式企微账号,会在QA内产生企微历史数据,请务必联系QuickAudience售后技术人员咨询相关迁移办法。

5.3独立部署环境网络示意图

对于私有化部署客户,QA已经部署在客户云环境内,拉取企微数据可以直接请求企微,符合企微安全规范,企微事件回调则需要提供公网域名(公网域名需要与企微中企业主体一致),能够实现企微回调事件请求到QA服务即可。

image

6.常见FAQ

6.1调用企微接口返回48002

现象

image

企微错误说明

image

解决办法

按照4.2企微后台配置权限步骤进行配置

6.2手动触发调度任务

core容器中手动执行命令

curl --location 'http://127.0.0.1:9001/swagger/test/invoke/day/dataimport/{organizationid}/{workspaceid}/WECHAT_WECOM'

其中{organizationid}/{workspaceid}分别用组织ID和空间ID代替

示例

组织名称:测试组织

组织ID:0a27b751-db52-4ec2-b2bc-e7b747c0bfb6

空间名称:默认空间

空间ID:5a3e3999-fccb-43ef-b232-9cbbae053e8b

curl --location 'http://127.0.0.1:9001/swagger/test/invoke/day/dataimport/0a27b751-db52-4ec2-b2bc-e7b747c0bfb6/5a3e3999-fccb-43ef-b232-9cbbae053e8b/WECHAT_WECOM'

curl --location 'http://127.0.0.1:9001/swagger/test/invoke/day/dataimport/27edd606-d875-42a1-812b-e823a2727e75/27c4853e-f2c5-44c8-866d-42488e9ef999/WECHAT_WECOM'

6.3企微常见错误码

https://developer.work.weixin.qq.com/document/path/96213