上报用户事件 API
最近更新:2023-02-09
上报用户事件 API
在运营增长平台中,用户行为元事件用于记录用户在什么时间,什么环境,做了什么行为,如何做的,为什么这么做等关键信息。
用户行为以用元事件的形式进行存储记录。用户行为元事件作为客观事实数据,一旦上报成功即不可删除和更改。通过下面的API您可以上报用户事件。
上报用户事件必须基于 CUID 进行创建,且该事件已存在于运营增长平台的数据中心。
请求方式
POST
请求地址
POST https://growth.jiguang.cn/smartop/api/v1/events/report
POST https://growth.jiguang.cn/smartop/api/v1/events/report
此代码块在浮窗中显示
QPS限制
QPS≤100
请求头
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
此代码块在浮窗中显示
请求体参数
接口支持单条上报或批量上报,批量上报时,请求数据条数须≤100 条。
真实业务场景下,请不要携带注释,下方示例的注释仅为帮助开发者理解参数意义
{
"appKey": "96441e4d73207a6517abfbbc", //系统为API数据源所生成的appKey
"data": [
{
"cuid": 10000091198, //发生该行为事件的用户身份ID
"eventName": "jg_app_viewscreen", //自定义事件的字段名,项目中唯一
"itime": 1654076420772, //自定义事件发生的具体时间戳
"randomId": "5b102148-0d28-4a6a-8658-483f7d1c735e", //事件上报id
"properties": { //事件属性
"propertyA": "a", // 事件属性的字段名:属性值
"propertyB": 2
}
},
{
"cuid": 10000091199, //发生该行为事件的用户身份ID
"eventName": "fllow_wechat", //自定义事件的字段名,项目中唯一
"itime": 1654076420235, //自定义事件发生的具体时间戳
"properties": { // 事件属性
"propertyC": "a" , //string类型事件属性
"propertyD": 3 , //number类型事件属性
"propertyJ": "true"/"false" 或者 "0"/"1" , // bool类型事件属性
"propertyK": 1698168389000 , // datetime类型事件属性,13位类型时间戳
"propertyL": ["test1","20231025"] , // list类型事件属性
}
}
]
}
{
"appKey": "96441e4d73207a6517abfbbc", //系统为API数据源所生成的appKey
"data": [
{
"cuid": 10000091198, //发生该行为事件的用户身份ID
"eventName": "jg_app_viewscreen", //自定义事件的字段名,项目中唯一
"itime": 1654076420772, //自定义事件发生的具体时间戳
"randomId": "5b102148-0d28-4a6a-8658-483f7d1c735e", //事件上报id
"properties": { //事件属性
"propertyA": "a", // 事件属性的字段名:属性值
"propertyB": 2
}
},
{
"cuid": 10000091199, //发生该行为事件的用户身份ID
"eventName": "fllow_wechat", //自定义事件的字段名,项目中唯一
"itime": 1654076420235, //自定义事件发生的具体时间戳
"properties": { // 事件属性
"propertyC": "a" , //string类型事件属性
"propertyD": 3 , //number类型事件属性
"propertyJ": "true"/"false" 或者 "0"/"1" , // bool类型事件属性
"propertyK": 1698168389000 , // datetime类型事件属性,13位类型时间戳
"propertyL": ["test1","20231025"] , // list类型事件属性
}
}
]
}
此代码块在浮窗中显示
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
appKey | String | 是 | 项目-数据源管理-API数据源所生成的appKey |
data | Array | 是 | 行为事件列表 |
cuid | Long | 是 | 发生行为事件的用户唯一ID |
eventName | String | 是 | 项目中自定义事件的事件名 |
itime | Long | 是 | 行为事件发生的具体时间戳 |
randomId | String | 否 | 事件上报id,用于校验事件唯一性;若未填写该字段,运营增长平台将自动生成 |
properties | JSON Object | 否 | 事件属性,key是属性名,value是属性值。 |
- 当事件的项目id, appKey, itime, cuid, randomId全都一致时,会视为同一个事件上报,运营增长平台会做去重处理(去重处理为离线计算,延时不超过3天)。
- 不同的元事件其关联的事件属性参数各不相同,建议开发人员先行查看目标元事件所关联的属性 list,再配置相应的属性值。
- 超出元事件关联范围所上报的属性及属性值在会被忽略。
- 批量上报时,只要任意一条有错误,这一批上报的事件都会上报失败。
响应参数
- N/A,HTTP 代码返回 200 表示上报成功。
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Int | 是 | 接口调用是否成功,0表示成功,其他值代表出错,其中4000代表有多个错误(需要在data中查看错误列表) |
msg | String | 是 | 接口调用结果描述,对错误码的文字说明 |
data | Array | 否 | 上报事件的错误码列表 |
code | Int | 是 | 上报事件的错误码 |
msg | String | 是 | 错误码的文字说明 |
成功响应
{
"code": 0,
"msg": "ok"
}
{
"code": 0,
"msg": "ok"
}
此代码块在浮窗中显示
失败响应
单个错误响应:
{
"code": 4100,
"msg": "appKey 或者项目 id 无效"
}
{
"code": 4100,
"msg": "appKey 或者项目 id 无效"
}
此代码块在浮窗中显示
多个错误响应:
{
"code": 4000,
"msg": "请求有多个错误,请在data中查看错误码列表",
"data": [
{
"code": 4104,
"msg": "itime 1676875 时间戳超出合理范围"
},
{
"code": 4104,
"msg": "itime 1676875 时间戳超出合理范围"
}
]
}
{
"code": 4000,
"msg": "请求有多个错误,请在data中查看错误码列表",
"data": [
{
"code": 4104,
"msg": "itime 1676875 时间戳超出合理范围"
},
{
"code": 4104,
"msg": "itime 1676875 时间戳超出合理范围"
}
]
}
此代码块在浮窗中显示
错误码
错误码 | 错误码说明 | 解决措施 |
---|---|---|
4000 | 请求有多个错误 | 在data中查看错误码列表 |
4001 | xxx 字段类型错误 | 确认 xxx 字段的类型是否正确 |
4002 | xxx 字段数组大小超出范围 | 确认 xxx 字段数组的大小是否超出限制 |
4003 | xxx 字段长度超出范围 | 确认 xxx 字段的类型是否正确 |
4004 | xxx 字段不能为空 | 确认 xxx 字段是否传值 |
4100 | appKey无效 | 请查看数据源页面HTTP API数据源的appkey,检查与请求体中appKey是否一致,是否属于当前请求的项目 |
4101 | 事件 xxx 不存在 | 检查 xxx 事件名称是否正确 |
4102 | 事件 xxx 的属性xxx 不存在或被禁用 | 检查 xxx 事件属性 |
4103 | cuid xxx 对应的用户不存在 | 检查cuid是否正确 |
4104 | itime xxx 时间戳超出合理范围 | itime时间戳应为毫秒值,大于当前时间+5分钟,或者小于一年前,认为是无效 |
4105 | xxx 属性值类型应为 xxx | 检查传的属性值类型是否正确。 |
文档内容是否对您有帮助?