说明:
对应后台留存价值报表的LTV模块,仅支持API统计数据回传
1.最新只能查询今天往前推1天的数据
2.报表涉及到三方数据,建议晚上10点左右再拉一次昨天数据(三方数据可能会持续更新),正常情况此时数据是完整的
https://openapi.toponad.com/v3/ltvreport
POST
字段 | 类型 | 是否必传 | 备注 | 样例 |
---|---|---|---|---|
start_date | Int | Y | 开始日期,格式:YYYYmmdd | 20190501 |
end_date | Int | Y | 结束日期,格式:YYYYmmdd | 20190506 |
appid_list | Array[String] | N | 开发者后台的应用ID列表,不传默认开发者的全部app | [“a600e6fbeac98c”], |
area_list | Array[String] | N | 国家短码列表,不传默认所有国家 | [“US”,"CN"] |
channel_list | Array[String] | N | 渠道列表,不传默认所有渠道 | [“haoyou”] |
time_zone | String | N | 时区,枚举值:UTC-8、UTC+8、UTC+0,不传则默认使用开发者账号时区 | “UTC-8” |
start | Int | Y | 偏移数,代表从第几条数据开始,默认为0 | 0 |
limit | Int | Y | 每次拉取数据的最大条数,默认是1000,可选[1,1000] | 不传默认1000,最大1000 |
metric | Array[String] | Y | 请求的指标,其中ltv_day_xx 代表第N天所有新增用户的收益(区别后台:后台的是新增用户的平均收益,例如: ltv_day_1/new_user=后台的ltv0): all(1-60天用户价值), ltv_day_1(第1天用户价值), ... ltv_day_60(第60天用户价值), | ["ltv_day_11","ltv_day_12","ltv_day_13"] |
group_by | Array[String] | Y | group by 维度,默认date和app维度固定存在,仅iOS应用支持device维度,如果开发者同时传了iOS和安卓应用,那么只返回iOS应用的数据: date(日期,默认值), app(应用), area(地区), channel(渠道), device(设备类型), | ["date","app","area","channel"] |
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
records | Array[Object] | Y | 记录,对象数组每个record结构见下面records元素结构 |
count | Int | Y | 总条数 |
time_zone | String | Y | 时区,枚举值:UTC-8、UTC+8、UTC+0 |
currency | String | Y | 开发者账号币种 |
records元素结构如下:
字段名 | 类型 | 是否必传 | 备注 |
---|---|---|---|
app | Object | Y | 应用信息 |
app.id | String | Y | 开发者后台的应用ID |
app.name | String | Y | 应用名称 |
app.platform | Int | Y | 应用的系统平台 |
date | Int | Y | 日期 |
area | String | N | 国家码。group_by有选area维度时才有返回 |
channel | String | N | 渠道。group_by有选channel才有返回 |
device | String | N | 设备类型。group_by有选device才有返回 |
new_user | Int | Y | 新增用户 |
ltv_day_1 | Float | Y | 第1天用户价值 |
... | Float | Y | 第2到第59天用户价值 |
ltv_day_60 | Float | Y | 第60天用户价值 |
备注只能查询今天往前推1天的数据
请求样例:
curl --location --request POST 'https://openapi.toponad.com/v3/ltvreport' \
--header 'X-Up-Key: 877f8ae9c6e9ca82c0==5b5fff594c373axxx' \
--header 'X-Up-Signature: CE12B506DBCD868C2C6F09E08C139CBC' \
--header 'X-Up-Timestamp: 1626161553000' \
--header 'Content-Type: application/json' \
--data-raw '{
"start_date": 20200301,
"end_date": 20200301,
"appid_list":["a5c41a9ed1679c"],
"group_by":["date","area"],
"start": 0,
"limit": 30,
"metric": ["all"]
}'
返回样例:
{
"records": [
{
"app": {
"app_id": "a6012251c3dfxx",
"name": "分手回避",
"platform": 2
},
"date": 20200424,
"new_user": 7036,
"ltv_day_1": 19.563598,
"ltv_day_10": 0,
"ltv_day_11": 0,
"ltv_day_12": 0,
"ltv_day_13": 0,
"ltv_day_14": 0,
"ltv_day_15": 0,
"ltv_day_16": 0,
"ltv_day_17": 0,
"ltv_day_18": 0,
"ltv_day_19": 0,
"ltv_day_2": 0,
"ltv_day_20": 0,
"ltv_day_21": 0,
"ltv_day_22": 0,
"ltv_day_23": 0,
"ltv_day_24": 0,
"ltv_day_25": 0,
"ltv_day_26": 0,
"ltv_day_27": 0,
"ltv_day_28": 0,
"ltv_day_29": 0,
"ltv_day_3": 0,
"ltv_day_30": 0,
"ltv_day_31": 0,
"ltv_day_32": 0,
"ltv_day_33": 0,
"ltv_day_34": 0,
"ltv_day_35": 0,
"ltv_day_36": 0,
"ltv_day_37": 0,
"ltv_day_38": 0,
"ltv_day_39": 0,
"ltv_day_4": 0,
"ltv_day_40": 0,
"ltv_day_41": 0,
"ltv_day_42": 0,
"ltv_day_43": 0,
"ltv_day_44": 0,
"ltv_day_45": 0,
"ltv_day_46": 0,
"ltv_day_47": 0,
"ltv_day_48": 0,
"ltv_day_49": 0,
"ltv_day_5": 0,
"ltv_day_50": 0,
"ltv_day_51": 0,
"ltv_day_52": 0,
"ltv_day_53": 0,
"ltv_day_54": 0,
"ltv_day_55": 0,
"ltv_day_56": 0,
"ltv_day_57": 0,
"ltv_day_58": 0,
"ltv_day_59": 0,
"ltv_day_6": 0,
"ltv_day_60": 0,
"ltv_day_7": 0,
"ltv_day_8": 0,
"ltv_day_9": 0
}
],
"time_zone": "",
"count": 128
}