Open API 接口文档
1. 通用约定
1.1 概述
Ptengine Open API 提供 RESTful 接口,用于程序化查询热图分析数据。您可以将本文档提供给 AI Agent,AI Agent 将根据自然语言需求自动构造查询请求,直接调用接口获取数据。
接口基础地址:
https://xbackend.ptengine.com/1.2 认证方式
所有 API 请求需通过 x-api-key 请求头传递 API Key。
x-api-key: pt-your-api-key-here获取 API Key 步骤:
权限要求:仅 Admin 和 Owner 角色可以创建和管理 API Key。
登录 Ptengine 产品
进入 Experience 模块
点击右上角设置图标(⚙),选择"外部应用集成"
切换到"API 密钥"标签页
点击"创建 API 密钥",输入名称并选择权限范围(数据上传/数据查询)
复制并妥善保存密钥(密钥仅在创建时展示一次)
1.3 请求频率限制
根据套餐等级不同,限流值不同:
Free
3
100
Free Trial
10
1,000
Growth
30
3,000
频率限制信息通过响应头返回:
1.4 响应格式
所有端点统一返回以下 JSON 包装:
成功(HTTP 200):
{ "code": 200, "message": "OK", "data": ... }失败(HTTP 4xx):
{ "code": 4xxx, "message": "..." }
完整错误码见 附录。
2. Insight
本章包含 Heatmap、Event、Data Center、Conversion 四个查询端点。
2.1 共用规则
Heatmap、Event、Data Center、Conversion 这 4 个端点的请求里都有 conversionNames 和 filters 两个字段。conversionNames 里的目标名去哪查;filters 怎么写、里面的可选值去哪查 —— 都按本节来。先看完再去看对应端点的章节,就能直接上手。
转化目标
查询数据时如果想看转化(比如"购买完成了多少次"、"注册转化率多少"),得先告诉系统要看哪个转化目标。这个接口返回你在 Ptengine 里配置过的所有目标名,拿到后填进查询请求即可。
请求示例:
响应示例:
拿到 name 后,把它写到查询接口(/event/query、/datacenter/query、/conversion/query、/heatmap/query)的 conversionNames 字段里就能查这个目标的数据。比如 "conversionNames": ["购买完成"]。
Filter
在请求体的 filters 字段里加条件,圈定要查的数据范围。比如只看 Mobile 端、只看日本地区、只看某广告活动来源。
字段说明:
name
要过滤的字段名(按字段类型见下面分类)
op
include(包含)或 exclude(排除),不支持其它运算符
value
要过滤的值,必须是数组(哪怕只有一个值也写成 ["Japan"])
自定义属性 filter(按事件属性过滤)需要额外的
eventName/eventVariant字段,详见下面"自定义属性 filter(进阶)"。
按字段类型分两类:
固定字段
下面 4 个字段的取值是固定的,照抄即可:
deviceType
设备类型
PC、Mobile、Tablet
sourceType
来源类型
Direct(直接访问)、Search(搜索引擎)、Social(社交网络)、Referral(外部链接)、Campaign(广告)、AISearch(AI 搜索)
visitType
访问类型
New visits(新访问)、Returning visits(回访访问)
exitType
退出类型
Bounce visits(跳出会话)、Non-bounce visits(非跳出会话)
动态字段
取值随数据变化,调下面的filter 可选值接口实时查询。
设备
os
操作系统
["Windows", "Mac OS X"]
设备
osVersion
操作系统版本
["Windows 10", "Mac OS X 10.15.7", "iOS 17.0"]
设备
browser
浏览器
["Chrome", "Mobile Safari", "Edge"]
设备
browserVersion
浏览器版本
["Chrome 124.0.0", "Edge 146.0.0", "Mobile Safari 13.0.3"]
设备
screenResolution
分辨率
["1920x1080", "1440x900"]
设备
deviceBrand
设备品牌
["Apple", "Samsung"]
地理
country
国家 / 地区
["Japan", "China", "United States"]
地理
region
省 / 州
["Tokyo", "Beijing", "Hong Kong"]
来源
searchEngine
搜索引擎
["google"]
来源
socialNetwork
社交网络
["facebook"]
来源
socialUrl
社交 URL
["https://www.facebook.com/"]
来源
aiName
AI 名称
["ChatGPT", "Perplexity"]
来源
referralSource
外部链接网站
["www.muji.com"]
来源
referralUrl
外部链接 URL
["https://www.muji.com/"]
广告
campaignUrl
广告 URL
["https://www.google.com/"]
广告
utmCampaign
广告名称
["summer_sale"]
广告
utmSource
广告来源
["google", "facebook"]
广告
utmMedium
广告媒介
["cpc", "email"]
广告
utmTerm
广告关键词
["heatmap tool"]
广告
utmContent
广告内容
["banner_a"]
页面
combinedPages
合参页面
["https://ptengine.jp/app/login"]
页面
originalPages
原始页面
["https://ptengine.jp/app/select_project?from=login"]
事件
eventName
事件名
["checkout_completed", "product_viewed"]
事件
dimension
自定义维度(跨事件)
需配合 eventVariant 使用
事件
eventDimension
自定义维度(事件名)
需配合 eventName 和 eventVariant 使用
转化
conversionName
转化名称
["购买完成"]
value 示例仅供参考,实际可用值请调 filter 可选值 接口查询。
自定义属性 filter(进阶)
只在你的事件带了自定义属性(比如 purchase 事件带 price 属性)、想按属性值过滤时才用。两种形态:
绑定具体事件:
{ "name": "eventDimension", "eventName": "purchase", "eventVariant": "price", "op": "include", "value": ["100"] }—— 仅查purchase事件下price=100的会话跨事件查找:
{ "name": "dimension", "eventVariant": "price", "op": "include", "value": ["100"] }—— 任何事件下price=100都命中
filter 可选值
返回某个 filter 字段的可选值列表(如所有有数据的国家、所有 OS 等)。返回的值可直接用作任意 query 端点 filter 的 value 字段。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
startDate
否
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD。不传则默认最近 30 天
endDate
否
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD。不传则默认最近 30 天
search
否
string
模糊搜索关键字
eventName
条件必填
string
仅 name="eventDimension" 时使用(见示例 5 第 2 步)
eventVariant
条件必填
string
仅 name="eventDimension" 时使用(见示例 5 第 2 步)
示例 1:查询常规字段(如 country / os / browser 等)
请求示例:
响应示例:
示例 2:模糊搜索(search)
只想看名字含某个关键字的值,传 search 即可。比如查国家名包含 "Ja" 的(会命中 Japan、Jamaica 等):
请求示例:
响应示例:
示例 3:查询所有事件名(name="eventName")
返回 profile 下所有有数据的事件名列表。
请求示例:
响应示例:
示例 4:查询事件自定义属性列表
返回 profile 下所有事件自定义属性名。
请求示例:
响应示例:
示例 5:查询某事件下属性的取值(eventDimension,两步走)
eventDimension 必须分两步查:先用 name="eventDimension" 拿到"事件 + 属性"成对清单,再带上选中的 eventName + eventVariant 查具体取值。
第 1 步 —— 拿事件 + 属性清单:
请求示例:
响应示例:
第 2 步 —— 用选中的 eventName + eventVariant 查取值:
请求示例:
响应示例:
2.2 Heatmap
热图分析 —— 页面 / 区块 / 元素的点击与浏览。
请求参数说明
queryType
是
string
查询类型,可选值:page_metrics(页面指标)、page_insight(页面详情指标)、block_metrics(区块指标)、element_metrics(元素指标)
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
url
是
string
目标页面 URL
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
rangeType
否
string
URL 匹配模式。MERGE_URL(默认)合并参数查询,忽略 URL 参数差异;URL 原始 URL 精确查询;PAGE_GROUP 页面组维度(需配 pageGroupId,从 页面组列表 获取)
historyHeatmap
否
string
历史热图快照 ID。指定后查询将基于该次保存的热图配置;不传则用最新配置。对 block_metrics / element_metrics:影响全部区块/元素指标;对 page_metrics / page_insight:仅影响 CTA 类指标(ctaClicks / ctaClickRate),PV/UV/访问/跳出等流量指标不受影响。ID 通过 历史热图快照列表 接口获取
pageGroupId
否
string
页面组 ID。rangeType=PAGE_GROUP 时必填;从 页面组列表 接口获取。此时 url 传页面组底图 URL(页面组列表返回的 defaultUrl)
engageConfig
否
object
按实验(A/B 测试)版本过滤热图流量。{ engageId, versionId, isControlGroup? }:engageId 与 versionId 从 POST /v1/experience/list 的 id / versions[].id 获取;isControlGroup 可不传。不传 engageConfig 则统计全量流量
lang
否
string
返回标签的语言:EN(默认)、ZH(中文)、JP(日文)。传入非合法值时降级为 EN
funName
条件必填
string
仅 page_insight 类型时必填。可选值:terminalType(设备类型)、sourceType(流量来源)、visitType(新访/旧访)、aiName(流量获取渠道)、utmCampaign(UTM Campaign)、utmSource(UTM Source)、utmMedium(UTM Medium)、utmTerm(UTM Term)、utmContent(UTM Content)、week(周)、day(日)
查询类型
page_metrics — 页面基础指标
返回指定页面的流量、行为互动、转化等指标数据。
设备类型: 支持 ALL(全设备)、PC、MOBILE、TABLET
指标参数: metrics(不传返回所有指标,传了只返回指定指标)
转化查询: 所有查询类型都支持转化。在 metrics 中加入 completions(转化数)和 conversionRate(转化率)—— 两者可单独传或同时传,再通过 conversionNames 传入转化名称即可。
请求示例:
响应示例:
说明:
conversions中只返回metrics里请求的转化指标。上例metrics中只有conversionRate,所以 conversions 里只有转化率,没有完成数。如需同时返回转化数,在metrics中加入completions。
page_insight — 页面详情指标(按维度分组)
返回按指定维度分组的页面指标数据。
设备类型: 支持 ALL、PC、MOBILE、TABLET
必填参数: funName(metrics 不传返回所有指标)
funName 可选值:
terminalType
按设备类型分组(PC/Smart phone/Tablet)
sourceType
按流量来源分组(Direct/Search/Social 等)
visitType
按访问类型分组(New visits/Returning visits)
aiName
按 AI 名称分组
utmCampaign
按 UTM Campaign 分组
utmSource
按 UTM Source 分组
utmMedium
按 UTM Medium 分组
utmTerm
按 UTM Term 分组
utmContent
按 UTM Content 分组
week
按周分组
day
按天分组
请求示例(按设备类型分组):
响应示例:
block_metrics — 区块指标
返回页面中每个区块(版块)的指标数据和截图地址。要求页面已在产品中完成扫描并配置区块。
设备类型: 必须指定 PC、MOBILE 或 TABLET,不支持 ALL
metrics 参数: 可选。不传则返回全部指标,传了则只返回指定指标。blockName 和 screenshotUrl 始终返回。
可用指标: impression、impressionRate、avgDuration、dropoff、dropoffRate、completions、conversionRate
stayTimeFilter: 可选,区块停留时间过滤(秒),默认 5 秒。
请求示例:
响应示例:
element_metrics — 元素指标
返回页面中每个被追踪元素的指标数据。要求页面已在产品中完成扫描并配置元素。
设备类型: 必须指定 PC、MOBILE 或 TABLET,不支持 ALL
metrics 参数: 可选。不传则返回全部指标,传了则只返回指定指标。elementName 始终返回。
可用指标: impression、impressionRate、click、clickRate、completions、conversionRate
请求示例:
响应示例:
进阶查询示例
以下示例展示 historyHeatmap、PAGE_GROUP、engageConfig 三个可选字段的用法(可与任意 queryType 组合)。
示例 1 — 历史热图快照指标(historyHeatmap,快照 ID 见 历史热图快照列表)
示例 2 — 按页面组查询(rangeType=PAGE_GROUP + pageGroupId,页面组见 页面组列表,url 传页面组 defaultUrl)
示例 3 — 按实验版本查询(engageConfig,engageId / versionId 见 POST /open-api/v1/experience/list)
可用指标
页面指标(用于 page_metrics 和 page_insight)
在 metrics 数组中使用以下字段名。
流量获取
visits
页面被浏览的访问次数
value
pv
页面被浏览的次数
value
uv
该页面被浏览的访问者数量
value
newVisitsRate
浏览过该页面的新访问百分比
rate
entrances
页面被作为落地页的访问次数。您可以了解此页面是否主要用于承接流量
value
行为互动
fvRate
用户进入页面后,没有滚动也没有转化或进入到后续页面的比例。首屏流失率过高代表页面的首屏没有吸引用户留下
rate
timeOnPage
页面的平均停留时间。您可以了解页面内容是否吸引访客停留更长时间
time
clicks
页面总点击次数,无论是否有链接
value
clickRate
单个 PV 的点击次数。您可以用其评估用户对页面的互动程度
rate
ctaClicks
页面内关键 CTA 的点击数。您可以在热图中将关键元素设置为 CTA
value
ctaClickRate
页面内关键 CTA 的点击率。CTA 点击率=CTA 点击数/PV。您可以在热图中将关键元素设置为 CTA
rate
bounceRate
访问者从该页面进入后未进入其他页面而离开的百分比。您可以了解落地页是否吸引用户进一步访问更多页面
rate
avgPageViews
访问者从该页面落地后的平均访问页面数。您可以了解从此页面落地的用户在网站中的浏览深度
decimal
转化
completions
访问过此页面并完成转化的访问数
value
conversionRate
访问过此页面并完成转化的占比,转化率越高说明此页面对转化行为的影响越好
rate
注意: 查询转化数据时,必须同时通过
conversionNames传入转化目标的名称。
区块指标(用于 block_metrics)
不传 metrics 参数时全部返回,传了则只返回指定的指标。blockName 和 screenshotUrl 始终返回。
blockName
区块名称
text
screenshotUrl
区块截图地址
text
impression
用户开始在屏幕上看到当前区块的 PV 数
value
impressionRate
用户开始在屏幕上看到当前区块的 PV 占比
rate
dropoff
从当前区块离开,并且没有点击去其他页面或完成转化的 PV 数
value
dropoffRate
从当前区块离开,并且没有点击去其他页面或完成转化的 PV 占比
rate
avgDuration
看到此区块的人,在此区块停下后的平均停留的时间。平均停留时间越长,通常代表用户对此区块更感兴趣
time
completions
在各内容区块停留特定时间,且完成转化的访问次数
value
conversionRate
在各内容区块停留特定时间的访问中,完成转化的访问占比
rate
元素指标(用于 element_metrics)
不传 metrics 参数时全部返回,传了则只返回指定的指标。elementName 始终返回。
elementName
元素名称
text
impression
用户开始在屏幕上看到当前元素的 PV 数
value
impressionRate
用户开始在屏幕上看到当前元素的 PV 占比
rate
click
点击当前元素的点击次数
value
clickRate
点击次数 ÷ 曝光次数。点击率越高,说明该元素越容易吸引用户点击
rate
completions
点击各元素且完成转化的访问次数
value
conversionRate
在点击各元素的访问中,完成转化的访问占比
rate
设备类型规则
page_metrics
ALL、PC、MOBILE、TABLET
ALL 返回全设备汇总数据
page_insight
ALL、PC、MOBILE、TABLET
ALL 返回全设备汇总数据
block_metrics
PC、MOBILE、TABLET
不支持 ALL
element_metrics
PC、MOBILE、TABLET
不支持 ALL
区块与元素查询前置条件
使用 block_metrics 或 element_metrics 查询前,必须先在 Ptengine 产品中对页面进行扫描配置:
在 Ptengine 热图中打开目标页面
开启区块/元素检测功能
保存配置
如果页面尚未配置,接口将返回错误码 4008(区块未配置)或 4016(元素未配置)。
请求示例
示例 1:查询页面流量概览
示例 2:按设备类型查询页面详情指标
示例 3:查询移动端区块分析(含 filter 筛选日本地区)
示例 4:查询指定转化目标数据
示例 5:查询 PC 端元素点击分析
补充说明
时间类字段(如页面
timeOnPage、区块avgDuration)以可读字符串返回,带单位(例如"5s"、"1m 30s")。比率类型的值为小数(例如
bounceRate: 0.45表示 45%)。API 使用的数据源与 Ptengine 产品界面一致,查询结果应保持一致。
请求的 URL 在该档案下从未被采集时,接口返回
200,但所有指标值为0,不返回错误。
历史热图快照列表
列出指定 profileId + url 下所有可用的历史热图快照(已成功保存的,含手动保存与自动定时保存)。返回的 id 可作为 heatmap query 请求中的 historyHeatmap 字段传入,用于查询某次冻结配置对应的指标。
请求示例:
请求参数:
profileId
是
string
网站 ID,必须与 API Key 关联档案匹配
url
条件必填
string
非 PAGE_GROUP 时必填(PAGE_GROUP 按 pageGroupId 查,无需 url)
rangeType
否
string
URL / MERGE_URL(默认)/ PAGE_GROUP
pageGroupId
条件必填
string
仅 rangeType=PAGE_GROUP 时必填
响应示例:
字段说明:
id
快照 ID(传给 heatmap query historyHeatmap 字段使用)
name
快照名称
note
备注
createTime
创建时间(毫秒时间戳)
页面组列表
列出指定 profileId 下的全部页面组(heatmap / insight 共用)。返回的 id(页面组 ID)在按页面组查询时使用:heatmap query 传 rangeType=PAGE_GROUP + pageGroupId,历史热图快照传 rangeType=PAGE_GROUP + pageGroupId。
请求示例:
请求参数:
profileId
是
string
网站 ID,必须与 API Key 关联档案匹配
响应示例:
字段说明:
id
页面组 ID(按 PAGE_GROUP 查询时作为 pageGroupId 传入)
name
页面组名称
defaultUrl
页面组默认底图 URL(按 PAGE_GROUP 查热图时作为 url 传入)
2.3 Event
事件分析。按维度、指标、细分(即请求里的 filters 字段)进行事件查询。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
dimensions
是
(string | object)[]
分组维度数组,必须包含 "eventName"。最多 3 个非时间维度 + 至多 1 个时间维度(day / hour / week / month),与产品 事件 > 分群 页面一致。每项是字符串(标准维度名)或对象 { name: "eventDimension", eventVariant: "<属性名>" }(自定义事件属性)
metrics
否
string[]
指标字段名,默认 ["eventCount"];可选值:eventCount、sessions
自定义事件属性
你的事件如果带了自定义属性(比如 purchase 事件带 price 属性),可以用属性做分组或细分。
按属性分组 —— 在
dimensions里加:结果会按
price值聚合。按属性细分 —— 在
filters里加:只看
purchase事件下price=100的会话。细分时务必同时锁定事件 —— 用属性细分时,
filters里还要再加一条事件名细分,否则查询不知道锁哪个事件:
请求示例:
响应示例:
更多示例
a) 最简 — 按事件名统计触发次数
请求示例:
b) 时间序列 — 按天统计
请求示例:
c) 按转化目标过滤(名称模糊匹配)
请求示例:
conversionName匹配名称含"ptmind"的所有目标。如果没有任何匹配项,返回4012。
d) 自定义事件属性 — 分组 + 过滤
请求示例:
两个 filter 都必填,作用不同:独立的
eventNamefilter 把查询整体锁定到gallery_item_impression(聚合范围);eventDimensionfilter 进一步按position == "home"细分(segment)。
e) 流量来源分布 — UTM + 来源类型
请求示例:
f) 新访客 + PC + 日本/中国
请求示例:
g) 排除直接跳出会话
请求示例:
元数据
返回所有可用的 metrics 和 dimensions(含多语言文案,可选 lang 切换)。
请求示例:
响应示例(节选):
可用指标
eventCount
事件发生的次数
INTEGER
sessions
事件发生的访问数
INTEGER
可用维度(用于 dimensions[] 分组)
eventName
事件名称
visitType
访问类型
exitType
退出类型
combinedPages
进入页面
conversionName
转化名称
day
日期
hour
小时
week
周
month
月
sourceType
来源类型
campaignUrl
广告URL
referralSource
外部链接网站
referralUrl
外部链接URL
searchEngine
搜索引擎
socialNetwork
社交网络
socialUrl
社交URL
aiName
AI搜索
utmCampaign
广告名称
utmSource
广告来源
utmMedium
广告媒介
utmContent
广告内容
utmTerm
广告关键词
deviceType
设备类型
deviceBrand
品牌
os
操作系统
osVersion
操作系统版本
browser
浏览器
browserVersion
浏览器版本
screenResolution
分辨率
country
国家/地区
region
省/州
注意事项
dimensions必传,且必须包含字符串"eventName"——事件查询必须按事件名分组。可以在它旁边再加其它维度 /eventDimension对象。维度数量限制:最多 3 个非时间维度 + 至多 1 个时间维度(
day/hour/week/month)。超过任一上限返回 4018。何时必须传
eventNamefilter:满足以下任一情况:dimensions含eventName/ 时间维度之外的字段(如country、sourceType)dimensions含eventDimension对象filters含eventDimension项
形态:
{ "name": "eventName", "op": "include", "value": ["<事件名>"] }。缺失返回 4018。
2.4 Data Center
站点数据分析 —— 站点指标 / 流量来源 / 地理分布 / 设备、OS、浏览器分布 / 按维度查看明细。
请求参数说明
queryType
是
string
查询类型,可选值:overview(按主题的总览数据)、dimension_table(按维度的 Top-N 表格)、metric_curve(单个指标的时间序列)
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
conversionName
否
string
按单个转化目标过滤指标。未传时返回所有转化的指标。仅 dimension_table(除 combinedPages / originalPages / pageGroup 外的 dimension)与 metric_curve(metric ∈ conversions / conversionRate / conversionValue)下生效;其他场景传入返回 4018
lang
否
string
返回标签的语言:EN(默认)、ZH(中文)、JP(日文)。仅影响 overview 的 topic = "metrics" 响应、以及 dimension_table 的 metric 列 label / description。传入非合法值降级为 EN
查询类型
overview — 按主题的总览数据
按主题返回总览数据。
必填: topic,可选值:metrics / sources / location / device。
想看更细的明细(具体搜索引擎 / 引荐 URL / 广告活动名、或 OS / 浏览器分布等)请用
queryType: "dimension_table"配合相应dimension。
topic = "metrics" — 指标总览
请求示例:
响应示例:
topic = "sources" — 流量来源
请求示例:
响应示例:
topic = "location" — 地理分布
请求示例:
响应示例:
topic = "device" — 设备分布
请求示例:
响应示例:
dimension_table — 按维度的 Top-N 表格
返回按某个维度分组的 Top-N 表格。
必填: dimension —— 见 可用维度。
可选: sortBy (string) / sortOrder (asc/desc) / limit(1-1000,默认 1000)。响应固定上限 1000 行。
请求示例:
响应示例:
columns里metric类型列附带label/description(语言由lang字段决定,默认EN)。 Metric 值已按产品 UI 列格式化为字符串:INTEGER 千分位("1,145")、RATE 百分比("52.18%")、avgVisitDurationHH:MM:SS("00:02:49")、avgLoadTime亚秒精度("2.45s")。客户端需要原始数值时按字符串解析。
示例:页面列表
按"进入页面"列出 Top-N,不传 conversionName 时返回所有转化集合的指标。
响应示例:
页面类维度(
combinedPages/originalPages/entryCombinedPages/entryOriginalPages)响应列固定为url+title;pageGroup维度 row 值是组名字符串。关于
conversionName的适用范围:
entryCombinedPages/entryOriginalPages(进入页面)支持:传入后conversions与conversionRate两列只统计指定转化目标(与产品 UI 入口页表格右上角"选择转化目标"下拉一致),其他指标不受影响。
combinedPages/originalPages/pageGroup(页面 / 页面组)不支持:该维度的指标不计算转化目标,传入conversionName将返回4018。
示例:按单个转化目标过滤指标
传 conversionName 后,指标(conversions / conversionRate 等)仅按命中的转化目标计算。
响应示例:
metric_curve — 单个指标的时间序列
返回单个指标的时间序列。
必填: metric,可选值见 可用指标;granularity,可选值:hour / day / week / month。响应中 time 字段格式 YYYY-MM-DD(hour 粒度时为 YYYY-MM-DDTHH)。
hour粒度限制:startDate和endDate必须为同一天,否则返回4002。day/week/month无此限制。
请求示例:
响应示例:
可用指标
visits
INTEGER
访问次数
users
INTEGER
访问者(UV)
pageView
INTEGER
浏览量(PV)
newVisitsRate
RATE
新访次数百分比
returnVisitsRate
RATE
回访次数百分比
avgVisits
RATE
人均访问次数
avgPageView
RATE
人均浏览页数
avgVisitDuration
TIME
平均停留时间
bounceRate
RATE
跳出率
avgLoadTime
TIME
页面平均加载时间
conversions
INTEGER
转化数
conversionRate
RATE
转化率
conversionValue
NUMBER
转化价值
可用维度(用于 queryType: "dimension_table")
country
国家/地区
state
省/州
os
操作系统
osVersion
操作系统版本
browser
浏览器
browserVersion
浏览器版本
resolution
分辨率
brand
品牌
sourceType
来源类型
campaign
广告活动
campaignUrl
广告活动 URL
referral
外部链接
referralUrl
外部链接 URL
search
搜索引擎
socialMedia
社交网络
socialUrl
社交网络 URL
aiName
AI 搜索来源
adSource
UTM 来源
adName
UTM 广告名称
adMedium
UTM 媒介
adTerm
UTM 关键词
adContent
UTM 内容
combinedPages
合参页面
originalPages
原始页面
pageGroup
页面组
entryCombinedPages
入口合参页面
entryOriginalPages
入口原始页面
2.5 Conversion
转化目标分析 —— 完成数 / 转化价值 / 来源分布 / 漏斗分析。
请求参数说明
queryType
是
string
查询类型,可选值:metrics(转化指标)、metric_curve(时间趋势)、sources_breakdown(按来源分布)、ad_name_breakdown(按广告名分布)、ad_source_breakdown(按广告来源分布)、funnel(漏斗)、regular(正向目标列表)、negative(负向目标列表)
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
conversionName
条件必填
string
目标名(必须正好命中 1 个目标,否则 4012)。仅 funnel 必填;其他 queryType 不需要传(即使传了也会被忽略)
metric
条件必填
string
metric_curve 类型必填 —— completions(完成数)/ conversionRate(转化率)/ conversionValue(转化价值)
granularity
条件必填
string
metric_curve 类型必填 —— hour / day / week / month
lang
否
string
返回 label/description 的语言:EN(默认)、ZH、JP。当前仅 queryType = "metrics" 响应使用。传入非合法值降级为 EN
查询类型
metrics — 转化指标
返回 5 个指标:转化数 / 转化率 / 转化价值 / 收益 / 损失。每个指标包装为 { value, label },label 按 lang 字段切换语言。
请求示例:
响应示例:
字段说明:
conversions
完成正向转化的访问次数(所有目标合计)
conversionRate
conversions / 总访问次数
conversionValue
revenue + loss(含负值)
revenue
正向转化目标(cvValue ≥ 0)的总收益
loss
负向转化目标(cvValue < 0)的总损失(负数)
metric_curve — 时间趋势
返回单个转化指标的时间序列。
必填: metric —— completions(完成数)/ conversionRate(转化率)/ conversionValue(转化价值);granularity —— hour / day / week / month。
请求示例:
响应示例:
sources_breakdown — 按来源分布
按流量来源分组查看转化数据。
请求示例:
响应示例:
ad_name_breakdown — 按广告名分布
按广告名(UTM Campaign)分组查看转化数据。
请求示例:
响应示例:
ad_source_breakdown — 按广告来源分布
按广告来源(UTM Source)分组查看转化数据。
请求示例:
响应示例:
funnel — 漏斗
返回漏斗每步的进入数、流失数、向下一步的转化率。
请求示例:
响应示例:
字段说明:
entries
本步骤进入数(external + convert)
external
本步骤的外部进入数(不经过上一步直接进入本步骤)
dropoff
本步骤流出数 = entries − 下一步 convert(末步为 0)
conversionToNextRate
向下一步的转化率(末步为 null)
entryPaths
本步骤外部进入的入口页面 URL 列表,按访问次数降序
dropoffPaths
本步骤流出页面 URL 列表,按访问次数降序;无法追踪的流出归入 Exit
summary.totalConversions
漏斗最终达成数(末步 entries)
summary.totalConversionRate
总转化率 = 末步 entries / 各步 external 之和
regular — 正向转化目标列表
返回所有"正向"(价值 ≥ 0)转化目标各自的指标,每行一个目标。
请求示例:
响应示例:
negative — 负向转化目标列表
结构同 regular,返回所有"负向"(价值 < 0,即流失类)转化目标,每行额外带 loss 字段(绝对损失值)。
注意事项
conversionName仅funnel必填;其他 queryType 不需要传(即使传了也会被忽略)。funnel的conversionName必须正好命中一个目标。命中多个(如"ptmind"同时匹配"ptmind 注册"和"ptmind 购买")时返回 4012 + 列出所有命中名,请使用更精确的名称。用
POST /v1/conversion/goals先查所有目标列表再构造请求。
3. Experience
3.1 获取体验列表
获取当前档案下所有体验的基本信息,包括目标和版本列表。后续接口的 id、goalId、versionId 均来自此接口的返回值。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
请求示例:
响应示例:
id
体验 ID,用于报告接口的 id 参数
name
体验名称
status
状态:DRAFT / RUNNING / PAUSE / SCHEDULED
type
类型:POPUP / STICKY_BAR / INLINE / ADVANCED / REDIRECT
goals
目标列表,用于 A/B 测试接口的 goalId 参数
versions
版本列表,用于表单接口的 versionId 参数
3.2 获取用户属性列表
获取可用的用户属性列表。当维度细分接口 dimension 为 userProperty 时,需要从此接口获取 property 参数。
请求示例:
响应示例:
3.3 体验概览指标
批量查询多个体验的指标数据。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
experiences
是
object[]
体验列表(id + name,来自 list 接口)
metrics
否
string[]
要返回的指标字段。不传返回全部默认指标。支持的字段见下方指标表
lang
否
string
返回语言:EN(默认)、ZH、JP
metrics 支持的字段:
viewedUsers
体验被展示的用户数
value
views
体验被展示的次数
value
clickedUsers
点击体验中按钮或链接的用户数
value
clickRate
点击体验中按钮或链接的用户比率
rate
closedUsers
关闭弹窗或悬浮条的用户数
value
closeRate
关闭弹窗或悬浮条的用户比率
rate
formSubmittedUsers
体验中表单提交的用户数
value
formSubmitRate
体验中表单提交的用户比率
rate
goalReachedUsers
展示体验后达成目标的用户数
value
goalReachRate
查看体验后达成目标的用户比率
rate
goalStatus
按人数占比、属性加和或平均值,展示目标达成情况
value
avgVisitDuration
展示过体验的用户的平均访问时长
time
avgPagesPerVisit
展示过体验的用户每个访问的平均浏览页面数
decimal
bounceRate
展示过体验的访问跳出率
rate
lastUpdatedTime
体验最后被更新的时间
text
lastUpdatedMember
体验最后被更新的成员
text
createdTime
创建体验的时间
text
createdMember
创建体验的成员
text
runningPeriod
体验被运行的时间期间
text
tags
每个体验的自定义属性标签
text
请求示例:
响应示例:
所有指标返回
{ value, label, description }结构,label和description根据lang返回对应语言。
3.4 关键指标
查询单个体验的总体指标。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
id
是
string
体验 ID(来自 list 接口)
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
lang
否
string
返回 label/description 的语言:EN(默认)、ZH、JP
请求示例:
响应示例:
注意:返回的指标会根据体验类型自动过滤。例如 INLINE 类型不会返回
clickedUsers/closedUsers,没有表单的体验不会返回formSubmittedUsers。
3.5 细分详情
按维度分组查询单个体验的指标数据。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
id
是
string
体验 ID(来自 list 接口)
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
dimension
是
string
主维度,详见下方维度表
subDimension
否
string
二级维度
property
条件必填
object
dimension 为 userProperty 时必填,从 user-properties 接口获取
lang
否
string
返回 label/description 的语言:EN(默认)、ZH、JP
dimension 可选值:
visitPage
页面
❌
terminalType
设备类型
✅
sourceType
流量来源
✅
utmCampaign
广告名称
✅
utmSource
广告来源
✅
utmMedium
广告媒介
✅
utmTerm
广告关键词
✅
utmContent
广告内容
✅
sourceUrl
来源 URL
✅
sourceHost
来源域名
✅
aiName
AI 名称
✅
visitType
新访/回访
✅
country
国家/地区
✅(不能和 region 组合)
region
地区
✅(不能和 country 组合)
userProperty
用户属性
❌(需传 property)
userProperty 示例: dimension 为 userProperty 时,必须额外传 property:
请求示例:
响应示例:
3.6 A/B 测试的结果
查询 A/B 测试各版本的指标对比数据,包含 uplift 和胜率。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
id
是
string
体验 ID(来自 list 接口)
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
compareBy
是
string
版本对比基准指标,详见下方
goalId
条件必填
string
compareBy 为 goalReached 时必填(从 list 接口的 goals 获取)
showDeletedVersions
否
boolean
是否包含已删除版本,默认 false
lang
否
string
返回 label/description 的语言:EN(默认)、ZH、JP
compareBy 可选值:
viewedUsers
体验被展示的用户数
clickedUsers
点击体验中按钮或链接的用户数
closedUsers
关闭弹窗或悬浮条的用户数
formSubmittedUsers
体验中表单提交的用户数
goalReached
目标达成(需配合 goalId)
avgVisitDuration
展示过体验的用户的平均访问时长
avgPagesPerVisit
展示过体验的用户每个访问的平均浏览页面数
bounceRate
展示过体验的访问跳出率
请求示例:
响应示例:
返回值只包含
compareBy对应的指标 +uplift+probabilityToBeBest基准版本的
uplift值为"Baseline",其他版本为百分比(如"+50.00%"或"-10.00%")
3.7 A/B 测试的结果 — 细分详情
A/B 测试各版本按维度分组的指标对比。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
id
是
string
体验 ID(来自 list 接口)
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
compareBy
是
string
版本对比基准指标(同 3.6)
goalId
条件必填
string
compareBy 为 goalReached 时必填
dimension
是
string
主维度(同 3.5)
subDimension
否
string
二级维度
property
条件必填
object
dimension 为 userProperty 时必填
showDeletedVersions
否
boolean
是否包含已删除版本,默认 false
lang
否
string
返回 label/description 的语言:EN(默认)、ZH、JP
请求示例:
响应示例:
3.8 表单提交
查询指定版本的表单提交明细数据。
请求参数说明
profileId
是
string
网站 ID(8 位字符串),必须与 API Key 关联的档案匹配。可从 Ptengine 产品 URL 中获取,如 https://www.ptengine.jp/app/{profileId}/home 中的 566d12f9
id
是
string
体验 ID(来自 list 接口)
versionId
是
string
版本 ID(来自 list 接口的 versions)
startDate
是
string
开始日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
endDate
是
string
结束日期,格式:YYYY-MM-DD 或 YYYY/MM/DD
请求示例:
响应示例:
columns为动态表头,根据表单实际字段自动生成
rows每条为一次表单提交,没有值的字段为空字符串
3.9 可用指标
基础指标(所有类型均支持)
viewedUsers
数值
展示用户数
views
数值
展示次数
avgVisitDuration
时长(MM:SS/HH:MM:SS)
平均访问时长
avgPagesPerVisit
小数("2.50")
平均访问页面数
bounceRate
百分比("42.86%")
跳出率
弹窗类指标(仅 POPUP / STICKY_BAR / REDIRECT / ADVANCED 有弹窗时)
clickedUsers
数值
点击用户数
clickRate
百分比
点击率
closedUsers
数值
关闭用户数
closeRate
百分比
关闭率
表单类指标(仅配置了表单的体验)
formSubmittedUsers
数值
表单提交用户数
formSubmitRate
百分比
表单提交率
目标数据
goals[].name
目标名称
goals[].reachedUsers
达成用户数
goals[].reachRate
达成率
goals[].value
达成价值(null = 按用户数统计)
附录
A. 错误码
4010
401
请求头缺少 x-api-key
4011
401
API Key 无效
4030
403
profileId 与 API Key 关联的档案不匹配
4031
403
API Key 缺少查询权限,需要 scope: query
4001
400
无效的 queryType
4002
400
日期格式错误,需为 YYYY-MM-DD 或 YYYY/MM/DD
4003
400
查询日期超出套餐数据存储期限
4006
400
page_insight 类型必须传 funName
4007
400
block_metrics 需要指定设备类型(PC/MOBILE/TABLET),不支持 ALL
4008
400
页面区块未配置,请先在产品中扫描页面
4009
400
element_metrics 需要指定设备类型(PC/MOBILE/TABLET),不支持 ALL
4012
400
未找到匹配的转化目标
4013
400
缺少必填字段(响应消息会指出具体字段名)
4014
400
deviceType 无效,必须是 ALL、PC、MOBILE、TABLET 之一
4015
400
dimension / subDimension 无效(响应消息会指出具体原因)
4016
400
页面元素未配置,请先在产品中扫描页面
4017
400
compareBy 无效(响应消息会列出允许值)
4018
400
字段非法(/event/query / /insight/query / /conversion/query:维度 / 指标 / queryType / topic / granularity 不在允许列表,或维度数量超限)
4019
400
过滤算子或值非法(必须是 include/exclude;value 必须是非空数组;sortOrder/limit 越界)
4040
404
未找到对应的体验(id 在该 profile 下不存在)
4290
429
请求频率超限(每分钟)
4291
429
请求频率超限(每天)
5000
500
服务器内部错误
message 会根据请求的 lang(body 或 query)返回对应语言(EN/ZH/JP);未传或非法值时回退到英文。
最后更新于