API specfication for QuayConnect eCustoms (0.2.6)
Download OpenAPI specification:Download
This API specification describes the functionalities for creating EU export and UK import customs declarations.
The main data structure in QuayConnect is a consignment which is the equivalent of a single sales order or invoice. Multiple consignment can be linked together through a voyageReference, which can be useful if multiple orders are shipped in a single container or trailer. In that case a transport order number, container number or trailer licence plate can be provided in the voyageNumber field to link multiple shipments together.
Create a new shipment.
This will automatically trigger the services that are configured for this organisation. The service configuration is a one-time setup that happens in the QuayConnect web appplication.
Authorizations:
Request Body schema: application/json
QuayConnect native data format.
| shipmentReference required | string Unique reference number for this shipment / consignment, e.g. invoice reference. Export: required Import: required |
| voyageReference | string Unique reference for the voyage/truck/container, e.g. transport order id or trailer license plate can be used to group several consignments under a single trip. Export: optional Import: optional |
| shipmentType required | string Enum: "FCL" "LCL" "FTL" "LTL" FCL = Full Container Load LCL = Less than Container Load FTL = Full Truck Load LTL = Less than Truck Load Export: required Import: required |
required | object Details of the voyage/transport. Export: required |
required | object Details stated on the invoice |
object | |
Array of objects Goods shipped in this shipment. As mentioned on the respecive invoice. |
Responses
Request samples
- Payload
{- "shipmentReference": 512238,
- "voyageReference": 12346798,
- "shipmentType": "LCL",
- "voyage": {
- "eurotunnel": true,
- "haulier": {
- "code": "string",
- "details": {
- "legalName": "Truckershop X Gmbh",
- "eori": "DE01234678912",
- "vat": "84124738AB",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "houseNumberAddition": "string",
- "postalCode": "string",
- "city": "string",
- "country": "string"
}
}
}, - "container": {
- "number": "BICU1234567",
- "seals": [
- "ABC12346789"
]
}, - "trailer": {
- "licensePlate": "TS-X-123",
- "nationality": "NL"
}, - "carrier": {
- "codeSCAC": "STNL",
- "name": "Stena Line"
}, - "vessel": {
- "name": "Stena Brittanica",
- "nationality": "GB"
}, - "placeOfLoading": {
- "country": "string",
- "locationCode": "string"
}, - "portOfLoading": {
- "unLocode": "NLRTM"
}, - "portOfDischarge": {
- "unLocode": "NLRTM"
}, - "placeOfDelivery": {
- "country": "string",
- "locationCode": "string"
}, - "exportCustoms": {
- "transitDepartureRequired": true,
- "transitCustomsOffice": "string",
- "destinationCustomsOffice": "string",
- "exitCustomsOffice": "string"
}, - "eta": "01-04-2023 12:15"
}, - "invoice": {
- "isProforma": true,
- "invoiceReference": 12346789,
- "incoterms": "DDP",
- "incotermsLocation": null,
- "invoiceValue": {
- "amount": 1000,
- "currency": "EUR"
}, - "airTransportCost": {
- "amount": 1000,
- "currency": "EUR"
}, - "freightCost": {
- "amount": 1000,
- "currency": "EUR"
}, - "insuranceCost": {
- "amount": 1000,
- "currency": "EUR"
}
}, - "parties": {
- "consignor": {
- "code": "string",
- "details": {
- "legalName": "Truckershop X Gmbh",
- "eori": "DE01234678912",
- "vat": "84124738AB",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "houseNumberAddition": "string",
- "postalCode": "string",
- "city": "string",
- "country": "string"
}
}
}, - "consignee": {
- "code": "string",
- "details": {
- "legalName": "Truckershop X Gmbh",
- "eori": "DE01234678912",
- "vat": "84124738AB",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "houseNumberAddition": "string",
- "postalCode": "string",
- "city": "string",
- "country": "string"
}
}
}, - "seller": {
- "code": "string",
- "details": {
- "legalName": "Truckershop X Gmbh",
- "eori": "DE01234678912",
- "vat": "84124738AB",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "houseNumberAddition": "string",
- "postalCode": "string",
- "city": "string",
- "country": "string"
}
}
}, - "buyer": {
- "code": "string",
- "details": {
- "legalName": "Truckershop X Gmbh",
- "eori": "DE01234678912",
- "vat": "84124738AB",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "houseNumberAddition": "string",
- "postalCode": "string",
- "city": "string",
- "country": "string"
}
}
}
}, - "goods": [
- {
- "description": "Cucumbers",
- "commodityCode": 707000599,
- "countryOfOrigin": "NL",
- "grossWeight": 1000,
- "netWeight": 900,
- "value": 900,
- "customsStatusBonded": false,
- "supplementaryUnits": 100,
- "packagingQuantity": 100,
- "packagingQuantityUnit": "PK",
- "packagingMarks": "string",
- "additionalPackaging": [
- {
- "quantity": 500,
- "quantityUnit": "PK",
- "marks": null
}
], - "eppoCode": "CUMSA",
- "species": "Cucumis sativus",
- "class": "Class I",
- "variety": "Plum",
- "documents": [
- {
- "quality": {
- "number": "KCB/2023/123456",
- "issueDate": "21-03-2023"
}, - "phyto": {
- "number": "KCB/2023/123456",
- "issueDate": "21-03-2023"
}, - "organic": {
- "number": "KCB/2023/123456",
- "issueDate": "21-03-2023"
}
}
]
}
]
}Response samples
- 201
- 400
- 401
- 500
{- "shipmentId": "string"
}Create a new shipment with a non-native format.
This endpoint allows to create shipments using other data formats than the native format used for the /shipments endpoint. The data format used should be fixed on a per-company basis. Using the token, QuayConnect determines the organisation and associated data format to parse the received input.
Authorizations:
Request Body schema:
The non-native data format agreed upon in the onboarding process.
Responses
Request samples
- Payload
{ }Response samples
- 201
- 400
- 401
- 500
{- "shipmentId": "string"
}Upload supporting documents to a given shipment.
Some documents are required by the customs agent to process the. This endpoint allows to attach those documents to a previously created shipment.
Authorizations:
Request Body schema: application/json
document data
| dataBase64 | string Base64 encoded data of the document. |
| filename | string Name of the file. |
| documentIdentifier | string Unique identifier of the document (e.g. invoice number). |
| documentType | string Enum: "phytosanitary" "invoice" "health-certificate" "certificate-of-conformity" Type of the supporting document. |
| mimeType | string MIME type of the given document. |
Responses
Request samples
- Payload
{- "dataBase64": "string",
- "filename": "string",
- "documentIdentifier": "string",
- "documentType": "phytosanitary",
- "mimeType": [
- "application/pdf"
]
}Response samples
- 200
- 400
- 401
- 404
- 500
{- "documentId": "string"
}Retrieve the status of a given shipment.
Authorizations:
path Parameters
| shipmentId required | string Unique id of the shipment |
Responses
Response samples
- 200
- 404
- 500
{- "export": {
- "status": "success",
- "documentType": "EU",
- "documentNumber": "string",
- "downloadLink": "string"
}, - "import": {
- "status": "success",
- "documentType": "string",
- "documentNumber": "string",
- "downloadLink": "string",
- "errors": [
- {
- "message": "string"
}
]
}
}