上报事件

最新更新:2025-03-18

用户行为事件用于记录用户在什么时间,什么环境,做了什么行为,如何做的,为什么这么做等关键信息。

上报用户事件必须基于 EUID 进行创建

调用地址

POST /v1/event/report

调用验证

EngageLab REST API 采用 HTTP 基本认证 的验证方式:HTTP Header(头)里加 Authorization:

Authorization: Basic ${base64_auth_string}
          Authorization: Basic ${base64_auth_string}

        
此代码块在浮窗中显示

上述 base64_auth_string 的生成算法为:base64(api_key:api_secret)

  • Header 名称是 "Authorization",值是 base64 转换过的 "username:password" 对(中间有个冒号)。
  • 在 MA API 的场景里,username 是 APIKey,password 是 APISecret。请在数据来源中添加 API 类型的数据源获得 APIKey 与 API Secret。

请求示例

请求头

> POST /v1/event/report > Content-Type: application/json > Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
          > POST /v1/event/report
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

        
此代码块在浮窗中显示

请求体

{ "app_key": "96441e4d73207a6517abfbbc",//应用的 AppKey,选填 "data": [ { "euid": 10000091198, //发生该行为事件的EUID "event_name": "sign_up", //事件名称,项目中唯一标识事件的信息 "itime": 1654076420772, //事件发生的具体时间戳 "random_id": "5b102148-0d28-4a6a-8658-483f7d1c735e", //事件上报id。选填 "properties": { "propertyA": "a", // 事件属性的字段名:属性值 "propertyB": 2 } }, { "euid": 10000091199, "event_name": "login", "itime": 1654076420235, "properties": { "propertyC": "a", "propertyD": 3, "propertyJ": "true", "propertyK": 169, "propertyL": [ "test1", "20231025" ] } } ] }
          {
    "app_key": "96441e4d73207a6517abfbbc",//应用的 AppKey,选填
    "data": [
        {
            "euid": 10000091198, //发生该行为事件的EUID
            "event_name": "sign_up", //事件名称,项目中唯一标识事件的信息
            "itime": 1654076420772, //事件发生的具体时间戳
            "random_id": "5b102148-0d28-4a6a-8658-483f7d1c735e", //事件上报id。选填
            "properties": {
                "propertyA": "a", // 事件属性的字段名:属性值
                "propertyB": 2
            }
        },
        {
            "euid": 10000091199,
            "event_name": "login",
            "itime": 1654076420235,
            "properties": {
                "propertyC": "a",
                "propertyD": 3,
                "propertyJ": "true",
                "propertyK": 169,
                "propertyL": [
                    "test1",
                    "20231025"
                 ]
            }
        }
    ]
}

        
此代码块在浮窗中显示

请求参数

字段 类型 必填 描述
app_key String App 或 Web 应用的 AppKey 值,可以用来表示该事件是由哪一个应用产生
data Array 行为事件列表
euid Long 发生行为事件的用户唯一 ID
event_name String 事件的名称
itime Long 行为事件发生的具体时间戳
random_id String 事件上报 id,用于校验事件唯一性;若未填写该字段,EngageLab 将会自动生成。
properties JSON Object 事件属性,key 是属性名,value 是属性值。

在同一个 MA 项目下,如果上报的事件 app_key、event_name、itime, euid, random_id 全部一致时,会视为同一个事件上报,EngageLab 平台会做去重处理(去重处理为离线计算,延时不超过3天)。

返回参数

字段 类型 必填 描述
code Int 接口调用是否成功,0 表示成功或者部分成功,其他值代表失败
message String 接口调用结果描述,对返回码的说明

全部成功

{ "code": 0, "message": "success" }
          {
    "code": 0,
    "message": "success"
}

        
此代码块在浮窗中显示

全部失败

{ "code": 40050, "message": "" }
          {
    "code": 40050,
    "message": ""
}

        
此代码块在浮窗中显示
在文档中心打开
icon
联系销售