API 文档

销量预测服务 API 调用文档

线上试用

本文档介绍销量预测服务的核心接口、请求方式、响应结构以及 Python 和 cURL 调用示例。

Base URL
https://open.redgecko.cn
API 版本
/api/v1
认证方式
API Key(Header: X-API-Key)

1. 销量预测接口

`daily_predict` 接口用于根据历史交易数据预测指定门店和商品未来若干天的销量。

接口信息

项目 内容
接口路径 POST /api/v1/店铺tag/daily_predict
功能说明 根据历史交易数据预测指定门店和商品未来指定天数的销量,0表示预测当前日期,预测值为-1表示数据量交少或者数据极度不连续等原因导致预测置信度较低。
认证要求 需要 API Key

请求 Headers

X-API-Key: {your_api_key}
Content-Type: application/json

请求体参数

参数名 类型 必填 说明
store_code string 门店编码
product_code string 商品编码
last_data array[object] 历史交易数据列表
predict_days integer 预测天数,默认 1 天,0表示预测当前日期,最大值根据项目沟通确定

`last_data` 数据项字段说明

字段名 类型 说明
日期 string 交易日期,格式 YYYY.MM.DD
门店 string 门店名称
门店编号 string 门店编码
商品编码 string 商品编码
商品名称 string 商品名称
商品状态 string 商品状态
经营方式 string 经营方式
库存单位 string 库存单位
实销数量 number 实际销售数量
销售成本 number 销售成本
… 其他字段(实销金额、未税实销金额、未税销售成本等)详见完整数据模型

请求示例

{ "store_code": "2495", "product_code": "920896", "predict_days": 3, "last_data": [ { "日期": "2026.06.30", "门店": "***", "门店编号": "***", "商品编码": "***", "商品名称": "***", "商品状态": "***", "经营方式": "***", "库存单位": "EA", "实销数量": 1, "实销金额": 3.72, "未税实销金额": 3.72, "销售成本": 3.2714, "未税销售成本": 3.2714, "未税基础毛利": 0.4486, "毛利补偿": 0.0, "未税毛利补偿": 0.0, "未税净毛利": -2.8228, "未税净毛利率": -0.758817204301, "未税商损金额": -3.2714 } ] }

响应参数

参数名 类型 说明
request_id string 请求唯一标识
status string 处理状态(success/failed)
message string 处理消息
data object 预测结果数据
data.store_code string 门店编码
data.product_code string 商品编码
data.predict_days integer 预测天数
data.current_date string 当前日期
data.predictions array 预测结果列表
data.predictions[].predict_date string 预测日期
data.predictions[].predict_sales float 预测销量
data.predictions[].lower_bound float 预测下限
data.predictions[].upper_bound float 预测上限
processing_time float 处理耗时(秒)

响应示例

{ "request_id": "abc123def4567890", "status": "success", "message": "销量预测完成,预测未来3天数据", "data": { "store_code": "2495", "product_code": "920896", "predict_days": 3, "current_date": "2026-07-01", "predictions": [ { "predict_date": "2026-07-01", "predict_sales": 1.2, "lower_bound": 0.8, "upper_bound": 1.6 }, { "predict_date": "2026-07-02", "predict_sales": 1.5, "lower_bound": 1.0, "upper_bound": 2.0 }, { "predict_date": "2026-07-03", "predict_sales": 1.8, "lower_bound": 1.2, "upper_bound": 2.4 } ] }, "processing_time": 2.34 }

cURL 调用示例

curl -X POST "http://127.0.0.1:8000/api/v1/wm/daily_predict" \ -H "X-API-Key: your_api_key" \ -H "Content-Type: application/json" \ -d '{ "store_code": "2495", "product_code": "920896", "predict_days": 3, "last_data": [...] }'

2. 数据强化训练

`daily_learn` 接口用于向指定门店添加新的历史交易数据,以便模型持续学习和迭代,如果通过该接口按照门店更新模型的训练数据,则调用预测接口时可以不传递历史数据。

接口信息

