Market NinjaMarket Ninja
使用场景

价格历史

什么时候搜索响应中的当前价格就够用,什么时候需要专门的历史记录端点——附带监控示例。

您已经拥有当前价格

GET /productsGET /products/{id} 返回的每个商品都已包含 prices 数组—— 每个实际观测到的(国家、地区、登录状态)组合各占一条记录:

"prices": [
  {
    "country_code": "ru",
    "region_code": null,
    "user_auth_status": "anonymous",
    "price": 7093,
    "old_price": 8651,
    "currency": "RUB",
    "recorded_at": "2026-08-02T23:21:53.185302+00:00"
  }
]
country_code 反映的是市场平台自身的国家域名版本(例如 Wildberries 的 .ru/.kz/.by/.am 站点)——同一个商品 id 在不同国家可能确实对应不同价格,因此它与 region_code(一个更细粒度、经常缺失的收货地址信号)是独立的分组维度。
专门的 GET /products/{id}/price-history 调用用于趋势分析——如果您只需要当前价格,完全不需要调用它。

何时需要历史记录

GET /products/{id}/price-history 返回完整的观测时间序列——用于绘图、追踪价格变动频率, 或计算某段时间内的平均值。

curl -G -H "Authorization: Bearer mn_live_..." \
  "https://data.marketninja.ru/v1/products/e86bee19-9cc9-4a83-b9cc-6b61f1209d90/price-history" \
  --data-urlencode "from=2026-08-01T00:00:00Z" \
  --data-urlencode "to=2026-08-02T23:59:59Z"
{
  "data": [
    { "price": 7093, "old_price": 8651, "recorded_at": "2026-08-02T23:21:53.185302+00:00", "...": "..." },
    { "price": 6993, "old_price": 8688, "recorded_at": "2026-08-01T01:03:17.999423+00:00", "...": "..." }
  ],
  "meta": { "total": 2, "page": 1, "page_size": 100 }
}

fromto 都是可选的——省略它们即可获得完整的可用历史记录,按最新优先排序。 需要指定国家、地区或登录状态(访客还是登录用户)?添加 country_coderegion_code 和/或 user_auth_status 即可。

持续监控

您不需要把整段历史都存一份本地副本才能追踪价格变化——定期(例如每天一次)轮询该端点, 把 from 设为您上次成功轮询的时间戳,只把新记录追加到自己的数据库里:

# 示例:只获取上次检查之后的新记录
curl -G -H "Authorization: Bearer mn_live_..." \
  "https://data.marketninja.ru/v1/products/e86bee19-9cc9-4a83-b9cc-6b61f1209d90/price-history" \
  --data-urlencode "from=2026-08-02T23:21:53Z"
商品的 id 永远不会改变——与其他每个场景一样,在首次搜索后保存下来(参阅 API 概览),此后每次检查都不必重复调用 GET /products

Last updated on

On this page