2026-08-08 22:36:41 +08:00
openapi : 3.0.3
info :
2026-08-31 18:14:36 +08:00
title : Phase 3 Loading and Picking API
2026-08-08 22:36:41 +08:00
version : 1.0.0
paths :
/api/platform/v1/inbounds/{inboundId}/loading/picking/start:
post :
2026-08-09 11:21:38 +08:00
summary : Refresh the compatibility projection from canonical container PDA tasks
deprecated : true
description : expectedCount and pickedCount must exactly match the server-derived container-task aggregate.
2026-08-08 22:36:41 +08:00
parameters : [ {$ref : '#/components/parameters/InboundId' }, {$ref : '#/components/parameters/TenantId' }, {$ref : '#/components/parameters/IdempotencyKey' }]
requestBody :
required : true
content :
application/json : {schema : {$ref : '#/components/schemas/PickingRequest' }}
responses :
'200' : {description : Business envelope containing IN_PROGRESS task}
/api/platform/v1/inbounds/{inboundId}/loading/picking/complete:
post :
2026-08-09 11:21:38 +08:00
summary : Mark the compatibility projection complete after all container PDA tasks are reviewed
deprecated : true
description : This endpoint cannot complete canonical picking; counts must match the server aggregate and every related container task must already be completed.
2026-08-08 22:36:41 +08:00
parameters : [ {$ref : '#/components/parameters/InboundId' }, {$ref : '#/components/parameters/TenantId' }, {$ref : '#/components/parameters/IdempotencyKey' }]
requestBody :
required : true
content :
application/json : {schema : {$ref : '#/components/schemas/PickingRequest' }}
responses :
'200' : {description : Business envelope containing COMPLETED task}
/api/platform/v1/inbounds/{inboundId}/loading/picking:
get :
summary : Read the inbound-level PDA picking task
parameters : [ {$ref : '#/components/parameters/InboundId' }, {$ref : '#/components/parameters/TenantId' }]
responses :
'200' : {description : Business envelope containing task or null}
/api/platform/v1/inbounds/{inboundId}/loading/complete:
post :
2026-08-17 15:41:42 +08:00
summary : Compatibility endpoint for completing loading after the canonical PDA confirmation
2026-08-17 15:55:11 +08:00
description : Canonical PDA confirmation atomically completes task, plan and inbound LOADED. This endpoint remains an idempotent server-side completion primitive; RELEASED booking, completed plan/picking and five ACTIVE evidence types remain hard gates. Truck status is not a prerequisite; the canonical PDA action completes the unique active appointment for the stable container booking when one exists.
2026-08-08 22:36:41 +08:00
parameters : [ {$ref : '#/components/parameters/InboundId' }, {$ref : '#/components/parameters/TenantId' }, {$ref : '#/components/parameters/IdempotencyKey' }]
requestBody :
required : true
content :
application/json : {schema : {$ref : '#/components/schemas/CompleteLoadingRequest' }}
responses :
'200' : {description : Business envelope containing LOADED status}
components :
parameters :
InboundId : {name : inboundId, in : path, required : true, schema : {type : integer, format : int64, minimum : 1 }}
TenantId : {name : tenantId, in : query, required : true, schema : {type : integer, format : int64, minimum : 1 }}
IdempotencyKey : {name : Idempotency-Key, in : header, required : true, schema : {type : string, maxLength : 128 }}
schemas :
PickingRequest :
type : object
required : [ expectedVersion, expectedCount, pickedCount]
properties :
expectedVersion : {type : integer, minimum : 0 }
expectedCount : {type : integer, minimum : 1 }
pickedCount : {type : integer, minimum : 0 }
remark : {type : string, maxLength : 1000 }
CompleteLoadingRequest :
type : object
required : [ expectedVersion]
properties :
expectedVersion : {type : integer, minimum : 0 }
remark : {type : string, maxLength : 1000 }