项目 内容
接口路径 POST /api/v1/wm/daily_learn
功能说明 向指定门店添加新的历史交易数据,用于模型学习
认证要求 需要 API Key

请求 Headers

X-API-Key: {your_api_key}
Content-Type: application/json

请求体参数

参数名 类型 必填 说明
store_code string 门店编码
data_list array[object] 新交易数据列表(字段同 last_data

请求示例

{ "store_code": "2495", "data_list": [ { "日期": "2026.07.03", "门店": "盒*马**店", "门店编号": "****", "商品编码": "****", "商品名称": "***", "商品状态": "正常商品", "经营方式": "自营", "库存单位": "EA", "实销数量": 1, "实销金额": 3.72, "未税实销金额": 3.72, "销售成本": 3.2714, "未税销售成本": 3.2714, "未税基础毛利": 0.4486, "毛利补偿": 0.0, "未税毛利补偿": 0.0, "未税净毛利": -2.8228, "未税净毛利率": -0.758817204301, "未税商损金额": -3.2714 } ] }

响应参数

参数名 类型 说明
request_id string 请求唯一标识
status string 处理状态(success/failed)
message string 处理消息
data object 处理结果
data.store_code string 门店编码
data.result string 写入结果
processing_time float 处理耗时(秒)

响应示例

{ "request_id": "abc123def4567890", "status": "success", "message": "数据添加完成", "data": { "store_code": "2495", "result": "写入成功" }, "processing_time": 0.15 }

cURL 调用示例

curl -X POST "http://127.0.0.1:8000/api/v1/wm/daily_learn" \ -H "X-API-Key: your_api_key" \ -H "Content-Type: application/json" \ -d '{ "store_code": "2495", "data_list": [...] }'

Python 调用示例

使用 Python `requests` 库快速调用预测与数据添加接口。

import requests BASE_URL = "http://127.0.0.1:8000" API_KEY = "your_api_key" def predict_sales(): """销量预测""" url = f"{BASE_URL}/api/v1/wm/daily_predict" payload = { "store_code": "2495", "product_code": "920896", "predict_days": 3, "last_data": [ { "日期": "2026.06.30", "门店": "****", "门店编号": "****", "商品编码": "****", "商品名称": "****", "商品状态": "正常商品", "经营方式": "自营", "库存单位": "EA", "实销数量": 1, "实销金额": 3.72, "未税实销金额": 3.72, "销售成本": 3.2714, "未税销售成本": 3.2714, "未税基础毛利": 0.4486, "毛利补偿": 0.0, "未税毛利补偿": 0.0, "未税净毛利": -2.8228, "未税净毛利率": -0.758817204301, "未税商损金额": -3.2714 } ] } headers = { "Content-Type": "application/json", "X-API-Key": API_KEY } response = requests.post(url, json=payload, headers=headers) print(response.json()) def add_data(): """添加交易数据""" url = f"{BASE_URL}/api/v1/wm/daily_learn" payload = { "store_code": "2495", "data_list": [ { "日期": "2026.07.03", "门店": "***", "门店编号": "***", "商品编码": "***", "商品名称": "***", "商品状态": "正常商品", "经营方式": "自营", "库存单位": "EA", "实销数量": 1, "实销金额": 3.72, "未税实销金额": 3.72, "销售成本": 3.2714, "未税销售成本": 3.2714, "未税基础毛利": 0.4486, "毛利补偿": 0.0, "未税毛利补偿": 0.0, "未税净毛利": -2.8228, "未税净毛利率": -0.758817204301, "未税商损金额": -3.2714 } ] } headers = { "Content-Type": "application/json", "X-API-Key": API_KEY } response = requests.post(url, json=payload, headers=headers) print(response.json()) if __name__ == "__main__": add_data() predict_sales()

错误码说明

接口返回状态码与常见错误响应示例。

状态码 说明
200 请求成功
400 请求参数错误
401 API Key 无效或缺失
413 文件过大
500 服务器内部错误

错误响应示例

{ "detail": "预测天数不能超过7天" }