消息回调
最新更新:2023-02-27

将「消息状态」的数据回调给企业的业务系统,可根据该信息进行统计分析等动作。

回调地址

企业需要设置接收「消息状态变更」的回调地址,可在Push后台管理->应用设置->回调设置进行配置。

应答机制

开发者服务接收到 Engagelab 的回调后,需要在 3 秒内按下述要求进行应答.

  • 接收成功:HTTP 应答状态码需返回 200 或 204,无需返回应答报文。
  • 接收失败:HTTP 应答状态码需返回 5XX 或 4XX,同时需返回应答报文,格式如下:
{ "code": 2002, "message": "失败" }
          {
    "code": 2002,
    "message": "失败"
}

        
此代码块在浮窗中显示
字段 类型 必选/可选 描述
code int 可选 错误码
message string 可选 错误详细信息

回调内容

回调方式:POST Content-Type:application/json Authorization:none

注:目前支持Basic鉴权(也可不鉴权,依赖配置),开发者也可以选择不进行校验,后续会丰富鉴权方式。

消息状态变更

回调示例

请求报头

POST /developer_define_url HTTP/1.1 Content-Type: application/json
          POST /developer_define_url HTTP/1.1
Content-Type: application/json

        
此代码块在浮窗中显示

请求体

{ "total": 1, "rows": [ { "message_id": "1666165485030094861", // 极光侧的消息id "from": "", // 发送方 "to": "", // 接收方,registrationID "server": "AppPush", "channel": "FCM", "custom_args": {}, // 这条消息创建时提交的参数,将于此回调时原样返回 "itime": 1640707579, // 消息状态变更时的时间戳,如消息已送达的时间 "status": { // 成功时响应这些字段 "message_status": "delivered", // 消息状态 "status_data": { // 自定义 "channel_message_id": "wamid.123321abcdefed==" // 可选,第三方通道的msgid }, // 失败时响应这些字段 "error_code": 0, //错误码--对应生命周期错误码 "error_detail": { "message": "" //错误原因 }, "loss": { "loss_source": "vivo", "loss_step": 1 } //折损阶段和折损来源 } } ] }
          {
    "total": 1,
    "rows": [
        {
            "message_id": "1666165485030094861", // 极光侧的消息id
            "from": "", // 发送方
            "to": "", // 接收方,registrationID
            "server": "AppPush",
            "channel": "FCM",
            "custom_args": {}, // 这条消息创建时提交的参数,将于此回调时原样返回
            "itime": 1640707579, // 消息状态变更时的时间戳,如消息已送达的时间
            "status": {
                // 成功时响应这些字段
                "message_status": "delivered", // 消息状态    
                "status_data": { // 自定义
                    "channel_message_id": "wamid.123321abcdefed==" // 可选,第三方通道的msgid
                },
                // 失败时响应这些字段
                "error_code": 0, //错误码--对应生命周期错误码
                "error_detail": {
                    "message": "" //错误原因
                },
                "loss": {
                    "loss_source": "vivo",
                    "loss_step": 1
                } //折损阶段和折损来源
            }
        }
    ]
}

        
此代码块在浮窗中显示

参数说明

消息状态取值:

取值 含义
target_valid 有效目标
sent 发送成功
delivered 送达成功
click 用户点击
no_click 未点击
target_invalid 无效目标
sent_failed 发送失败
delivered_failed 送达失败

注意:1.部分通道的点击和送达可能存在重复现象,开发者可自行进行去重处理。2.发送成功5天之后的送达数量和展示数量不会再回调。

折损阶段:
1:计划目标-》有效目标
2:有效目标-》发送数量
3:发送数量-》送达数量
4:送达数量-》点击数量

在文档中心打开