提交工单
咨询集成、功能及报价等问题
设置此回调后,当用户发送单聊、群聊或房间聊天消息时,ZIM 会向您的业务后台发起请求,您可以通过应答,对消息进行实时操作,如:
ZIM 会根据您的应答和 ZIM 内容服务的开通情况,决定消息是否发送,详情请参考本文档 应答参数。
请求方法:POST。
请求地址:请在 ZEGO 控制台 上配置回调地址,配置流程请参考控制台文档 ZIM 相关回调配置。
传输协议:HTTPS/HTTP,建议使用 HTTPS。
公共参数 | 类型 | 描述 |
---|---|---|
appid |
String |
App 的唯一标识。 |
event |
String |
回调事件,此回调返回值为 before_send_msg 。 |
nonce |
String |
随机数,用于计算 signature。 |
signature |
String |
检验串,详情见 检验说明。 |
timestamp |
Int |
服务器当前时间,Unix 时间戳,单位为秒(s),用于计算 signature。 |
request_id |
String |
请求 ID。 |
业务参数 | 类型 | 描述 |
from_user_id |
String |
消息发送者 ID。 |
conv_id |
String |
目标会话 ID。 |
conv_type |
Int |
目标会话类型:
|
msg_id |
String |
消息 ID,可借此确定消息的唯一性。 |
payload |
String |
消息扩展字段。 |
msg_type |
Int |
消息类型:
|
sub_msg_type |
Int |
具体的自定义类型。值由用户发送自定义消息时填写,取值范围为 [0,200]。只有当 msg_type 为 200(自定义类型)时,此参数才有意义。 |
msg_body |
String |
消息内容。
|
建议您将部分参数转换为 Int 进行逻辑处理,相关字段包括 appid
和 nonce
。
参数 | 类型 | 描述 |
---|---|---|
md5 | String | 文件的 MD5 值。 |
file_name | String | 文件名称。 |
file_size | String | 文件大小,单位为字节(B)。 |
download_url | String | 下载地址。 |
media_duration | String | 音视频时长,单位为秒(s)。 |
{
"appid": "1",
"event": "before_send_msg",
"from_user_id": "sender",
"conv_id": "receiver",
"request_id": "3501907290370176",
"msg_id": "1234232421343",
"conv_type": 0,
"timestamp": 1499676968,
"msg_body": "msg_body",
"msg_type": 1,
"signature": "abc",
"nonce": "321",
"sub_msg_type": 0,
"payload": "payload"
}
参数 | 类型 | 描述 |
---|---|---|
result | Int | 您的业务后台应答的值,ZIM 会判断是否向发送该消息。
|
基于您的应答以及 ZIM 内容审核 服务开通与否,ZIM 会决定是否向消息接受端发送消息。ZIM 操作如下表所示:
您的应答 | ZIM 审核结果 | ZIM 是否发送该消息 | ZIM 返回给消息发送端的发送结果 | 消息接收端是否可接收该消息 | |
---|---|---|---|---|---|
值 | 含义 | ||||
0 |
中立 (不判断是否发送) |
通过 |
发送 |
已发送 |
可接收 |
不通过 |
不发送 |
不发送 |
不可接收 |
||
1 |
发送 |
通过 |
发送 |
已发送 |
可接收 |
不通过 |
发送 |
已发送 |
可接收 |
||
2 |
静默发送 |
通过 |
发送 |
已发送 |
不可接收 |
不通过 |
不发送 |
不发送 |
不可接收 |
||
3 |
不发送 |
通过 |
不发送 |
不发送 |
不可接收 |
不通过 |
不发送 |
不发送 |
不可接收 |
您的应答 | ZIM 是否发送该消息 | ZIM 返回给消息发送端的发送结果 | 消息接收端是否可接收该消息 | |
---|---|---|---|---|
值 | 含义 | |||
0 |
中立 (不判断是否发送) |
发送 |
已发送 |
可接收 |
1 |
发送 |
发送 |
已发送 |
可接收 |
2 |
静默发送 |
发送 |
已发送 |
不可接收 |
3 |
不发送 |
不发送 |
不发送 |
不可接收 |
根据您的业务后台应答的值,消息发送方的客户端可能会收到以下错误码:
错误码 | 说明 |
---|---|
111101 |
您的业务后台不同意发送此消息,ZIM 服务端拒绝发送此消息。 |
{
"result": 0
}
收到回调后,如果您的服务器返回的 HTTP status code 为 2XX (例如 200),表示成功;返回其他,表示失败。
如果 ZEGO 服务器在 2.5 秒内没有收到响应,判定为本次请求失败;随后会立即进行重试,若此次请求发起后 2.5 秒内仍未收到相应,则不再重试。
当 ZEGO 客户端向您发起请求时,如果您的业务侧发生异常,则默认不发送消息。如需默认发送消息,请联系 ZEGO 技术支持。
联系我们
文档反馈