上报用户事件 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是属性值。
  • 属性值类型为bool,可接受true/false/0/1。
  • 属性值类型为datetime,可接受长整型时间戳或字符串类型格式:yyyyMMdd/yyyy-MM-dd/yyyyMMdd_HHmmss/yyyy-MM-dd HH:mm:ss
    • 当事件的项目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 检查传的属性值类型是否正确。
  • 属性值类型为bool,可接受true/false/0/1。
  • 属性值类型为datetime,可接受长整型时间戳或字符串类型格式:yyyyMMdd/yyyy-MM-dd/yyyyMMdd_HHmmss/yyyy-MM-dd HH:mm:ss
  • 文档内容是否对您有帮助?

    Copyright 2011-2022, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

    在文档中心打开