前言
一、方案概述
本方案面向商家 / 竞品情报场景,搭建京东商品全维度监控系统,依托京东开放平台官方 API 为主数据源,定时采集 SKU 价格、库存、上下架、促销、店铺信息,通过快照对比引擎识别变更,触发告警,沉淀历史价格趋势,支撑竞品调价、库存预警、活动监测。
合规说明:优先使用京东开放平台授权 API 获取商品数据,禁止未经许可大规模爬取页面,遵守京东开放平台接口调用频次与数据使用协议。
核心监控维度
- 价格:标价、促销价、券后价、历史价格波动
- 库存:SKU 库存数量、有无货状态、区域库存
- 商品状态:在售 / 下架 / 售罄、标题、主图、规格变更
- 营销活动:秒杀、满减、优惠券、赠品
- 店铺信息:店铺名称、店铺评分、商家类型
二、系统架构
四层架构,数据链路:任务调度层 → 数据采集层 → 对比分析层 → 告警 & 存储 & 展示层
- 任务调度层:定时任务(可按 SKU 优先级配置轮询频率,重点 SKU 1~5 分钟,普通 SKU 15~30 分钟);支持批量新增 / 删除监控 SKU 列表;限流控制,避免 API 超限。
- 数据采集层:调用京东开放平台商品、价格、库存接口;统一请求签名、token 鉴权;失败重试、超时熔断;返回原始 JSON。
- 对比分析层:将本次采集快照与上一次数据库快照对比;计算价格变动差值、库存变化;识别变更事件,生成变更消息。
- 告警 & 存储 & 展示层: 存储:商品基础信息、每一次快照数据、变更事件记录(MySQL+Redis,历史快照可存入时序库) 告警:企业微信 / 钉钉 / 短信 / Webhook 推送变更通知 可视化:价格趋势、监控大盘、变更日志
三、业务流程
- 配置监控任务:录入需要监控的 skuId,配置告警阈值(例如降价≥50 元、库存低于 10 触发告警)
- 调度器按周期发起 API 请求,获取商品原始 JSON
- 数据清洗标准化,存入当前快照
- 对比历史快照,判断是否发生变化
- 若存在变更,生成变更事件,匹配告警规则推送通知
- 持久化快照与事件,用于报表、趋势查询
四、JSON 示例,测试示例o0b.cn/anzexi
示例 1:监控任务配置 JSON(系统入库,定义需要监控哪些 SKU 与告警规则)
{ "taskId": "monitor_task_001", "taskName": "竞品手机监控任务", "status": "enable", "cron": "*/5 * * * *", "monitorSkuList": [ { "skuId": "100012345678", "skuName": "Apple iPhone 15 128G 黑色", "alertRules": [ {"type": "price_down", "threshold": 50, "enable": true}, {"type": "stock_less", "threshold": 10, "enable": true}, {"type": "item_offline", "enable": true} ] }, { "skuId": "100012345679", "skuName": "Apple iPhone 15 128G 蓝色", "alertRules": [ {"type": "price_down", "threshold": 100, "enable": true} ] } ], "webhook": "https://xxx/webhook/dingtalk", "createTime": "2026-10-28 10:00:00" }
示例 2:京东 API 返回商品原始数据 JSON(模拟开放平台返回)
{ "code": 0, "msg": "success", "data": { "skuId": "100012345678", "spuId": "100098765432", "title": "Apple iPhone 15 128G 黑色", "brand": "Apple", "category": "手机通讯 > 手机", "shopName": "京东自营Apple产品旗舰店", "shopType": "自营", "priceInfo": { "originalPrice": "5999.00", "salePrice": "5499.00", "couponPrice": "5399.00" }, "stockInfo": { "stockNum": 236, "isAvailable": true, "stockDesc": "现货" }, "itemStatus": "onsale", "mainImage": "https://img10.360buyimg.com/n1/jfs/txxxxxx.jpg", "promotionList": [ {"promotionType": "fullReduce", "desc": "满5000减100"} ], "captureTime": "2026-10-28 14:30:00" } }
示例 3:标准化快照 JSON(清洗后存入数据库,用于对比)
{ "snapshotId": "snap_20261028143000_100012345678", "skuId": "100012345678", "taskId": "monitor_task_001", "title": "Apple iPhone 15 128G 黑色", "originalPrice": "5999.00", "salePrice": "5499.00", "couponPrice": "5399.00", "stockNum": 236, "isAvailable": true, "itemStatus": "onsale", "shopName": "京东自营Apple产品旗舰店", "promotionList": [ {"promotionType": "fullReduce", "desc": "满5000减100"} ], "captureTime": "2026-10-28 14:30:00", "createAt": "2026-10-28 14:30:00" }
示例 4:变更事件 JSON(快照对比后生成,告警消息源)
{ "eventId": "event_20261028143500_100012345678", "taskId": "monitor_task_001", "skuId": "100012345678", "skuName": "Apple iPhone 15 128G 黑色", "eventType": "price_change", "eventDesc": "商品促销价由5499.00下降至5399.00,降幅100元", "before": { "salePrice": "5499.00", "stockNum": 236 }, "after": { "salePrice": "5399.00", "stockNum": 220 }, "triggerRule": "price_down", "eventTime": "2026-10-28 14:35:00", "alertStatus": "pending" }
示例 5:告警推送 JSON(Webhook 发送给钉钉 / 企业微信)
{ "msgType": "text", "content": "【京东商品监控告警】\n商品:Apple iPhone 15 128G 黑色 sku:100012345678\n事件:降价\n原售价:5499.00元 → 当前售价:5399.00元\n库存:220件\n发生时间:2026-10-28 14:35:00", "eventId": "event_20261028143500_100012345678", "skuId": "100012345678" }
适用场景
- 品牌商家监控竞品 SKU 调价、活动节奏
- 自营 / 渠道商家监控自己商品库存、价格异常
- 采购比价:监控目标商品价格低点,辅助采购决策