服务端集成

优质
小牛编辑
137浏览
2023-12-01

该文档为服务端2.0接口文档,如果您第一次服务器端集成,我们强烈建议您直接使用服务端2.0接口,相较于服务端1.0的接口,服务端2.0接口上传数据更加稳定,并且提供了更丰富的接口。如设备信息、环境信息等。

对于无法在App客户端中布点的情况,您可以通过本文提供的接口,在应用服务器端或合适的位置时机上传用户及事件数据。

1. 接口地址

https://u.zhugeapi.com/open/v2/event_statis_srv/upload_event

2. 请求方式

GET/POST方式提交数据

3. 调用验证

使用HTTP Basic Authentication方式做访问授权,HTTP Header里加一个字段(Key/Value对):

    Authorization: Basic base64_auth_string

其中 base64_auth_string 的生成算法为: base64(AppKey:SecretKey)。 即用AppKey加上冒号,加上SecretKey拼接起来,再做base64转换,AppKey和SecretKey在我的应用里面查看。

4. 请求参数

请求方式参数名称类型是否必须描述
GETdatajson必须自定义事件、用户信息,json格式如下
POST(推荐)json必须自定义事件、用户信息,json格式如下(json格式数据放body内)

4.1. 自定义事件

{  
 "ak": "8c86c202ae3b4024849988d36646a66a",  // AppKey(必填,字符串)  
 "dt": "evt",                               // 数据类型(必填,固定值) :evt为事件行为数据 
 "pl": "and",                               // 平台信息: js为js、android为and、iOS为ios (必填,字符串)  
 "debug": 0,                                // 实时调试: 1为开启实时调试, 0或缺少此字段为关闭(非必填,数字)  
 "ip": "10.0.0.16",                         // ip信息,会解析出地域信息(非必填,字符串)  
 "pr": {      
     "$ct": 1491812561821,                  // 事件时间(unixtime)(必填,单位是毫秒,数字)   
     "$eid": "事件名称",                     // 事件名称(必填,字符串) 
     "$cuid": "123@zhugeio.com",            // 用户id(实名用户必填,字符串)   
     "$sid": 1491812519004,                // 会话ID(非必填,数字)  
     "$vn": "1.0",                         // 版本(非必填,字符串)  
     "$cn": "zhuge",                       // 渠道(非必填,字符串)  
     "$cr": 46002,                         // 运营商(非必填,数字,见页尾参考值)  
     "$os": "Android",                     // 系统(非必填,字符串)  
     "$ov": 5,                             // 系统版本(非必填,数字)  
     "$net": 1,                            // 网络类型(非必填,数字,见页尾参考值)  
     "事件属性名1": "事件属性值1",            // 事件属性(非必填,字符串) ,如果是数值型属性值不要带引号 
     "事件属性名2": "事件属性值2"  
    },    
    "usr": {      
        "did": "7df321978522f95327c2c413c0405c0e"  // 设备ID(匿名用户必填,字符串)  
        }  
}  

{  
 "ak": "8c86c202ae3b4024849988d36646a66a",  // AppKey(必填,字符串)  
 "debug": 0,                                // 实时调试: 1为开启实时调试,0或缺少此字段为关闭(非必填,数字)  
 "dt": "evt",                               // 数据类型(必填,固定值) :evt为事件行为数据 、abp为收入事件(revenue)  
 "pl": "js",                                // 平台信息: js为js、android为and、iOS为ios (必填,字符串)  
 "ip": "10.0.0.16",                         // ip信息,会解析出地域信息(非必填,字符串)  
 "pr": {      
     "$ct": 1491812561821,                  // 事件时间(unixtime)(必填,单位是毫秒,数字)   
     "$eid": "事件名称",                     // 事件名称(必填,字符串)  、收入事件(revenue)
     "$cuid": "123@zhugeio.com",           // 用户id(实名用户必填,字符串)   
     "$sid": 1491812519004,                // 会话ID(非必填,数字)  
     "$referrer_domain": "google.com",     //来源域名(非必填,字符串)
     "$url": "<https://zhugeio.com>[",](https://zhugeio.com)        // 当前url(非必填,字符串)                       
     "$ref": "<https://zhugeio.com>[",](https://zhugeio.com)        // 来源网址(非必填,字符串)   
     "$utm_source": "",                    // (非必填,字符串)   
     "$utm_medium": "",                    // (非必填,字符串)  
     "$utm_campaign": "",                  // (非必填,字符串)  
     "$utm_content": "",                   // (非必填,字符串)  
     "$utm_term": "",                      // (非必填,字符串)  
     "事件属性名1": "事件属性值1",            // 事件属性(非必填,字符串)  
     "事件属性名2": "事件属性值2"  
    },    
    "usr": {      
        "did": "7df321978522f95327c2c413c0405c0e"  // 设备ID(匿名用户必填,字符串)  
        }  
}  

注意:  
1. 会话ID(sid),缺省会按照默认策略生成,会对访问次数产生一定误差  
2. 设备ID(did),若为空,会根据cuid生成,sdk与服务端混用情况下,会使新增数据产生误差(不可以传null) 

4.2. 用户信息

{    
 "ak": "8c86c202ae3b4024849988d36646a66a",  // AppKey(必填,字符串)  
 "dt": "usr",                               // 数据类型:usr:用户信息,identify(必填)  
 "pl": "and",                               // 平台信息: js为js、android为and、iOS为ios (必填,字符串)  
 "debug": 0,                                // 实时调试: 1为开启实时调试,0或缺少此字段为关闭(非必填,数字)  
 "pr": {  
      "$ct": 1491812561821,                 // 事件时间(unixtime)(必填,单位是毫秒,数字)   
      "$cuid": "123@zhugeio.com",           // 用户id(必填,字符串)   
      "用户属性名1": "用户属性值1",            // 用户属性(非必填,字符串)  
      "用户属性名2": "用户属性值2"              
      },    
     "usr": {  
         "did": "7df321978522f95327c2c413c0405c0e"    // 设备ID(非必填,字符串)  
         }  
}  

