feat(file-print): support ocean booking documents
This commit is contained in:
@@ -173,6 +173,7 @@ components:
|
||||
type: string
|
||||
maxLength: 120
|
||||
example: BYSE2607044-托运书.pdf
|
||||
description: 未传时托运书为{jobNumber}-出口货物托运单.pdf,提单确认件为{bookingNumber}-提单确认件.pdf
|
||||
documents:
|
||||
type: array
|
||||
minItems: 1
|
||||
@@ -192,21 +193,77 @@ components:
|
||||
enum: [297]
|
||||
FreightA4Document:
|
||||
type: object
|
||||
required: [fields, cargoRows]
|
||||
x-template-contracts:
|
||||
SEA_FREIGHT_SHIPPING_INSTRUCTION_A4_V1:
|
||||
required: [toCompany, shipper, consignee, notifyParty, jobNumber, cargoQuantity, portOfLoading, portOfDischarge, placeOfDelivery, totalPackagesInWords]
|
||||
optional: [issuerNameCn, issuerNameEn, issuerAddress, issuerPostalCode, issuerTel, issuerFax, picName, picTel, picFax, documentName, documentTel, documentFax, etdDate, serviceTerm, freightTerm, apCode, apName, transshipment, partialShipment, oceanVesselVoyage, remark, carrier, bookingAgent, printDate]
|
||||
BILL_OF_LADING_CONFIRMATION_A4_V1:
|
||||
required: [shipper, consignee, notifyParty, bookingNumber, portOfLoading, portOfDischarge, placeOfDelivery, serviceTerm, freightTerm, totalPackagesInWords]
|
||||
optional: [ensAmsCutoffDate, customsCutoffDate, expectedDepartureDate, oceanVesselVoyage, finalDestination, shipperLoadCountSeal, containerSpec, shippedOnBoard, draftText, containerSummary, notes, issuePlace, issueDate]
|
||||
properties:
|
||||
fields:
|
||||
type: object
|
||||
additionalProperties:
|
||||
type: string
|
||||
maxLength: 4000
|
||||
description: Template field map. Known keys are documented in the print module README.
|
||||
additionalProperties: false
|
||||
description: 只能提交所选模板登记的键;未知键和缺少必填键返回A0422。
|
||||
properties:
|
||||
toCompany: {$ref: '#/components/schemas/FreightField'}
|
||||
issuerNameCn: {$ref: '#/components/schemas/FreightField'}
|
||||
issuerNameEn: {$ref: '#/components/schemas/FreightField'}
|
||||
issuerAddress: {$ref: '#/components/schemas/FreightField'}
|
||||
issuerPostalCode: {$ref: '#/components/schemas/FreightField'}
|
||||
issuerTel: {$ref: '#/components/schemas/FreightField'}
|
||||
issuerFax: {$ref: '#/components/schemas/FreightField'}
|
||||
shipper: {$ref: '#/components/schemas/FreightField'}
|
||||
consignee: {$ref: '#/components/schemas/FreightField'}
|
||||
notifyParty: {$ref: '#/components/schemas/FreightField'}
|
||||
picName: {$ref: '#/components/schemas/FreightField'}
|
||||
picTel: {$ref: '#/components/schemas/FreightField'}
|
||||
picFax: {$ref: '#/components/schemas/FreightField'}
|
||||
documentName: {$ref: '#/components/schemas/FreightField'}
|
||||
documentTel: {$ref: '#/components/schemas/FreightField'}
|
||||
documentFax: {$ref: '#/components/schemas/FreightField'}
|
||||
jobNumber: {$ref: '#/components/schemas/FreightField'}
|
||||
etdDate: {$ref: '#/components/schemas/FreightField'}
|
||||
serviceTerm: {$ref: '#/components/schemas/FreightField'}
|
||||
freightTerm: {$ref: '#/components/schemas/FreightField'}
|
||||
apCode: {$ref: '#/components/schemas/FreightField'}
|
||||
apName: {$ref: '#/components/schemas/FreightField'}
|
||||
cargoQuantity: {$ref: '#/components/schemas/FreightField'}
|
||||
transshipment: {$ref: '#/components/schemas/FreightField'}
|
||||
partialShipment: {$ref: '#/components/schemas/FreightField'}
|
||||
oceanVesselVoyage: {$ref: '#/components/schemas/FreightField'}
|
||||
portOfLoading: {$ref: '#/components/schemas/FreightField'}
|
||||
portOfDischarge: {$ref: '#/components/schemas/FreightField'}
|
||||
placeOfDelivery: {$ref: '#/components/schemas/FreightField'}
|
||||
totalPackagesInWords: {$ref: '#/components/schemas/FreightField'}
|
||||
remark: {$ref: '#/components/schemas/FreightField'}
|
||||
carrier: {$ref: '#/components/schemas/FreightField'}
|
||||
bookingAgent: {$ref: '#/components/schemas/FreightField'}
|
||||
printDate: {$ref: '#/components/schemas/FreightField'}
|
||||
bookingNumber: {$ref: '#/components/schemas/FreightField'}
|
||||
ensAmsCutoffDate: {$ref: '#/components/schemas/FreightField'}
|
||||
customsCutoffDate: {$ref: '#/components/schemas/FreightField'}
|
||||
expectedDepartureDate: {$ref: '#/components/schemas/FreightField'}
|
||||
finalDestination: {$ref: '#/components/schemas/FreightField'}
|
||||
shipperLoadCountSeal: {$ref: '#/components/schemas/FreightField'}
|
||||
containerSpec: {$ref: '#/components/schemas/FreightField'}
|
||||
shippedOnBoard: {$ref: '#/components/schemas/FreightField'}
|
||||
draftText: {$ref: '#/components/schemas/FreightField'}
|
||||
containerSummary: {$ref: '#/components/schemas/FreightField'}
|
||||
notes: {$ref: '#/components/schemas/FreightField'}
|
||||
issuePlace: {$ref: '#/components/schemas/FreightField'}
|
||||
issueDate: {$ref: '#/components/schemas/FreightField'}
|
||||
cargoRows:
|
||||
type: array
|
||||
minItems: 1
|
||||
maxItems: 1
|
||||
description: V1 templates render at most one cargo row. Callers must not send additional rows.
|
||||
description: V1模板固定恰好一行货物,六个字段均必填且非空。
|
||||
items:
|
||||
$ref: '#/components/schemas/FreightA4CargoRow'
|
||||
FreightA4CargoRow:
|
||||
type: object
|
||||
required: [marksAndNos, quantity, packaging, descriptionOfGoods, grossWeight, measurement]
|
||||
properties:
|
||||
marksAndNos:
|
||||
type: string
|
||||
@@ -220,6 +277,9 @@ components:
|
||||
type: string
|
||||
measurement:
|
||||
type: string
|
||||
FreightField:
|
||||
type: string
|
||||
maxLength: 4000
|
||||
ApiError:
|
||||
type: object
|
||||
required: [code, message]
|
||||
|
||||
Reference in New Issue
Block a user