请求说明
推送鉴权:接口需要增加验证 Header,请查看 鉴权说明
推送结果:业务方收到推送,需保证相应状态码200视为接收推送成功。
机制说明: 消息抄送会尝试推送3次, 每次间隔100ms, 如果3次都失败, 视为一次推送失败。推送采用Google自适应的熔断机制,如果滑动时间窗口内失败过多会触发熔断机制,暂时停止向业务抄送。
参数说明
| 参数 | 数据类型 | 是否必填 | 参数说明 |
|---|---|---|---|
| event_type | string | 是 | 事件类型,上下线订阅为 online |
| timestamp | int64 | 是 | 事件时间戳(毫秒) |
| payload | array | 是 | 上下线事件列表 |
| payload[].type | int | 是 | 1 表示上线,0 表示下线 |
| payload[].user_id | string | 是 | 用户 ID |
| payload[].device_id | string | 是 | 设备 ID |
| payload[].platform | string | 是 | 可选值为 iOS、Android、iPad、web |
| payload[].client_ip | string | 是 | 客户端 IP 地址 |
| payload[].session_id | string | 是 | 此次长连接的唯一标识 |
| payload[].timestamp | int64 | 是 | 上下线时间戳(毫秒) |
| payload[].connection_ext | string | 是 | 连接时携带的自定义扩展 |
| payload[].instance_id | string | 否 | 针对 web/pc 多开情况,用于标识一个实例;移动端无多开情况,此字段为空 |
请求示例
POST /onlinestatus/notification HTTP/1.1;
appkey: appkey;
signature: 2e639ae3600a4sdff61fb88b76f485b;
nonce: nonce;
timestamp: 1672568121910;
Content-Type: application/json;
{
"event_type": "online", //事件类型 message, online
"timestamp": 1713456000000, //毫秒时间戳
"payload": [
{
"type": 0, //1上线 0下线
"user_id": "userid1", //用户uid
"device_id": "1fsdf1", // 设备码
"platform": "web", //iOS,Android,iPad,web
"client_ip": "192.116.1.1",
"session_id": "123",//此次长连接的唯一标识
"timestamp": 1713456000000,
"connection_ext":"ext",//连接时携带的自定义扩展
"instance_id":"instance_id" //针对web/pc多开情况,用于标识一个实例。注:移动端无多开情况,此字段为空
}
]
}