You need to enable JavaScript to run this app.
导航

HTTP API(SaaS查看)

最近更新时间2022.09.08 10:04:41

首次发布时间2021.02.23 10:41:47

说明:

  • 服务端上报的http接口增长分析平台为您默认开通,如果您接入的应用没有开通,请联系客户成功经理解决;
  • 本文档针对的是SaaS版本的产品,私有化版本请参考私有化的文档:Http API (私有化)
  • 使用此功能之前,建议您先阅读数据格式数据质量文档说明避免上报细节错误。

1.请求接口

单条数据上传:

  • Path: https://mcs.ctobsnssdk.com/v2/event/json
  • Method: POST

多条数据上传(每次最多20条):

  • Path: https://mcs.ctobsnssdk.com/v2/event/list
  • Method: POST

2.请求规范

(1) 请求的header里带"Content-Type: application/json",以及“X-MCS-AppKey”,作为app的标识;
(2) 请求的body包含user,header,event三个部分,其中的header是埋点数据本身的header;
(3) 单次上传events数控制在20条以内,超过50条会报413;
(4) 上传如采用/v2/event/list接口,json数目控制在20条以内,超过50条会报413。

2.1 请求header

字段类型说明
Content-Typestringapplication/json
X-MCS-AppKeystring您应用的APP Key

APP Key的获取位置请参考以下截图

2.2 请求body

字段类型说明
userobjectuser属性字典,详见 2.3
headerobjectheader属性字典,详见 2.4
events[object]events列表,每个元素为一个事件,详见 2.5

2.3 user格式

字段类型必选说明
user_unique_idstring用户的唯一身份标识,需要保证同一个用户在本应用内全局唯一,即需要与客户端上报一致

2.4 header格式

字段类型必选说明
app_namestring应用的英文名称
app_packagestring包名
app_channelstringapp分发渠道
app_versionstringapp版本,三段分隔,如1.0.1
app_platformstring应用的端,不支持自定义修改
platformstring平台类型
os_namestring客户端系统,只允许设置为 "ios", "android", "web", "wap", "mac", "windows", "linux", "ipad", "iphone", 其他的值会解析成unknown
os_versionstring客户端系统版本号
device_modelstring设备型号
traffic_typestring流量类型
client_ipstring客户端ip
customjson object自定义header字段,单层json map。上述字段都是保留字段不能使用。自定义事件公共属性放在这,会显示在any_event事件下
regionstring所在区域国家(系统设置),us等,(放在custom中)
languagestring语言(系统设置),en等,(放在custom中)
app_regionstring国家(app设置),us等,(放在custom中)
app_languagestring语言(app设置),en等,(放在custom中)
timezoneint时区,-12~12
utm_sourcestring推广来源
utm_campaignstring推广活动
utm_mediumstring推广媒介
utm_contentstring推广内容
utm_termstring推广关键词

2.5 event格式

字段类型必选说明
eventstring事件名
paramsstring事件参数,单层json map
local_time_mslongunix_timestamp( 毫秒)
ab_sdk_versionstringab实验分组信息

3.HTTP Response 格式

HTTP 状态码

状态码返回信息含义

200

{"message":"success", "sc": num}
num为成功条数

成功,返回成功event数,失败的查看events上报格式,全部错误则返回num=0

400Your request is malformed.请求格式错误, 查看X-MCS-AppKey与header,user的定义
413You had too many events in your request.单个请求事件数过多,或请求json数组元素过多(只针对list接口)

4.请求示例

4.1 /v2/event/json接口

curl -X POST -H "Content-Type: application/json" -H "X-MCS-AppKey: 12345678key" -d '{"user": {...}, "header":{...}, "events":{...}}' https://mcs.ctobsnssdk.com/v2/event/list

请求body:

