agent-foundation/docs/ngp-performance-api.md
2026-09-23 08:59:29 +08:00

2.4 KiB
Raw Blame History

NGP 业绩合计接口

请求

POST /api/ngp/performance/total

{
  "startDate": "2026-09-01",
  "endDate": "2026-09-06",
  "storeName": "兰教练(抖店)"
}
  • startDate、endDate 必填,包含首尾日期,最多 31 天。
  • storeName 选填;不传或传空字符串时查询全部网点。多个网点可用逗号分隔。
  • 后端通过 ngp.eshopsaleorder.bills 查询网店发货任务,固定按发货时间查询 (timeType=3)、只查询已发货任务 (deliverStatusPackage=100),并启用全部店铺类型 (showAllEshopType=true)。
  • NGP 接口不提供退款状态请求参数;后端会在商品明细层只保留 refundState=4(无需退款),并汇总 disedTaxedTotal(含税金额)。
  • 当前开放接口没有“财务核算成功”请求参数,不能直接复刻 ERP 页面中的该项筛选; 最终金额应使用已知日期的页面合计进行一次对账确认。
  • 业绩缓存记录固定筛选规则的版本。首次部署本规则后,旧的“全部状态”缓存会自动失效并 重新拉取,无需手工清空缓存表;月度每周统计也会使用同一份新缓存。
  • NGP 每页最多查询 200 条;服务会读取全部页面后返回合计。

响应

{
  "success": true,
  "startDate": "2026-09-01",
  "endDate": "2026-09-06",
  "storeName": "全部网点",
  "totalAmount": 4908668.47,
  "formattedTotal": "4,908,668.47",
  "currency": "CNY"
}

缓存未准备好时返回 HTTP 202,并在后台按天汇总:

{
  "success": false,
  "status": "PROCESSING",
  "message": "后台正在汇总 6 天的数据,请稍后重试",
  "pendingDays": 6,
  "retryAfterSeconds": 10
}

调用方应按照 retryAfterSeconds 重新发送相同请求。完成后的每日各网点金额保存到 MySQL 表 ngp_performance_daily_total,日期完成状态保存到 ngp_performance_daily_status。相同日期的并发请求只触发一次后台任务。

部署配置

NGP 的 AppKey、AppSecret、access token 和 refresh token 位于 application.yml 的 foundation.ngp 节点。access token 失效时服务会使用 refresh token 自动刷新,并在当前 进程内保存新 token。配置文件含明文凭据,只能保存在私有仓库并限制读取权限。

历史日期结果默认缓存 24 小时,包含今天的结果默认缓存 10 分钟。