秒针分析统计数据API接入指南
1、接口概述
API可助您自动完成复杂的报告任务。您可以使用API查询维度和指标,以创建所需的报告。API返回的报告数据源于跟踪代码收集到的数据的统计。
2、接口接入流程
STEP 1:获取token
登录秒针分析系统界面,在设置-项目设置-报表API中获取当前站点对应的站点token,在设置-项目设置-项目API中可获取当前项目对应的项目Token。
STEP 2:拼接简单的维度指标进行请求
根据3、接口说明部分拼接必要的参数进行接口请求。
STEP 3:请求成功后,接口初步接入完成
STEP2能够正确获取数据后,可根据实际业务需求调整维度、指标、过滤条件等参数实现实际业务场景下对应统计数据的获取。
3、接口说明
方式一:单站点,通过站点鉴权
GET: tongji.cn.miaozhen.com/query/stat
在接口地址后拼接参数传入,其中token也可在Get请求的header部分以k:v形式传入
请求参数
属性 | 说明 | 示例 | 是否必填 | 备注 |
---|---|---|---|---|
SiteId | 站点ID | 2164 | 是 | 需要传入对应的token |
ViewId | 视图ID | 2442 | 是 | |
token | 站点token | 216425be71c94de7a7f929339701 | 是 | 在系统站点设置-报表API中获取,可在header中传入 |
begindate | 开始时间戳(秒) | 1629216000 | 是 | 如果要查2021.7.1日的数据,起始时间和结束时间选择7.1 00:00:00-7.1 23:59:59 |
enddate | 结束时间戳(秒) | 1629302399 | 是 | |
dims | 维度组 | date,hour | 是 | 多个维度用英文逗号分隔 |
metrics | 指标组 | pageviews,sessions,users,avg_session | 是 | 多个指标用英文逗号分割 |
page | 页数 | 1 | 否 | 默认为1 |
limit | 条数 | 20 | 否 | 默认为1000 |
sort | 排序 | sessions|-1 | 否 | 排序维度|(1为正序-1为倒序) |
condition | 过滤条件 | {'date':{'$in':['20210803']}} | 否 | 默认为空,即不进行条件过滤 json格式的关系表达式见附录表格 需进行URL Encode |
isOriginal | 条件原值 | 1|0 | 否 | 传 1 时 condition 直接传原值即可``传 0 或者不传,condition 筛选部分维度时需要传hash值,走反解接口(兼容性考虑) |
请求示例
Python:
import requests
import json
# API地址
api_url = "https://tongji.cn.miaozhen.com/query/stat"
# 使用python的requests库拼接请求
resp = requests.get(
api_url,
params={
# 站点ID为2164
'SiteId': '2164',
# 视图ID为2442
'ViewId': '2442',
# 站点token为216425be71c94de7a7f929339701
'token':'216425be71c94de7a7f929339701',
# 查询起始时间为2021-08-18 00:00:00 - 2021-08-18 23:59:59
'begindate': '1629216000',
'enddate': '1629302399',
# 查询维度为日期、小时
'dims': 'date,hour',
# 指标为会话数、浏览量、用户数、平均会话时长、跳出率、每次会话浏览量
'metrics': 'sessions,pageviews,users,avg_session,bounce_rate,pageviews_session',
# 按照会话数倒序排序
"sort": "sessions|-1",
# 筛选条件为日期等于2021年8月18日
'condition': "{'date':{'$in':['20210818']}}",
# 筛选条件传原值
'isOriginal':'1'
}
)
# Json转化为字典
resp_dict = json.loads(resp.text)
# 输出返回结果
resp_dict
接口返回
返回格式为JSON格式。
属性 | 说明 | 示例 |
---|---|---|
code | 错误码 | A301 |
message | 错误信息 | permission denied |
success | 是否成功 | true |
result | 请求结果 | 见下方示例 |
返回信息示例
{
"success": true, //是否成功
"message": "success", //错误信息
"result": {
/*
result中属性含义
total:查询结果总条数,超过50000条时会返回50000,API单次查询最多支持5w条。
amount:各个指标的汇总值。
debug:是否调试模式(无需关注)。
size:本次返回的条数,和limit值有关。
page:当前查询到第几页,如10000条数据,limit 1000进行查询,每一页返回1000,通过更改page属性的值可以实现翻页。循环10次后能够获取完整数据。
items:查询结果的明细记录。
*/
"total": 2,
"amount": {
"total": 1,
"sessions": 4,
"pageviews": 19,
"avg_session": 264.5,
"bounce_rate": 0,
"pageviews_session": 4.75,
"users": 4
},
"debug": null,
"size": 1000,
"page": 1,
"items": [
{
"date": "20210818",
"sessions": 2,
"pageviews": 7,
"avg_session": 209.5,
"hour": "18:00 ~ 18:59",
"_hour": "18",
"bounce_rate": 0,
"pageviews_session": 3.5,
"id": 1,
"users": 2
},
{
"date": "20210818",
"sessions": 2,
"pageviews": 12,
"avg_session": 319.5,
"hour": "19:00 ~ 19:59",
"_hour": "19",
"bounce_rate": 0,
"pageviews_session": 6,
"id": 2,
"users": 2
}
]
}
}
方式二:多站点,通过项目鉴权
GET: tongji.cn.miaozhen.com/query/stat
在接口地址后拼接参数传入,其中projectToken也可在Get请求的header部分以k:v形式传入
请求参数
属性 | 说明 | 示例 | 是否必填 | 备注 |
---|---|---|---|---|
projectId | 项目ID | 441 | 是 | 需要传入对应的projectToken |
projectToken | 项目Token | 216425be71c94de7a7f929339701 | 是 | 在系统项目设置-项目API中获取,可在header中传入 |
siteViews | 站点视图组合 | [{"siteId":781,"viewId":903}, {"siteId":781,"viewId":931}] | 否 | 可传多组站点视图值 |
SiteId | 站点ID组合 | 2164,2814 | 否 | 可传多个站点,英文逗号分隔 |
siteType | 站点类型 | 0 | 否 | 0, 1, 2 (分别代表Web、小程序、App) |
begindate | 开始时间戳(秒) | 1629216000 | 是 | 需要大于1625068800,即仅支持通过项目鉴权方式查询2021年7月1日及以后的数据 如果要查2021/7/1日的数据,起始时间和结束时间选择7/1 00:0000-7/1 23:59:59 |
enddate | 结束时间戳(秒) | 1629302399 | 是 | |
dims | 维度组 | date,hour | 是 | 多个维度用英文逗号分隔 |
metrics | 指标组 | pageviews,sessions,users,avg_session | 是 | 多个指标用英文逗号分割 |
page | 页数 | 1 | 否 | 默认为1 |
limit | 条数 | 20 | 否 | 默认为1000 |
sort | 排序 | sessions|-1 | 否 | 排序维度|(1为正序, -1为倒序) |
condition | 过滤条件 | {'date':{'$in':['20210803']}} | 否 | 默认为空,即不进行条件过滤 json格式的关系表达式见附录表格 需进行URL Encode |
isOriginal | 条件原值 | 1|0 | 否 | 传 1 时 condition 直接传原值即可``传 0 或者不传,condition 筛选部分维度时需要传hash值,走反解接口(兼容性考虑) |
请求示例
Python:
import requests
import json
# API地址
api_url = "https://tongji.cn.miaozhen.com/query/stat"
# 使用python的requests库拼接请求
resp = requests.get(
api_url,
params={
# 项目ID为441
'projectId': '441',
# projectToken为4417907a9410a8a923c32293311
'projectToken':'4417907a9410a8a923c32293311',
#方式A:不传SiteId,siteViews,siteType, 获取项目下全部站点默认视图的数据
#方式B:传siteViews如下,查询项目下2164站点2442视图和3162站点3502视图的数据
#'siteViews': '[{"siteId":2164,"viewId":2442}, {"siteId":3162,"viewId":3502}]',
#方式C:传SiteId如下,查询项目下2164和3162站点下默认视图的数据
#'SiteId': '2164,3162',
#方式D:传siteType如下,查询项目下全部Web站点下默认视图的数据
#'siteType': '0',
#注意:方式B,C,D互斥, siteViews,SiteId,siteType 不能同时传值
# 查询起始时间为2021-08-18 00:00:00 - 2021-08-18 23:59:59
'begindate': '1629216000',
'enddate': '1629302399',
# 查询维度为日期、小时
'dims': 'date,hour',
# 指标为会话数、浏览量、用户数、平均会话时长、跳出率、每次会话浏览量
'metrics': 'sessions,pageviews,users,avg_session,bounce_rate,pageviews_session',
# 按照会话数倒序排序
"sort": "sessions|-1",
# 筛选条件为日期等于2021年8月18日
'condition': "{'date':{'$in':['20210818']}}",
# 筛选条件传原值
'isOriginal':'1'
}
)
# Json转化为字典
resp_dict = json.loads(resp.text)
# 输出返回结果
resp_dict
接口返回
返回格式为JSON格式。
属性 | 说明 | 示例 |
---|---|---|
code | 错误码 | A301 |
message | 错误信息 | permission denied |
success | 是否成功 | true |
result | 请求结果 | 见下方示例 |
返回信息示例
{
"success": true, //是否成功
"message": "success", //错误信息
"result": {
/*result中属性含义
total:查询结果总条数,超过50000条时会返回50000,API单次查询最多支持5w条。
amount:各个指标的汇总值。
debug:是否调试模式。
size:本次返回的条数,和limit值有关。
page:当前查询到第几页,如10000条数据,limit 1000进行查询,每一页返回1000,通过更改page属性的值可以实现翻页。循环10次后能够获取完整数据。
items:查询结果的明细记录。
*/
"total": 2,
"amount": {
"total": 1,
"sessions": 4,
"pageviews": 19,
"avg_session": 264.5,
"bounce_rate": 0,
"pageviews_session": 4.75,
"users": 4
},
"size": 1000,
"page": 1,
"items": [
{
"siteId";2164,
"viewId":2442,
"date": "20210818",
"hour": "18:00 ~ 18:59",
"sessions": 2,
"pageviews": 7,
"avg_session": 209.5,
"_hour": "18",
"bounce_rate": 0,
"pageviews_session": 3.5,
"id": 1,
"users": 2
},
{
"siteId";3162,
"viewId":3502,
"avg_session": 319.5,
"date": "20210818",
"hour": "19:00 ~ 19:59",
"sessions": 2,
"pageviews": 12,
"_hour": "19",
"bounce_rate": 0,
"pageviews_session": 6,
"id": 2,
"users": 2
}
]
}
}
附录
通用维度指标
秒针分析系统涉及的维度指标较多,现列举部分常用字段及其定义。
注意:
1、维度指标不能随意组合,组合的维度指标需正确且有意义。可先基于系统【自定义探索】模块中【访问分析】、【页面分析】、【事件分析】下的维度指标组合为参考。
2、广告相关指标(如点击/曝光)涉及联表查询,数据库性能限制暂不支持API获取。
3、凡是字段带前缀“_”的,都为系统用于反查文字信息的字段,无实际业务意义。
1、维度
时间维度
字段 | 名称 |
---|---|
date | 日期 |
hour | 小时 |
month | 月 |
year | 年 |
地理特征维度
字段 | 名称 |
---|---|
country_id | 国家/地区 |
province_id | 省份 |
city_id | 城市 |
language_id | 语言 |
设备维度
字段 | 名称 |
---|---|
device_type_id | 设备类型 |
device_brand_id | 设备品牌 |
device_model_id | 设备型号 |
os_id | 操作系统 |
os_version_id | 操作系统版本 |
客户端维度
字段 | 名称 |
---|---|
client_type_id | 客户端类型 |
client_name_id | 客户端 |
client_version_id | 客户端版本 |
screen_resolution_id | 屏幕分辨率 |
client_engine_id | 客户端引擎 |
screen_color_id | 屏幕颜色 |
flash_version_id | Flash 版本 |
秒针广告维度
字段 | 名称 |
---|---|
ad_mz_campaign_id | 秒针广告活动ID |
ad_mz_campaign_name | 秒针广告活动名称 |
ad_mz_spot_id | 秒针广告位ID |
ad_mz_spot_name | 秒针广告位名称 |
ad_mz_keyword_id | 秒针关键词ID |
ad_mz_keyword_name | 秒针关键词名称 |
ad_mz_channel_name | 秒针频道 |
ad_mz_website_name | 秒针媒体名称 |
谷歌广告维度
字段 | 名称 |
---|---|
ad_google_name_id | 谷歌广告系列 |
ad_google_source_id | 谷歌广告来源 |
ad_google_medium_id | 谷歌广告媒介 |
ad_google_content_id | 谷歌广告内容 |
ad_google_term_id | 谷歌广告关键字 |
自定义广告维度
字段 | 名称 |
---|---|
ad_custom_label1_id | 自定义广告1 |
ad_custom_label2_id | 自定义广告2 |
ad_custom_label3_id | 自定义广告3 |
ad_custom_label4_id | 自定义广告4 |
ad_custom_label5_id | 自定义广告5 |
搜索引擎维度
字段 | 名称 |
---|---|
search_engine_id | 搜索引擎 |
search_keyword_id | 搜索关键词 |
search_prekeyword_id | 潜在搜索词 |
社交媒体维度
字段 | 名称 |
---|---|
is_social | 社交标记 |
social_id | 社交媒体 |
其他来源维度
字段 | 名称 |
---|---|
referer_url_id | 来源页面 |
referer_domain_id | 来源域名 |
referer_category_id | 来源分类 |
entrance_url_id | 进入页面 |
页面与事件维度
字段 | 名称 |
---|---|
page_domain_id | 受访域名 |
page_url_id | 受访页面 |
page_path_id | 受访路径 |
page_title_id | 页面标题 |
exit_url_id | 退出页面 |
event_type_id | 事件分类 |
event_action_id | 事件动作 |
event_label_id | 事件标签 |
自定义事件类维度
字段 | 名称 |
---|---|
custom_action_id | 自定义事件ID |
custom_action_label_id1 | 自定义事件维度1 |
custom_action_label_id2 | 自定义事件维度2 |
…… | …… |
custom_action_label_id20 | 自定义事件维度20 |
用户特征维度
字段 | 名称 |
---|---|
is_new_user | 新旧访客 |
visitor_id | 访客ID |
page_depth | 访问深度 |
session_duration_sequence | 会话时长分布 |
nickname | 用户名 |
gender | 用户性别 |
site_user_id | 企业用户ID |
wx_team1 | 企业一级部门 |
wx_team2 | 企业二级部门 |
自定义维度
字段 | 名称 |
---|---|
custom_dim_id1 | 自定义维度1 |
custom_dim_id2 | 自定义维度2 |
custom_dim_id3 | 自定义维度3 |
…… | …… |
custom_dim_id100 | 自定义维度100 |
受访频道类维度
字段 | 名称 |
---|---|
page_channel_group_id1 | 受访频道1 |
page_channel_group_id2 | 受访频道2 |
page_channel_group_id3 | 受访频道3 |
page_channel_group_id4 | 受访频道4 |
page_channel_group_id5 | 受访频道5 |
2、指标
基础数据类指标
字段 | 名称 |
---|---|
pageviews | 浏览量 |
invalid_pvs | 不可见浏览量 |
sessions | 会话数 |
users | 用户数 |
new_users | 新用户数 |
daily_ips | IP数 |
bounces | 跳出次数 |
页面与事件指标
字段 | 名称 |
---|---|
page_sessions | 页面唯一访问量 |
page_users | 页面用户数 |
entrances | 进入次数 |
exits | 退出次数 |
event_sessions | 事件唯一访问量 |
event_users | 事件用户数 |
events | 事件次数 |
event_value | 事件价值 |
自定义事件类指标
字段 | 名称 |
---|---|
custom_action_value1 | 自定义事件指标1 |
custom_action_value2 | 自定义事件指标2 |
…… | …… |
custom_action_value20 | 自定义事件指标20 |
计算指标类指标
字段 | 名称 |
---|---|
avg_session | 平均会话时长 |
pageviews_session | 每次会话浏览量 |
new_visitor_rate | 新用户百分比 |
avg_pagepixels | 平均窗口大小 |
avg_stay_time | 平均页面时长 |
valid_view_rate | 有效浏览百分比 |
exits_rate | 退出率 |
bounce_rate | 跳出率 |
目标类指标
字段 | 名称 |
---|---|
goal1 | 目标1 |
goal2 | 目标2 |
…… | …… |
goal20 | 目标20 |
自定义指标类指标
字段 | 名称 |
---|---|
custom_metric1 | 自定义指标1 |
custom_metric2 | 自定义指标2 |
…… | …… |
custom_metric25 | 自定义指标25 |
虚拟指标类指标
字段 | 名称 |
---|---|
virtualMetric_1 | 虚拟义指标1 |
virtualMetric_2 | 虚拟指标2 |
…… | …… |
virtualMetric_20 | 虚拟指标20 |
condition条件表达式
关系 | 表达式 |
---|---|
大于 | {"维度":{"$gt":["值"]}} |
大于等于 | {"维度":{"$gte":["值"]}} |
包含 | {"维度":{"$lk":["值"]}} |
小于 | {"维度":{"$lt":["值"]}} |
小于等于 | {"维度":{"$lte":["值"]}} |
不等于 | {"维度":{"$nin":["值"]}} |
不包含 | {"维度":{"$nlk":["值"]}} |
等于 | {"维度":{"$in":["值"]}} |
为空 | {"维度":{"$nil":""}} |
不为空 | {"维度":{"$nn":""}} |
或 | {"$or":[{表达式}]} |
开头为 | {"维度":{"$bw":["值"]}} |