公开价格快照 API
匿名只读、预计算快照。禁止当作爬取全站 HTML 的替代导出。数据非实时,购买前请回源站核验。
发现与指针
GET /.well-known/price-snapshot.json— 最新完整快照体GET /api/public/v1/latest.json— latest 指针(snapshot_id / snapshot_url / generated_at)GET /api/public/v1/snapshot.json— 与 well-known 相同的完整快照体
快照字段(最小集)
{
"snapshot_id": "uuid",
"generated_at": "ISO-8601",
"stale": false,
"disclaimer": "…",
"products": [
{
"bucket_key": "claude|pro|finished",
"name": "展示名",
"min_price": 12.34,
"offers": [
{
"id": "offer-id",
"title": "标题",
"price": 12.34,
"shop_name": "店铺",
"url": "https://…"
}
]
}
]
}min_price 仅统计 in_stock 商品;每个标准品最多 Top N 条(配置 public_api.top_n,默认 5)。
重建失败时保留上一份快照,并可能带 stale: true。
缓存与限流建议
- 响应带 Cache-Control(约 60s 浏览器 / 300s CDN)
- 轮询 latest 建议间隔 ≥ 1 分钟
- 无任意搜索、无深分页;二期再考虑 API Key 高级查询
存储说明
优先写入 R2:snapshots/{id}.json与latest.json。若未绑定 R2,回退写入 D1 site_settings(运维需关注体积与吞吐)。