服务端集成
该文档为服务端2.0接口文档,如果您第一次服务器端集成,我们强烈建议您直接使用服务端2.0接口,相较于服务端1.0的接口,服务端2.0接口上传数据更加稳定,并且提供了更丰富的接口。如设备信息、环境信息等。
对于无法在App客户端中布点的情况,您可以通过本文提供的接口,在应用服务器端或合适的位置时机上传用户及事件数据。
1. 接口地址
https://su.zhugeio.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. 请求参数
请求方式 | 参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
GET | data | json | 必须 | 自定义事件、用户信息,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 | 移动网络 |
1 | 2G |
2 | 3G |
3 | 4G |
4 | WIFI |
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_code | int | 0:成功;小于0:失败 |
return_message | string | 具体信息 |
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"
}