Excerpt | ||
---|---|---|
| ||
|
In order to understand the Export Pre-advice submission, some familiarity with the Export Pre-advice User Guide is recommended. This details how export pre-advice submitted via the PortConnect website. The structure of the API is conceptually very similar to this screen, comprising a header with a list of containers being submitted.
Endpoint
Code Block |
---|
POST https://api.portconnect.io/v1/export-preadvices |
Request Body
...
Table of Contents | ||
---|---|---|
|
API Request Body
Header section
Level | Name | Required | Repeats | Type | Description | Applicable Ports |
---|---|---|---|---|---|---|
0 | header | PreadviceHeader | No | - | Pre-advice header information |
1 |
PreadviceContainer[]
List of container information
comments
string (optional)
Additional comments (not included in Swagger documentation)
PreadviceHeader
Name
Type
Description
Notes
ShipperName
string
Shipper name
ConsigneeName
string
Consignee name
BookingReference
string
Booking reference
MessageAction
MessageActions?
Message action type
shipperName | Mandatory | No | string | Shipper name | ALL | |
1 | consigneeName | Optional | No | string | Consignee name | NZTRG / NZTIU |
1 | bookingReference | Mandatory | No | string | Booking reference | ALL |
1 | messageAction | Mandatory | No | string (Create/Cancel) | For new Pre-Advice or updates to previously submitted containers enter “Create”. To Cancel a previously submitted incorrect container number enter "Cancel". | ALL |
1 | pointOfOriginCode | Mandatory | No | string | Point of origin code |
ALL | ||||
1 | loadPortFacility | Mandatory | No | string |
Load port facility |
Vessel
ALL | ||||||
1 | vessel | Mandatory | No | Vessel information | ALL | |
2 | shipName |
Conditional |
No | string |
Vessel Name |
ALL |
2 |
voyageNumber |
string[]
List of notification email addresses
MessageType
PreadviceMessageTypes?
Pre-advice message type
TradingPartnerCode
string
Trading partner code
UserName
string
User name
UserReference
string
User reference
Conditional | No | string | Voyage Number | ALL | ||
2 | partnerPortShippingReference | Conditional | No | string | Port Vessel reference | ALL |
1 | lineOperatorCode | Mandatory | No | string | Line operator code |
ALL | |||||
1 | loadPortCode | Mandatory | No | string | Load port code |
ALL | |||||
1 | portOfDischarge | Optional | No | string | Port of discharge |
. If the segment is omitted then PortConnect will look up and populate the value from the booking. | ALL | ||||
1 | foreignPortOfDischarge | Optional | No | string | Foreign port of discharge |
ALL | |||||
1 | overseasDestinationFinal | Optional | No | string | Overseas destination final |
PreadviceContainer
ALL | ||||||
1 | notificationEmails | Mandatory | No | string[] | List of notification email addresses | ALL |
1 | userName | Mandatory | No | string | User name | ALL |
1 | userReference | Mandatory | No | string | User reference | ALL |
Container section
Level | Name | Required | Repeats | Type | Description |
---|
Applicable Ports |
---|
0 |
string
Base64 encoded hazardous certficate
LatestSubmissionStatus
GenericPreadviceContainerSubmission
Latest submission status of the container
CurrentStatus
string
Current status of the container
ContainerNumber
string (required)
Container number
AttachedContainerNumbers
containers | Mandatory | Yes | List of container information | ALL | ||
1 | containerNumber | Mandatory | No | string | Container number | ALL |
1 | attachedContainerNumbers | Optional | No | string[] | List of attached container numbers |
IsoTypeCode
. Only required if the container has attached containers. | NZTRG / NZTIU | ||||
1 | isoTypeCode | Mandatory | No | string | ISO type code for the container |
ALL | ||||
1 | flexiTank | Optional | No | bool |
Indicates if the container is a flexi tank |
NZTRG / NZTIU | ||||
1 | isFull | Mandatory | No | bool |
Indicates if the container is full |
ALL | ||||
1 | commodityCode | Mandatory | No | string |
Commodity code |
ALL | ||||
1 | isNonOperatingReefer | Optional | No | bool |
Indicates if the container is a non-operating reefer |
Refrigeration
. Only required if container ISO Type is a Reefer ISO type. | ALL | |||||
1 | refrigeration | Optional | No | Refrigeration details for the container. Only required if container ISO Type is a Reefer ISO type. | ALL | |
2 | isFantainer | Optional | No | bool |
ALL | ||||||
2 | requiredTemperature | Conditional | No | float | ALL | |
2 | refrigerationType | Optional | No | string |
Vent
“Chilled” | ALL | |||||
2 | activeRefrigerationRequired | Conditional | NZTRG | |||
2 | offPowerTemperature | Optional | No | float | NZAKL | |
2 | offPowerTimestamp | Optional | No | DateTime | NZAKL | |
2 | onPowerTargetTime | Optional | No | DateTime | NZAKL | |
2 | humidityPercent | Optional | No | float | ALL | |
2 | co2Percent | Optional | No | float | ALL | |
2 | o2Percent | Optional | No | float | ALL | |
1 | vent | Optional | No | Vent details for the container |
IMEX
GenericPreadviceIMEX
IMEX details for the container
ALL | ||||||
2 | ventSettingType | Optional | No | string | ALL | |
2 | ventSetting | Optional | No | float | ALL | |
1 | cargoWeightKg | Mandatory | No | float | Cargo weight in kilograms |
ALL | |||||
1 | totalWeightKg | Mandatory | No | float | Total weight of the container in kilograms |
Hazardous
ALL | |||||
1 | hazardous | Optional | No | List of hazardous details |
ALL | ||||||
2 | hazardousClass | Conditional | Yes | float | e.g. 1.1f, 1.1g etc. | ALL |
2 | unNumber | Conditional | Yes | string | e.g. 0005, 0121 etc | ALL |
2 | quantity | Conditional | Yes | string | Number and Type of packages e.g. 2 Pallets or 1 box | ALL |
2 | hazardousWeight | Conditional | Yes | float | Weight of the hazardous cargo. Must be in KGs. | ALL |
2 | packagingGroup | Conditional | Yes | string | Values: 0, 1, 2 or 3. If no packaging group then select 0. | ALL |
2 | limitedQuantities | Conditional | Yes | bool | ALL | |
2 | marinePollutant | Conditional | Yes | bool | ALL | |
2 | emsCode | Conditional | Yes | string | Fire Rating and Spill Rating. F-A to F-Z and S-A to S-Z. No space between values. | ALL |
2 | hazardContact | Conditional | Yes | ALL | ||
3 | name | Conditional | Yes | string | ALL | |
3 | phone | Conditional | Yes | string | ALL | |
2 | medicalFirstAidGuideSet | Conditional | Yes | string | NZTRG / NZTIU | |
2 | flashPointSet | Conditional | Yes | float | Range: -999-999 | NZTRG / NZTIU |
1 | overGauge | Optional | No | GenericPreadviceOverDimension[] | List of over-dimension details |
. Only required if container ISO Type is an Out of Gauge ISO type. | ALL | |||||
2 | area | Conditional | Yes | String | TOP, LEFT, RIGHT, FRONT, BACK | ALL |
2 | measureCm | Conditional | Yes | float | ALL | |
1 | containerSeals | Mandatory | No | GenericPreadviceContainerSeal[] | List of container seals | ALL |
2 | sealType | Mandatory | Yes | string |
sealCode
string (required)
ArrivalCarrierType
GenericPreadviceArrivalCarrierTypes?
Arrival carrier type
Carrier
string
Carrier details
...
ALL | ||||||
2 | sealCode | Mandatory | Yes | string | ALL | |
1 | arrivalCarrierType | Mandatory | No | string | Value list: Truck, Rail. This is the mode of arrival at the receival facility which can be an inland port or directly to the Seaport | ALL |
1 | carrier | Mandatory | No | string | See the following list for all Arrival Carrier Codes. | ALL |
1 | hazardousCertificateBase64 | Optional | No | string | Base64 encoded hazardous certificate. Only required if the container is hazardous. The base64 content must sit within a CDATA segment e.g. “hazardousCertificateBase64”: <![CDATA[Base64ContentHere]]> | NZTRG / NZTIU |
Test URL:
Code Block |
---|
POST https://apitest.portconnect.io/v1/export-preadvices |
Example
...
Messages
All fields example:
Code Block | ||
---|---|---|
| ||
{ "header": { "shipperName": "FNT", "loadPortCode": "NZAKL", "shipperNamebookingReference": "ALNEMAH HALAL MEAT LIMITED", "bookingReferenceSHIPPINGLINEBOOKINGREF", "pointOfOriginCode": "AKC", "vessel": { "shipName": "CMA CGM SEMARANG", "voyageNumber": "1AKL0267402416", "partnerPortShippingReference": "CMC9741" }, "loadPortFacility": "Auckland", "lineOperatorCode": "HSUDARMC", "portOfDischarge": "AUMEL", "foreignPortOfDischarge": "AUMEL", "loadPortCodeuserReference": "NZTRGUNIQUEREFERENCE", "notificationEmails": ["info@portconnect.co.nz"] }, "containers": [{ "containerNumber": "portOfDischarge"HAZD1234510" "isoTypeCode": "USLGB4500", "isFull": true, "commodityCode": "74", "foreignPortOfDischargecargoWeightKg": "USLGB" "pointOfOriginCode": "Bay of Plenty", "loadPortFacility": "TCT", "vessel": { "shipName": "DEBUSSY", "voyageNumber": "138N", "partnerPortShippingReference": "USY138N", }, "notificationEmails": [ "Cameron.Pitches@portconnect.co.nz" ], "userReference": "CAMTEST001" }, "containers": [ { "containerNumber": "CDPU3736837", "isoTypeCode": "2232", "flexiTank": false, "isFull": true, "commodityCode": "0201", "isNonOperatingReefer": false, "refrigeration": { "isFantainer": false, "requiredTemperature": -5.0, "refrigerationType": "Chilled" }, "cargoWeightKg": 28000.0, "totalWeightKg": 30000.0, "containerSeals": [ { "sealType": "Shipper", "sealCode": "555" } ], "arrivalCarrierType": "Truck" } 16000.0, "totalWeightKg": 18000.0, "hazardous": [{ "medicalFirstAidGuideSet": true, "flashPointSet": true, "hazardousClass": "2.1", "unNumber": "1950", "packagingGroup": "1", "limitedQuantities": true, "marinePollutant": true, "hazardousWeight": 200.0, "quantity": "10", "emsCode": "F-BS-C", "hazardContact": { "name": "John Smith", "phone": "021 588 998" } }, { "medicalFirstAidGuideSet": true, "flashPointSet": true, "hazardousClass": "2.2", "unNumber": "1950", "packagingGroup": "0", "limitedQuantities": false, "marinePollutant": false, "hazardousWeight": 1000.0, "quantity": "75", "emsCode": "F-YS-Y", "hazardContact": { "name": "John Smith", "phone": "021 588 998" } }], "containerSeals": [{ "sealType": "Shipper", "sealCode": "4455" }], "arrivalCarrierType": "Rail", "carrier": "CONLIN" }, { "containerNumber": "OOGC1234651" "attachedContainerNumbers": ["ADCU1234510"], "isoTypeCode": "22P1", "isFull": true, "commodityCode": "47", "isNonOperatingReefer": false, "cargoWeightKg": 16000.0, "totalWeightKg": 18000.0, "overGauge": [{ "area": "Top", "measureCm": 10.0 }, { "area": "Left", "measureCm": 20.0 }, { "area": "Right", "measureCm": 30.0 }, { "area": "Front", "measureCm": 40.0 }, { "area": "Back", "measureCm": 50.0 }], "containerSeals": [{ "sealType": "Shipper", "sealCode": "TBC" }], "arrivalCarrierType": "Truck", "carrier": "AACAR " }, { "containerNumber": "REEF1234510" "isoTypeCode": "2230", "isFull": true, "commodityCode": "2199", "IsNonOperatingReefer": false, "refrigeration": { "isFantainer": false, "co2Percent": 50.0, "o2Percent": 40.0, "maximumOffPowerHours": 24.0, "offPowerTemperature": -21.0, "offPowerTimestamp": "2024-09-11T10:00:00+12:00", "onPowerTargetTime": "2024-09-11T10:00:00+12:00", "requiredTemperature": -21.0, "humidityPercent": 20.0, "refrigerationType": "Chilled" }, "vent": { "ventSettingType": "PercentageOpen", "ventSetting": 30.0 }, "cargoWeightKg": 16000.0, "totalWeightKg": 18000.0, "containerSeals": [{ "sealType": "Shipper", "sealCode": "1223" }, { "sealType": "Shipper", "sealCode": "5665" }], "arrivalCarrierType": "Truck", "carrier": "WALTER" }] } |
Hazard example
Code Block | ||
---|---|---|
| ||
{
"header": {
"shipperName": "FNT",
"loadPortCode": "NZAKL",
"bookingReference": "SHIPPINGLINEBOOKINGREF",
"pointOfOriginCode": "AKC",
"vessel": {
"shipName": "CMA CGM SEMARANG",
"voyageNumber": "2416",
"partnerPortShippingReference": "CMC9741"
},
"loadPortFacility": "Auckland",
"lineOperatorCode": "ARMC",
"portOfDischarge": "AUMEL",
"foreignPortOfDischarge": "AUMEL",
"userReference": "UNIQUEREFERENCE",
"notificationEmails": ["info@portconnect.co.nz"]
},
"containers": [{
"containerNumber": "REEF1234510",
"isoTypeCode": "2230",
"isFull": true,
"commodityCode": "2199",
"cargoWeightKg": 16000.0,
"totalWeightKg": 18000.0,
"hazardous": [{
"medicalFirstAidGuideSet": true,
"flashPointSet": true,
"hazardousClass": "2.1",
"unNumber": "1950",
"packagingGroup": "1",
"limitedQuantities": true,
"marinePollutant": true,
"hazardousWeight": 200.0,
"quantity": "10",
"emsCode": "F-BS-C",
"hazardContact": {
"name": "John Smith",
"phone": "021 588 998"
}
},
{
"medicalFirstAidGuideSet": true,
"flashPointSet": true,
"hazardousClass": "2.2",
"unNumber": "1950",
"packagingGroup": "0",
"limitedQuantities": false,
"marinePollutant": false,
"hazardousWeight": 1000.0,
"quantity": "75",
"emsCode": "F-YS-Y",
"hazardContact": {
"name": "John Smith",
"phone": "021 588 998"
}
}],
"containerSeals": [{
"sealType": "Shipper",
"sealCode": "1223"
},
{
"sealType": "Shipper",
"sealCode": "5665"
}],
"arrivalCarrierType": "Truck",
"carrier": "WALTER",
"hazardousCertificateBase64":<![CDATA[JVBERi0xLjcNDQo8PC9UNQ0KJSVFT0Y=]]>
}]
} |
Reefer example
Code Block | ||
---|---|---|
| ||
{
"header": {
"shipperName": "FNT",
"loadPortCode": "NZAKL",
"bookingReference": "SHIPPINGLINEBOOKINGREF",
"pointOfOriginCode": "AKC",
"vessel": {
"shipName": "CMA CGM SEMARANG",
"voyageNumber": "2416",
"partnerPortShippingReference": "CMC9741"
},
"loadPortFacility": "Auckland",
"lineOperatorCode": "ARMC",
"portOfDischarge": "AUMEL",
"foreignPortOfDischarge": "AUMEL",
"userReference": "UNIQUEREFERENCE",
"notificationEmails": ["info@portconnect.co.nz"]
},
"containers": [{
"containerNumber": "REEF1234510",
"isoTypeCode": "2230",
"isFull": true,
"commodityCode": "2199",
"IsNonOperatingReefer": false,
"refrigeration": {
"isFantainer": false,
"co2Percent": 50.0,
"o2Percent": 40.0,
"maximumOffPowerHours": 24.0,
"offPowerTemperature": -21.0,
"offPowerTimestamp": "2024-09-11T10:00:00+12:00",
"onPowerTargetTime": "2024-09-11T10:00:00+12:00",
"requiredTemperature": -21.0,
"humidityPercent": 20.0,
"refrigerationType": "Chilled"
},
"vent": {
"ventSettingType": "PercentageOpen",
"ventSetting": 30.0
},
"cargoWeightKg": 16000.0,
"totalWeightKg": 18000.0,
"containerSeals": [{
"sealType": "Shipper",
"sealCode": "1223"
},
{
"sealType": "Shipper",
"sealCode": "5665"
}],
"arrivalCarrierType": "Truck",
"carrier": "WALTER"
}]
} |
Example Response:
Export pre-advice success
...
Export pre-advice partial failure
Code Block | ||
---|---|---|
| ||
{ "success": true, "errors": [], "containers": [ { "containerNumber": "CDPU3736837", "errors": [ "Temperature too high/low for the selected commodity (Range: -5.0 to 2.0). Change commodity or contact Terminal" ], "success": false } ] } |
Pre-Advice validation rules
Must provide a valid booking
Load Port must match the booking
Load Port must be valid
Line Operator code must be valid
Line Operator code must match the booking
Vessel Visit must match the booking
Discharge Port must match the booking
Reefer ISO type containers must have a Temperature (unless specified as a Non-Operating Reefer)
Freight Kind (Full vs Empty) must match the booking
Reefer temperatures must match the booking
Conditioning details must match the booking. Conditioning details include: Humidity %, Vent value, Vent Type, O2% and CO2%
Hazard UN Codes must match the booking
Container ISO Type Groups much match the booking.
Total Pre-Advised Containers must not exceed the booking quanta (count)
Seal Type must be valid