上报事件
最新更新: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": ""
}
此代码块在浮窗中显示