{
    "user": {
            // 建议先在客户端上报用户的user_unique_id,然后再在服务端使用
        "user_unique_id": "74481585297"   //用户唯一标示
    },
    "header": {
        "ab_sdk_version": "91223,83097",   //AB实验vid
        "app_channel": "App Store",    //App渠道
        "app_name": "news_article",    //App名称
        "app_package": "com.ss.android.article.news",   //App包名
        "app_version": "5.1.3",        //App版本
        "client_ip": "10.100.1.1",     //客户端ip地址
        "device_model": "SM-G9250",    //设备型号
        "os_name": "Android",          //操作系统
        "os_version": "6.0.1",         //操作系统版本
        "traffic_type": "app",
        "custom":"{\"common_param1\":\"value1\"}"         //事件公共属性
    },
    "events": [
        {
            "ab_sdk_version": "91223,83097",   //AB实验vid
            "event": "test_go_detail",    //事件名称
            "params": "{\"paramName\":\"a\"}",    //事件属性
            "local_time_ms": 1489573628001   //事件发生的时间戳
        }
    ]
}

4.2 /v2/event/list接口

curl -X POST -H "Content-Type: application/json" -H "X-MCS-AppKey: 12345678key" -d '[{"user": {...}, "header":{...}, "events":{...}}]  https://mcs.ctobsnssdk.com/v2/event/list

请求body:

[{
    "user": {
        "user_unique_id": "74481585297"   //用户唯一标示
    },
    "header": {
        "ab_sdk_version": "91223,83097",   //AB实验vid
        "app_channel": "App Store",    //App渠道
        "app_name": "news_article",    //App名称
        "app_package": "com.ss.android.article.news",   //App包名
        "app_version": "5.1.3",        //App版本
        "client_ip": "10.100.1.1",     //客户端ip地址
        "device_model": "SM-G9250",    //设备型号
        "os_name": "Android",          //操作系统
        "os_version": "6.0.1",         //操作系统版本
        "traffic_type": "app"
    },
    "events": [
        {
            "event": "test_go_detail",    //事件名称
            "params": "{\"paramName\":\"a\"}",    //事件属性
            "local_time_ms": 1489573628001   //事件发生的时间戳
        }
    ]
}]

5.导入历史数据

注意历史数据导入需要隔天才能查看

如需导入历史数据,需在headercustom字段中增加历史数据的标识__is_history且属性值设置为字符串"true";上报示例如下:

[{
   "user": {
       "user_unique_id": "74481585297"   //用户唯一标示
   },
   "header": {
       //导入历史数据标识,不填默认为非历史数据
       //is_vip、mp_platform等属性为自定义的事件公共属性,用户可按需填写
       "custom": "{\"__is_history\":\"true\",\"is_vip\":\"2\",\"vip_level\":\"3\"}"
   },
   "events": [
       {
           "event": "test_go_detail",    //事件名称
           "params": "{\"paramName\":\"a\"}",    //事件属性
           "local_time_ms": 1489573628001   //事件发生的时间戳
       }
   ]
}]

6.上报数据限制

请参考文档:

7. 验证数据上报成功

方式1 : 可以在“高级分析”--> “自定义SQL”里直接查询
方式2: 如果知道特定的user_unique_id,可以在行为细查里查询
方式3: 可以在事件分析页面进行查询分析

8. 常见问题

1、如果有服务端上报设备 id 的需求,需要上传 bddid,而不是 bd_did(客户端是这个格式)。

[{
    "user": {
        "user_unique_id": "123456",   
           "bddid":"4HB6O2XULLZHT3KOCSENP3UJSK2ULY24NNCMFMT6PBNEQZNVJ35A01"
    },
    "header": {

    },
    "events": [
        {
            "event": "test_go_detail",    //事件名称
            "params": "{\"paramName\":\"a\"}",    //事件属性
            "local_time_ms": 1489573628001   //事件发生的时间戳
        }
    ]
}]
  1. 如果有上报自定义公共属性的需求,请参考 文档“ User Profile API(服务端-SaaS)”章节