上报事件

最新更新: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 行为事件发生的具体时间戳,要求是 13 位的毫秒级时间戳
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": ""
}

        
此代码块在浮窗中显示

错误码

|错误码| 描述| 详细说明 | | ----- | -------- | ----------------------- | -------------------------- | | 40050 | I接口鉴权失败| 确认项目ID和项目密钥是否正确 | | 40007 | EUID为空| 请检查 EUID 的值| | 50031 | 项目 ID 非法|请检查 APIKey 和 APISecret 是否正确| | 50034 | 项目 ID 不存在|请检查 APIKey 和 APISecret 是否正确,检查项目是否已被删除| | 50074 | API 数据源不存在|请检查 APIKey 和 APISecret 是否正确,请检查 API 数据源是否已被删除| | 55004 | 业务参数不合法|请检查请求参数字段是否正确| | 55101 | 用户标识个数超限|确认用户标识的值的数量是否超过 100 个| | 55102 | 存在无效的用户属性名称|确认属性名称是否符合命名要求,是否为空/用到了保留字符/超过长度限制 | 55103 | 用户属性值不能为空|确认请求体中用户属性的值是否为空| | 55105 | 用户标识的 value 值不能超过 256 个字符|确认用户标识的值是否超过256个字符| | 55106 | 用户标识的名称不在支持范围内|确认用户标识的名称是否是 user_id、 anonymous_id、registration_id| | 55107 | 用户标识的 value 值为空|确认请求体中用户标识的值是否为空| | 55108 | 无效的 EUID|请检查 EUID 的值| | -1 | 服务器内部错误|请联系 EngageLab 技术支持|

在文档中心打开
icon
联系销售