数据看板API包
用途
把业务指标(总览/漏斗/趋势/报表)标准化为统一API,让看板与日报机器人直接取数,告别手工汇总。
输入
- HTTP请求(JSON格式),支持 GET/POST
输出
- JSON响应,统一格式:
{"code":0,"data":{...},"msg":"ok"}
API列表
1. GET /api/dashboard 总览统计
| 参数 | 必填 | 说明 |
|---|---|---|
| totals | 是 | 本期各指标值,如{"leads":120,"called":80} |
| last_totals | 是 | 上期各指标值,用于环比 |
响应 data:{"metrics":[{name,current,last,ratio}...],"summary":"..."};环比 = (current-last)/last,last=0 时 ratio 标记 "N/A"。
2. POST /api/funnel 漏斗分析
| 参数 | 必填 | 说明 |
|---|---|---|
| steps | 是 | 环节数组,[{name,count},...] 至少2个环节且 count 递减 |
响应 data:{"steps":[{name,count,conv}]...};conv = 本环节/上一环节×100%(首环节 conv=100%);出现递增则返回 code 400 提示数据异常。
3. GET /api/trend 趋势数据
| 参数 | 必填 | 说明 |
|---|---|---|
| series | 是 | [{date:"YYYY-MM-DD",value}...] |
| fill_gap | 否 | 缺失日期是否补0,默认true |
响应 data:按日期升序排列的序列;fill_gap=true 时缺失日期自动补 value=0。
4. GET /api/report 报表生成
| 参数 | 必填 | 说明 |
|---|---|---|
| period | 是 | day/week/month |
| metrics | 是 | 指标名数组 |
响应 data:{"period":"...","generated_at":"...","rows":[...],"format":"csv_ready"}
示例
请求:POST /api/funnel body {"steps":[{"name":"线索","count":100},{"name":"有效","count":60},{"name":"成交","count":18}]}
响应:{"code":0,"data":{"steps":[{"name":"线索","count":100,"conv":"100%"},{"name":"有效","count":60,"conv":"60%"},{"name":"成交","count":18,"conv":"30%"}]},"msg":"ok"}
硬性规则
- 所有环比/转化率必须按规则引擎计算,可复算;
- 漏斗环节 count 必须递减,异常数据返回 400 不硬算;
- 趋势缺日自动补0,不伪造缺失数据;
- 报表指标名须来自预置指标表,未知指标返回 400。