一、注意事项
·要启用回调,必须配置回调 URL,并打开本条回调协议对应的开关,配置方法详见 第三方回调配置 文档。
·回调的方向是即时通信 IM 后台向 App 后台发起 HTTP POST 请求。
·App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
·其他安全相关事宜请参考 第三方回调简介:安全考虑 文档。
二、可能触发该回调的场景
App 用户通过客户端发起加群申请。
三、回调发生时机
即时通信 IM 后台将申请加群的用户加入群组之前进行回调(如果需要管理员审批,则在通知管理员之前)。
四、请求 URL 示例
以下示例中 App 配置的回调 URL 为 https://www.example.com。
示例:
https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform
五、请求参数说明
| 参数 | 说明 |
| https | 请求协议为 HTTPS,请求方式为 POST。 |
| www.example.com | 回调 URL。 |
| SdkAppid | 创建应用时在即时通信 IM 控制台分配的 SDKAppID。 |
| CallbackCommand | 固定为 Group.CallbackBeforeApplyJoinGroup。 |
| contenttype | 固定值为 json。 |
| ClientIP | 客户端 IP,格式如:127.0.0.1。 |
| OptPlatform | 客户端平台,取值参见 第三方回调简介:回调协议 中 OptPlatform 的参数含义。 |
六、请求包示例
{ "CallbackCommand": "Group.CallbackBeforeApplyJoinGroup", // 回调命令 "GroupId" : "@TGS#2J4SZEAEL", "Type": "Public", // 群组类型 "Requestor_Account": "jared", // 申请者 "ApplyMsg" : "test", // 申请加群消息 "EventTime": 1670574414123//毫秒级别,事件触发时间戳 }
七、请求包字段说明
| 字段 | 类型 | 说明 |
| CallbackCommand | String | 回调命令。 |
| GroupId | String | 产生群消息的群组 ID。 |
| Type | String | 产生群消息的 群组类型介绍,例如 Public。 |
| Requestor_Account | String | 申请加群者 UserID。 |
| ApplyMsg | String | 申请加群消息。 |
| EventTime | Integer | 事件触发的毫秒级别时间戳。 |
| TopicId | String | 仅私密话题支持。 |
八、允许继续处理
允许用户加群请求继续处理。
{ "ActionStatus": "OK", "ErrorInfo": "", "ErrorCode": 0 // 表示允许继续处理加群请求}
九、拒绝请求
不允许加群请求继续处理,用户将不能加群,同时给调用方返回错误码10016。
{ "ActionStatus": "OK", "ErrorInfo": "", "ErrorCode": 1 // 表示拒绝加群请求}
十、应答包字段说明
| 字段 | 类型 | 属性 | 说明 |
| ActionStatus | String | 必填 | 请求处理的结果,OK 表示处理成功,FAIL 表示失败。 |
| ErrorCode | Integer | 必填 | 错误码,0表示允许继续处理;1表示拒绝该请求,若业务希望指定错误码拒绝用户进群,将错误码 ErrorCode 和 ErrorInfo 传递至客户端,请将错误码 ErrorCode 设置在 [10100, 10200] 区间内。如果申请加群需要管理员审批,即使回调返回0,依然需要等待管理员审批。 |
| ErrorInfo | String | 必填 | 错误信息。 |
十一、参考
第三方回调简介