65 lines
2.7 KiB
YAML
65 lines
2.7 KiB
YAML
openapi: 3.0.3
|
|
info: {title: 客户独立计费重确认, version: 1.0.0}
|
|
security: [{bearerAuth: []}]
|
|
paths:
|
|
/api/merchant/v1/first-leg/orders/{orderId}/chargeable-weights:
|
|
get:
|
|
summary: 客户读取本票全部独立入仓计费重
|
|
description: 认证客户隔离,要求merchant:order:view;仅返回测量审核通过且计费重为正的分片。
|
|
parameters:
|
|
- {name: orderId, in: path, required: true, schema: {type: integer, format: int64}}
|
|
responses:
|
|
'200':
|
|
description: 标准ApiResponse,认证客户无可确认来源时返回空数组
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code: {type: string, example: '200'}
|
|
message: {type: string}
|
|
data:
|
|
type: array
|
|
items: {$ref: '#/components/schemas/Weight'}
|
|
/api/merchant/v1/first-leg/chargeable-weights/{inboundId}/confirm:
|
|
post:
|
|
summary: 客户独立确认当前计费重
|
|
description: 要求merchant:order:edit。与费用金额确认独立;值或测量轮次变化后旧确认失效。客户范围取认证主体。
|
|
parameters:
|
|
- {name: inboundId, in: path, required: true, schema: {type: integer, format: int64}}
|
|
- {name: Idempotency-Key, in: header, required: true, schema: {type: string, maxLength: 128}}
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [expectedFingerprint]
|
|
properties:
|
|
expectedFingerprint: {type: string, pattern: '^[a-f0-9]{64}$'}
|
|
responses:
|
|
'200':
|
|
description: 标准ApiResponse;版本或异参冲突返回业务冲突码,不改变费用状态
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code: {type: string, example: '200'}
|
|
message: {type: string}
|
|
data: {$ref: '#/components/schemas/Weight'}
|
|
components:
|
|
securitySchemes:
|
|
bearerAuth: {type: http, scheme: bearer, bearerFormat: JWT}
|
|
schemas:
|
|
Weight:
|
|
type: object
|
|
required: [inboundId, orderId, chargeableWeightKg, fingerprint, confirmed]
|
|
properties:
|
|
inboundId: {type: string, description: 独立来源入仓单ID}
|
|
orderId: {type: string, description: 独立订单ID}
|
|
chargeableWeightKg: {type: number}
|
|
fingerprint: {type: string}
|
|
confirmed: {type: boolean}
|
|
confirmedAt: {type: string, format: date-time, nullable: true}
|