直播互动提供进入群和退出群的回调事件,您可通过设置指定的回调事件及时获取其状态。通过阅读本文,您可以了解回调接口和回调鉴权的详情。
前提条件
您已经通过提交工单(具体方式,请参见联系我们)的方式配置回调URL和鉴权Key,要求如下:
回调URL:公网可访问。
鉴权key:长度不超过32位。
如果要使用RAM用户(子账号)调用IM服务接口,需要为其授予AliyunLiveFullAccess的权限策略。具体操作,请参见创建RAM用户并授权。
回调接口说明
回调类型
HTTP(S),建议使用HTTPS。
回调方法
GET
回调示例
GET https://客户的回调地址?action=join_group&appId=a3*ewa&time=1676***494&gro
upId=a432c9d8-****-***-ad58-cc830016fabd&userId=w3dsqw**23saa
参数字段说明:
参数 | 类型 | 必选 | 描述 |
action | String | 是 | 回调事件,取值:
|
appId | String | 是 | 应用ID。 |
time | Long | 是 | 事件产生的时间,用UNIX时间戳表示,单位:毫秒。 |
groupId | String | 是 | 群ID。 |
userId | String | 是 | 用户ID。 |
响应结果
{
"code": 200
}
在响应body中,当code为200,表示客户处理回调事件成功;当code 非200时,阿里云则认为客户服务处理失败,会进行重试,确保事件通知客户服务。
回调鉴权
鉴权参数
在进行HTTP(S)请求回调时,在请求头增加ALI-IM-TIMESTAMP
和ALI-IM-SIGNATURE
参数字段,供回调消息接收服务端进行签名认证。
参数 | 描述 |
ALI-IM-TIMESTAMP | HTTP(S)请求发起时间,用UNIX时间戳表示。 |
ALI-IM-SIGNATURE | 签名字符串,用32位MD5值表示,算法请参见下文。 |
计算签名字符串
计算ALI-IM-SIGNATURE时,需要依赖以下字段:
字段 | 描述 | 示例 |
回调URL | HTTP(S)请求回调地址。 | https://www.example.com/your/callback |
ALI-IM-TIMESTAMP | HTTP(S)请求发起时间,用UNIX时间戳表示。 | 1519375990 |
鉴权key | 用户预设的签名Key,最长32位,必须同时包含大小写字母和数字。 | Test123 |
将上述三个字段以竖线(|)拼接,再计算MD5值:
MD5Content = 回调URL|ALI-IM-TIMESTAMP|鉴权key
ALI-IM-SIGNATURE = md5sum(MD5Content)
ALI-IM-SIGNATURE计算示例如下:
ALI-IM-SIGNATURE = md5sum(https://www.example.com/your/callback|1519375990|Test123) = c72b60894140fa98920f1279219b****
回调消息接收端校验规则
回调消息接收端将设置的回调URL、ALI-IM-TIMESTAMP和鉴权Key字符串进行拼接,然后进行MD5值计算并得到加密串,再将加密串与请求头中ALI-IM-SIGNATURE字段进行对比,如果不一致,则表示非法请求。例如,经过MD5计算得到的加密串的值为c72b60894140fa98920f1279219b****,而请求头中ALI-IM-SIGNATURE字段值为79271e2cb028d10d9a8702626fd8****,此时前后加密串不一致,鉴权失败,表示非法请求。