场景说明
企业微信接入QA后,客户添加/删除企微员工的事件会推送到QA,QA接收到企微事件后,可根据订阅配置,将事件转发到三方系统。
数据处理流程
接入流程
序号 | 步骤 | 说明 | 负责方 |
0 | 前提条件 | QA上已经配置了企微账号关联,企微事件能正常上报到QA | 客户 |
1 | 开发接收API | 按照QA提供的接收协议开发接收企微好友数据的接口服务 | 客户-三方系统 |
2 | 服务部署并提供API信息 | 部署后,提供API连接信息给QA | 客户-三方系统 |
3 | 配置API信息到QA | 将API信息配置到QA系统 | QA |
4 | 联调测试 | 添加/删除企微员工,验证数据是否能正常接收 | QA+客户 |
接口定义
协议:http/https
请求方式:POST
鉴权方式:AKSK+Signature(参考Webhook鉴权方式)
请求参数定义:
URL参数:
URL参数 | 含义 | 示例 |
timestamp | 秒级时间戳 | 1631865523 |
nonce | 32位随机字符串 | 2e6eceb5737b473284c930c8ef79090e |
请求头:
参数 | 含义 | 说明 |
X-QA-Hmac-Signature | 鉴权签名 | 开启鉴权时使用,鉴权方式见下文。 未开启鉴权时,该Header填空字符串""。 |
请求体:
参数 | 类型 | 说明 |
requestId | String | 唯一请求ID,可作为幂等键 |
accessKey | String | ak |
eventInfoList | JsonArray | 事件详情 |
eventInfoList定义:
参数 | 类型 | 说明 |
wecomEventType | String | QA事件编码,参考QA页面:【配置管理】->【事件中心】->【企微事件】->【事件编码】 |
externalUserId | String | 企微客户ID |
userId | String | 企微用户ID |
optTime | String | 操作时间 |
返回结果:
{
"code":"OK", //请求状态码:返回OK代表请求成功,必须为大写;返回其他为错误码,接入方自定义。
"message":"", //状态码描述,非必填。
}
客户提供信息
信息 | 说明 | 示例 |
接口URL | 用于接收QA发送的客户数据 | https://domain/wecom/recevie |
加密密钥 | 用于对请求进行鉴权 | 123456789 |
订阅事件 | 需要订阅的事件,支持:添加企业客户事件、删除企业客户事件、删除跟进成员事件 | 参考企微事件 |
QA组织和空间ID | QA上查询需要绑定API的组织和空间信息 | 组织及空间信息:
|
重试策略
满足如下所有情况视为成功。如果发送失败,会自动进行重试,重试4次后失败则不再发送。
http返回200
返回结果中code为:"OK"字符串
重试请求requestId保持不变。
事件对应关系
企微事件名称 | QA事件名称 | QA事件编码 |
添加企业客户事件 | 添加企微员工 | wecom_event_add_external_contact |
删除企业客户事件 | 删除企微员工 | wecom_event_del_external_contact |
删除跟进成员事件 | 删除企微员工 | wecom_event_del_external_contact |