agent-foundation/docs/ngp-sales-income-api.md
2026-09-09 16:23:36 +08:00

57 lines
1.6 KiB
Markdown

# NGP 销售收入合计接口
## 请求
`POST /api/ngp/sales-income/total`
```json
{
"startDate": "2026-08-03",
"endDate": "2026-08-10",
"businessType": "普通销售",
"employeeName": "蔡少华",
"storeName": ""
}
```
- `startDate`、`endDate` 和 `businessType` 必填,日期范围最多 31 天。
- `employeeName` 和 `storeName` 选填;不传或传空字符串时不限制对应条件。
- 日期包含首尾两天,时间范围为开始日 `00:00:00` 至结束日 `23:59:59`。
- 服务按 `businessTypeName`、`efullname`、`ofullname` 精确筛选,并汇总
`detailList.currencyDisedTaxedTotal`;缺少明细时使用 `currencyBillTotal`。销售出库在
NGP 原始数据中可能使用负数表示出库方向,接口按页面“销售收入”口径取绝对值后返回正数。
## 成功响应
```json
{
"success": true,
"startDate": "2026-08-03",
"endDate": "2026-08-10",
"businessType": "普通销售",
"employeeName": "蔡少华",
"storeName": "全部店铺",
"salesIncomeAmount": 102719.35,
"formattedSalesIncome": "102,719.35",
"currency": "CNY"
}
```
## 缓存处理中
每日维度缓存缺失或过期时返回 HTTP `202`,并在后台读取 NGP 全部分页:
```json
{
"success": false,
"status": "PROCESSING",
"message": "后台正在汇总 8 天的销售收入数据,请稍后重试",
"pendingDays": 8,
"retryAfterSeconds": 10
}
```
调用方按照 `retryAfterSeconds` 重试相同请求。历史日缓存默认 24 小时,当日缓存默认
10 分钟。缓存表为 `ngp_sales_income_daily_total` 和
`ngp_sales_income_daily_status`。