注意:  
1. 设备ID(did),若为空,会根据cuid生成,sdk与服务端混用情况下,会使新增数据产生误差(不可以传null)

4.3. 设备信息完善

{    
 "ak": "8c86c202ae3b4024849988d36646a66a",  // AppKey(必填,字符串)  
 "dt": "pl",                                // 数据类型:pl:设备信息(必填,固定值)  
 "pl": "and",                               // 平台信息: js为js、android为and、iOS为ios (必填,字符串)  
 "debug": 0,                                // 实时调试: 1为开启实时调试,0或缺少此字段为关闭(非必填,数字)  
 "pr": {  
      "$ct": 1491812561821,                 // 事件时间(unixtime)(必填,单位是毫秒,数字)   
      "$br":"Xiaomi",                       // 设备品牌(非必填,字符串)  
      "$dv":"MI 5S",                        // 设备型号(非必填,字符串)  
      "$imei":"863077020763166",            // 设备imei码(非必填,字符串)  
      "$rs":"1280x720"                      // 设备分辨率,间隔符支持: x,* (非必填,字符串)  
      },    
     "usr": {  
         "did": "7df321978522f95327c2c413c0405c0e"    // 设备ID(必填,字符串)  
         }  
}  

{    
 "ak": "8c86c202ae3b4024849988d36646a66a",  // AppKey(必填,字符串)  
 "dt": "pl",                                // 数据类型:pl:设备信息(必填,固定值)  
 "pl": "js",                                // 平台信息: js为js、android为and、iOS为ios (必填,字符串)  
 "debug": 0,                                // 实时调试: 1为开启实时调试,0或缺少此字段为关闭(非必填,数字)  
 "pr": {  
      "$ct": 1491812561821,                 // 事件时间(unixtime)(必填,单位是毫秒,数字)   
      "$rs":"1280*800"                      // 设备分辨率,间隔符支持: x,*(非必填,字符串)  
      },    
     "usr": {  
         "did": "7df321978522f95327c2c413c0405c0e"    // 设备ID(必填,字符串)  
         }  
}  

4.4. 收入分析数据采集

{
"ak": "8c86c202ae3b4024849988d36646a66a",   // AppKey(必填,字符串) 
"dt": "abp",                                // 数据类型(必填,固定值) :abp为收入事件(revenue)
"pl": "and",                                // 平台信息: js为js、android为and、iOS为ios (必填,字符串)  
"debug": 0,                                 // 实时调试: 1为开启实时调试, 0或缺少此字段为关闭(非必填,数字)
"ip": "10.0.0.16",                          // ip信息,会解析出地域信息(非必填,字符串) 
"pr": {      
    "$ct": 1578801540000,                   // 事件时间(unixtime)(必填,单位是毫秒,数字)
    "$eid": "revenue",                      // 事件名称(必填,字符串) :收入事件(revenue)
    "$cuid": "宋世奇",                       // 用户id(实名用户必填,字符串) 
    "$sid": 1491812519004,                  // 会话ID(非必填,数字)
    "$vn": "1.0",                           // 版本(非必填,字符串)
    "$cn": "zhuge",                         // 渠道(非必填,字符串) 
    "$cr": 46002,                           // 运营商(非必填,数字,见页尾参考值)
    "$os": "Android",                       // 系统(非必填,字符串) 
    "$net": 1,                              // 网络类型(非必填,数字,见页尾参考值)
    "$price":988.9,                         // 商品价格(必填,数值型属性不要带引号)
    "$productID":"荣耀",                     // 商品ID(必填,数字、字符串)
    "$productQuantity":3,                   // 商品数量(必填,数值型属性不要带引号)
    "$revenueType":"手机"                    // 商品名称(必填,数字、字符串)
},
"usr": {      
    "did": "7df321978522f95327c2c413c0405c0e"   
    }
}

5. 参考值列表

5.1. 运营商

参考值运营商名称
46000中国移动
46001中国联通
46002中国移动
46003中国电信
46005中国电信
46006中国联通
46007中国移动
46011中国电信
46020中国铁通

5.2. 网络类型

参考值网络类型名称
0移动网络
12G
23G
34G
4WIFI
curl --insecure -X POST "https://u.zhugeapi.com/open/v2/event_statis_srv/upload_event" -u "AppKey:SecretKey" -d '{ "ak": "6b09c202ae3b4024849084d36649f57c", "dt": "usr", "pr": { "$ct": 1491812561821, "$cuid": "zhugeio", "属性名1": "属性值1", "属性名2": "属性值2"}, "debug": 0, "pl": "and", "usr": { "did": "7df321978522f95327c2c413c0405c0e" } }'

5.3. 返回参数

参数名称类型描述
return_codeint0:成功;小于0:失败
return_messagestring具体信息
warn_*string警告、提示信息

5.4. 成功返回

{
    "return_code": 0,
    "return_message": "success"
}

5.5. 警告返回

{
    "return_code":0,
    "return_message":"success",
    "warn_did":"did is null, will have some impact on statistics"
}

5.6. 错误返回

{
    "return_code":-10001,
    "return_message":"ak is null or does not exist"
}
{
    "return_code":-10001,
    "return_message":"$ct is null or does not exist, ct must be number type"
}