API 文档

说明 REST 端点、参数与响应模式。

基础 URL: https://appatlas.dev/api/v1

Android SDK 版本

Maven Central 上 dev.appatlas:atlas-links 的最新发布版本。 响应体是单个 JSON 字符串。 Android 构件同版本一起发布,因此这也是 atlas-core、atlas-crash 与 atlas-crash-ndk 的版本。

Apple SDK 版本

CocoaPods trunk 上 AppAtlasSDK 的最新发布版本。 响应体是单个 JSON 字符串。 Swift Package Manager 解析同一个标签,因此这也是 SPM 的版本。

.NET SDK 版本

NuGet 上 AppAtlas.Sdk 的最新发布版本。 响应体是单个 JSON 字符串。

查询 Track ID

将 App Store 的 bundle_id 转换为数字 track_id。 响应体是单个 JSON 字符串。 未知标识符返回 404。

查询 Bundle ID

将 App Store 的 track_id 转换为 bundle_id。 响应体是单个 JSON 字符串。 未知标识符返回 404。

查询 Product ID

将 Microsoft Store 的 package_family_name 转换为 product_id。 响应体是单个 JSON 字符串。 未知标识符返回 404。

查询 Package Family Name

将 Microsoft Store 的 product_id 转换为 package_family_name。 响应体是单个 JSON 字符串。 未知标识符返回 404。 Win32 产品(XP 开头的 ID)没有包家族名称,同样返回 404。

访问令牌

用账户页面签发的 API 密钥换取 1 小时的 Bearer 访问令牌。 每次调用都以 Authorization: Bearer 头发送。 没有刷新令牌。 过期后用密钥重新换取。 撤销密钥会终止兑换并立即作废其现有令牌。

当前权限

返回此刻调用实际会被允许的操作:密钥策略与商店所允许能力的交集。 上次核验过期的商店连接会在本次请求中重新核验,因此在商店端被吊销的密钥会先从 grants 中消失,而不是让你的下一次调用失败。 global 为账户级操作列表;grants 按(商店、操作组合)各一项,应用已合并。 readOnly 仅在既无 grants 也无任何账户级操作时为 true;自有前端的匿名读取以 readOnly true 和空列表作答。

应用信息

单个应用的完整信息:名称、描述、开发者、价格、评分、截图、视频和分类。 每日历史由统计端点提供。

应用构建

你所管理应用的商店已接收构建列表,最新在前,并附带投递邮件会警告的内容。 仅 App Store;其他商店返回空列表。 与官方统计相同的方式进行保护:会话、拥有 data:read 的 API 密钥或嵌入授权可访问,其他调用者得到空列表而非 404,因此不会暴露构建是否存在。

应用统计

每日快照,以及对有管理权限的调用者附带的商店自有统计。 背后不运行页面抓取。 返回多少历史由 <code>span</code> 一个参数决定。

分类

所选列表的商店分类列表。 每项包含显示名称、商店自身 id 以及该分类页面的链接。 按 lang 本地化。 此端点不读取应用标识符。

分类查询

将单个分类 id 解析为本地化的显示名称、商店链接和 embed 地址,与 categories 端点列出的行结构相同。 此端点不读取应用标识符。

排行榜

商店的排行榜(免费、付费或畅销榜),可针对整个商店或单个分类查询。 返回与搜索相同的精简卡片。 此端点不读取应用标识符。

评论

一页用户评论,若存在开发者回复也会一并返回。 将响应中的 token 回传即可翻页。

回复评论

为一条评论发布开发者回复。 若已有回复则替换,即以此方式编辑。 仅限调用者通过已连接商店密钥管理的应用;review_id 必须来自官方评论列表(reviews 的 official=1)。

删除回复

删除一条评论的开发者回复。 仅限 App Store。 Google Play 的 API 只能替换回复而不能删除,因此 play-store 返回 <b>400 unsupported_store</b>。 对没有回复的评论执行删除会静默成功。

翻译评论

将一条评论翻译成请求的语言,并检测原文所用语言。 reviews 端点返回过的任何评论都可以:抓取或官方列表、是否你自己的应用均可。 该响应中每条评论都带有签名的 reviewKey;将其与评论的 title、content 原文一并发回,签名即可证明文本正是我们返回过的原文。 翻译按评论和语言缓存;被编辑过的评论会重新翻译。

回复草稿

为一条评论撰写开发者回复草稿并以文本返回。 不会向任何商店发送内容:发布仍由回复端点和人来完成。 草稿以评论本身的语言撰写,响应还附带同一回复以 lang 语言渲染的副本供核对,两种语言相同时为 null。 与翻译一样,将 reviews 响应中的 reviewKey 连同评论原文一并发回。 相同的评论与选项会免费返回已存草稿;设置 regenerate 可重写(此前的草稿会保留)。

搜索

按关键词搜索商店。返回每个应用的精简卡片,而非完整信息。

相似应用

商店为该应用推荐的相关应用。卡片结构与搜索相同。

新闻

关于该应用的近期文章,按相关性和时效性筛选。 先解析应用名称,再由窄到宽逐级放宽查询,因此冷门应用仍能获得结果,而普通名词类应用不会返回过多噪声。

新闻缩略图

将 Google 新闻的跳转 URL 解析为原文 URL,并提取各自的 og:image。 与商店无关,接受任意文章 URL 列表。

深层链接列表

返回账户下的全部深层链接(最新在前),并附带各自的访问计数。 需要密钥具备 deeplink:read 权限。

创建深层链接

创建链接并连同短网址返回。 short id 由服务端分配,无法指定。 若已用尽套餐的链接额度,将以 403 plan_limit 拒绝。 需要 deeplink:create 权限。

深层链接详情

返回单个链接及其完整路由配置。 需要 deeplink:read 权限。

修改深层链接

替换链接的名称与路由配置。 配置为整体覆盖:未包含的字段会被删除而非保留。 短网址不会改变,已分发的链接继续有效。 需要 deeplink:update 权限。

删除深层链接

删除该链接及其全部访问记录。 短网址立即失效,且该 id 不会被重新分配。 需要 deeplink:delete 权限。

深层链接统计

展示访问的结果:总访问量、独立访客、每次启动最终选择的路径,以及按系统与国家的分布。 在计入访问后数秒内的重复访问会保留为记录,但不计入此处任何数字。 options 始终描述整个周期,因此当前筛选排除的项仍会保留在选择器中。 需要 deeplink:stats 权限。

开始观察

注册该应用,在每日 00:00 UTC 采集快照。 注册后,应用信息响应会附带 snapshots,记录评分、评论数、累计安装量(totalInstalls)和版本随时间的变化。

停止观察

取消注册。已采集的历史数据不会被删除,只是不再采集新快照。

App Atlas · 嵌入文档 · SDK 文档 · 服务条款 · 隐私政策 · Sign up

en · ko