WebHook
2023/6/6大约 2 分钟
WebHook
WebHook 接入规范
1、交互流程

2、接口安全规范
获取apiKey、公司 id(管理员账号登录管理后台获取)

- 接口请求加密方式
加密字段在请求头( header) 里面。
1、把 tenant_id+timestamp+密钥当做签名字符串(access_token),使用 HmacSHA256 算法计算签名。
String appSecret = "f9a40a4780f5e1306c46f1c8daecee3b";
String tenantId = "500975";
String timestamp = "1666942813620";
String message = tenantId + timestamp ;
String access_token = HmacSHA256Util.hmacSHA256(appSecret,message);
// 小写
// str = df98eda524132837317c5ea7e4f67ef4224dedc3f01548b6cb211b08eb0328c5java HmacSHA256 加密,可以引用 common-codec(1.15)包。
public static String hmacSha256(String apikey, String message) {
return (new HmacUtils(HmacAlgorithms.HMAC_SHA_256, apikey.getBytes(StandardCharsets.UTF_8))).hmacHex(message.getBytes(StandardCharsets.UTF_8));
}- 公共参数
| 参数名 | 类型 | 是否必填 | 备注 |
|---|---|---|---|
| accessToken | String | 是 | 签名字符串 token |
| tenantId | int | 是 | 公司 id |
| timestamp | Long | 是 | 毫秒时间戳 |
3、HTTP 状态码
均以 code 为准
| code | 描述 | 详细解释 |
|---|---|---|
| 200 | ok | success! |
如果被调用方服务器不响应或不为 200 的状态码(非http状态码)为调用失败。
4、如何配置
注意: 管理员账号登录管理后台,新增对应配置。

4、常见问题
url路径问题
路径规则不限制,可根据被调用方现有系统规则进行定义。
通知失败重试次数
回调请求进行同步之后,如果失败5 次以上将自动关闭该类型的 WebHook 配置。
配置关闭如何处理
配置关闭之后产生的业务数据,如果需要同步,可联系管理员进行处理。。
时区
UTC+8
WebHook配置类型码表
文档中接口标注 webhook 类型,且<配置 Id>为下面列表中的值时,可使用接口进行管理。
| type | 描述 |
|---|---|
| USER_SYNC_PORTRAIT | 用户画像修改同步 |
| MSG_SYNC_MESSAGE | 收发消息 |
| USER_WRITE_FLOW | 写跟进 |
| GROUP_IN_OR_OUT_GROUP | 进退群行为 |
| GS_SYNC_TASK_STATUS | 群发状态同步 |
| GS_V3_REPLY_MESSAGE | 群发消息回复同步 |
| GS_V3_SYNC_TASK_STATUS | 群发任务状态同步 |
| GS_V3_SYNC_TASK_DETAIL_STATUS | 群发任务详情状态同步 |
| WA_SYNC_ON_OR_OFF_LINE_STATUS | WhatsApp 客服号上下状态同步 |
| CHANNEL_SYNC_STATUS | channel 客服号状态同步 |
| CHANNEL_REGISTER_STATUS | channel 注册状态同步 |
| CLIENT_SYNC_MESSAGE | 客户端消息同步 |
| CLIENT_SYNC_MESSAGE_STATUS | 客户端消息状态同步 |
| SCAN_TASK_STATUS_SYNC | 扫码任务状态同步 |
