51 lines
3.0 KiB
YAML
51 lines
3.0 KiB
YAML
openapi: 3.0.3
|
||
info:
|
||
title: 库存周转后台导出
|
||
version: 1.0.0
|
||
description: File 下载中心生成 XLSX,Lastleg 内部 Provider 按固定库存周转版本供数。浏览器不分页取数、不生成文件。
|
||
paths:
|
||
/api/platform/v1/files/export-tasks:
|
||
post:
|
||
summary: 提交库存周转 Excel 导出
|
||
description: |
|
||
仅平台、非代登录身份及 platform:self-operated-analytics:export 权限。
|
||
保留列表的 sourceAccount、warehouseCode、endDate、baseWindowDays、groupBy、customerCodes、sku、focus、coverageDaysThreshold、turnoverStatus、sortBy、hideZeroInventory、snapshotContext。
|
||
columns 为当前显示列的有序白名单键,服务端决定列名、格式并追加周转率证据列;expectedTotal 为已查询总条数,范围0至200000。
|
||
不接受 current/size/includeOverview。snapshotContext 最长16000字符,整组参数最大64KiB。空结果生成只有表头的文件。
|
||
后台每批最多100条,沿用固定上下文30分钟有效期;过期、服务重启或历史版本失效须刷新列表重新提交,不自动改用新版本。
|
||
版本或条数变化、分页缺失、超行数、生成失败时不提供部分文件。下载中心复用进度、临时失败退避重试、归属校验及过期规则。
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
required: [exportType, format, taskName, parameters]
|
||
properties:
|
||
exportType: {type: string, enum: [SELFOP_INVENTORY_TURNOVER]}
|
||
format: {type: string, enum: [XLSX]}
|
||
taskName: {type: string, maxLength: 128}
|
||
parameters:
|
||
type: object
|
||
required: [sourceAccount, warehouseCode, endDate, baseWindowDays, snapshotContext, columns, expectedTotal]
|
||
properties:
|
||
snapshotContext: {type: string, minLength: 1, maxLength: 16000}
|
||
columns: {type: array, minItems: 1, maxItems: 30, uniqueItems: true, items: {type: string}}
|
||
expectedTotal: {type: integer, minimum: 0, maximum: 200000}
|
||
additionalProperties: true
|
||
responses:
|
||
'200': {description: ApiResponse 包装下载中心任务;业务错误遵循通用 code 契约}
|
||
'403': {description: 无平台自营导出权限或非平台身份}
|
||
/api/platform/v1/files/export-tasks/{taskId}/download:
|
||
get:
|
||
summary: 下载后台生成的库存周转 Excel
|
||
description: 校验任务归属、完成状态、有效期,以及当前非代登录身份和平台自营导出权限。
|
||
parameters:
|
||
- {name: taskId, in: path, required: true, schema: {type: string}}
|
||
responses:
|
||
'200':
|
||
description: XLSX 文件
|
||
content:
|
||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
|
||
schema: {type: string, format: binary}
|