Introduction
A documentation Platform, made by developers for developers to support the daily business in international freight transports and logistics.
You can use our standard interfaces to get or post transport/logistics data.
The API is only available for registered customers.
Interested in using SPOT or our API? Contact us, it’s free!
Communication Modes
REST API
Swagger
REST API documentation can be found at https://swagger.test.spotworx.com/. The documentation is in standardized Swagger format.
In order to try endpoints, you need to authorize first. Click on the authorize button and provide your user, password, client ID and client secret. As type select “Request body”:
After successful authentication you can select some endpoint, click on “Try it out” button, provide all required parameters (e.g. location) and hit execute. You will see generated curl command and direct response object from API.
API authentication - OAuth 2.0
curl -X POST \
https://sso.spotworx.com/auth/realms/Spotworx/protocol/openid-connect/token \
-H 'Authorization: Basic MGYyN2I0Zm...ViNg==' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'username=test-client&password=test-client&grant_type=password'
curl -X POST \
https://sso.spotworx.com/auth/realms/Spotworx/protocol/openid-connect/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'username=test&password=test&grant_type=password&client_id=0f1&client_secret=f96'
API consumers are required to use the OAuth 2.0 protocol for authentication and authorization. All API requests must be made over SSL.
Customers are given client ID and client secret. These tokens should be stored securely. Moreover customers are given one or more users (represented by username/password) Client ID, client secret, username and password are used to generate the bearer token, which is a temporary token to invoke the business API.
To generate the bearer token, the consumer should make a POST request to https://sso.spotworx.com/auth/realms/Spotworx/protocol/openid-connect/token. HTTP headers must contain basic auth header and content type:
Header | Value |
---|---|
Authorization | Basic [Base64(client_id:client_secret)] |
Content-Type | application/x-www-form-urlencoded |
The body must contain the following parameters as x-www-form-urlencoded values. Please consider this and use a tool and code the values, the request will not work otherwise.
Key | Value |
---|---|
grant_type | password |
username | [your username] |
password | [your password] |
Optionally, client_id and client_secret can be provided in body instead of Authorization header
Key | Value |
---|---|
client_id | [client ID] |
client_secret | [client secret] |
{
"access_token": "eyJhbGciOi...JSkyJQ",
"expires_in": 1800,
"refresh_expires_in": 86400,
"refresh_token": "eyJhbGciO...ixBAA",
"token_type": "bearer",
"not-before-policy": 0,
"session_state": "a638a3a6-ec0b-42a1-b048-55846f328d2c"
}
Response message contains:
- access_token
- expires_in
- refresh_expires_in
- refresh_token
- token_type
- not-before-policy
- session_state
Token format is JWT. Access token is valid for 5 minutes, refresh token is valid for 30 minutes. Once the access token is expired, the refresh token can be used to generate a new pair of access and refresh tokens.
curl -X POST \
https://sso.spotworx.com/auth/realms/Spotworx/protocol/openid-connect/token \
-H 'Authorization: Basic MGYyN2I0...LWQ1MWQ3NTAzMDViNg==' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=refresh_token&refresh_token=eyJhbGciOi....iI'
Refresh token request is similar to the above requests, except that body contains:
- grant_type=refresh_token
- refresh_token=[refresh_token from previous response]
Consuming API
curl -X POST \
curl -X GET \
'https://api.spotworx.com/logistics/v1/inventory?location=CTO' \
-H 'Authorization: Bearer eyJhbGci...OohXhoNLx3Q'
Individual API endpoints are described in Swagger. Base API url is https://api.spotworx.com.
Webhooks
For certain events we provide webhooks. Customers can register their URL and it will be proactively called when event occurs.
Message types: Webhooks are available for the following message types:
- receiptConfirmation (Logistics)
- dispatchConfirmation (Logistics)
Security: We support various type of security on customer’s endpoint.
Security type | Required info |
---|---|
Basic auth | name, password |
OAtuh 2.0 | tokenUrl, name, password, clientId, clientSecret, grantType |
X-Hub-Signature | messageDigestAlgorithm, sharedSecret |
File-based transfer
File name restrictions
The following characters are not allowed in the name of files: ‘<’ (less than), ‘>’ (greater than), ‘:’ (colon), ‘"‘ (double quote), ‘/’ (forward slash), ‘\’ (backslash), ‘|’ (vertical bar or pipe), ‘?’ (question mark), ‘*’ (asterisk).
MessageHeader
For easier understanding and implementation there is a default message header in each file. We provide this header in XML/JSON to provide information about the file transfer itself.
"...": {
"messageId": "244016",
"messageDate": "2017-04-05",
"messageTime": "13:08:59",
"messageType": "transport.eventUpdate",
"messageVersion": "1.0",
"messageScope": "PROD"
}
<...>
<messageId>244016</messageId>
<messageDate>2017-04-05</messageDate>
<messageTime>13:08:59</messageTime>
<messageType>transport.clientTransportOrder</messageType>
<messageVersion>1.0</messageVersion>
<messageScope>PROD</messageScope>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
messageId | String | M | Identifier for tracing in case of error/debugging. |
messageDate | String | M | Date of message transfer in format YYYY-MM-DD as defined by ISO 8601. |
messageTime | String | M | UTC Time of message transfer in format hh:mm:ss as defined by ISO 8601. |
messageType | String | M | Unique identifier to distinguish between different message types. |
messageVersion | String | M | Message version. |
messageScope | String | M | Valid values: TEST , PROD |
Transport
Client Transport Orders
CREATE Client Transport Order
messageType: transport.clientTransportOrder
{
"messageHeader":{...},
"clientTransportOrder":{...}
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<ClientTransportOrder>...</ClientTransportOrder>
</ediMessage>
Creates a transport order in our SPOT system.
FTP folder: /in/transport/clientTransportOrders
Sample files
The sample files are provided in 3 levels of detail: Small, Medium and Large. Small only contains the bare necessities needed to create an order in our system, whereas for large almost all possible fields of the respective modality are filled.
While it is possible to send us orders with only the minimum of data provided, it is highly recommended to provide as much information as possible.
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message Header information. |
ClientTransportOrder | ClientTransportOrder | M | Transport Order |
ClientTransportOrder
"...": {
"businessDirection": "EXPORT",
"cargoDescriptions": [{...}],
"containerDefinition": {...},
"customerAccountNumber": "string",
"deliveryTerm": {...},
"mainCategory": "FCL",
"mainModality": "AIR",
"orderDetails": {...},
"participants": {...},
"routingInformation": {...}
}
<...>
<businessDirection>EXPORT</businessDirection>
<cargoDescriptions>
<cargoDescription>...</cargoDescription>
</cargoDescriptions>
<containerDefinition>...</containerDefinition>
<customerAccountNumber>string</customerAccountNumber>
<deliveryTerm>...</deliveryTerm>
<mainCategory>FCL</mainCategory>
<mainModality>AIR</mainModality>
<orderDetails>...</orderDetails>
<participants>...</participants>
<routingInformation>...</routingInformation>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
customerAccountNumber | String | M | Your SPOT account number. This is used to associate the created order with your company or office. |
mainModality | String | M | Modality of transport. Valid values: AIR, ROAD, SEA, AIR_SEA, SEA_AIR |
mainCategory | String | C | Defines the subtype of the transport modality. Mandatory for SEA shipments. Valid values for ROAD: FTL, LTL, GROUPAGE Valid values for SEA: FCL, LCL, REEFER |
businessDirection | String | M | Identifies direction of goods from principals viewpoint. Valid values: IMPORT, EXPORT, TRIANGLE |
deliveryTerm | TransportDeliveryTerm | M | IncoTerm and Location |
cargoDescriptions | Array[CargoDescription] | M | Transport cargo description. For FCL/REEFER per container. |
orderDetails | OrderDetails | O | Additional detail information |
containerDefinition | ContainerDefinition | C | Only applicable and mandatory for SEA FCL / REEFER. Mandatory for SEA event tracking. |
participants | Participants | M | Parties participating in a transport |
routingInformation | RoutingInformation | M | Information about the transport routing and dates |
OrderDetails
"...": {
"insurance": {...},
"paymentDefinition": {...},
"references": [{...}],
"serviceSpecification": {...},
"transportDetails": {...},
"articleDetails": [{...}]
}
<...>
<insurance>...</insurance>
<paymentDefinition>...</paymentDefinition>
<references>
<reference>...</reference>
</references>
<serviceSpecification>...</serviceSpecification>
<transportDetails>...</transportDetails>
<articleDetails>
<articleDetail>...</articleDetail>
</articleDetails>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
insurance | Insurance | O | Insurance details |
references | Array[TransportOrderReference] | O | Shipment references |
paymentDefinition | PaymentDefinition | O | Payment details |
transportDetails | TransportDetails | O | Additional transport details |
serviceSpecification | ServiceSpecification | O | Additional transport services |
articleDetails | Array[ArticleDetail] | O | Additional article details |
TransportDetails
"...": {
"oceanCarrier": {...},
"carrierBookingNumber": "string",
"carrierContractNumber": "string",
"hawb": "string",
"hbl": "string",
"mawb": "string",
"mbl": "string",
"plateNumbers": ["string"],
"vesselName": "string",
"voyageNumber": "string"
}
<...>
<oceanCarrier>...</oceanCarrier>
<carrierBookingNumber>string</carrierBookingNumber>
<carrierContractNumber>string</carrierContractNumber>
<hawb>string</hawb>
<hbl>string</hbl>
<mawb>string</mawb>
<mbl>string</mbl>
<plateNumbers>
<plateNumber>string</plateNumber>
</plateNumbers>
<vesselName>string</vesselName>
<voyageNumber>string</voyageNumber>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
oceanCarrier | OceanCarrier | C | Provide for designated carrier. Mandatory for SEA event tracking. |
carrierContractNumber | String | O | |
carrierBookingNumber | String | O | Mandatory for SEA event tracking (Please note that only one of the values mbl OR carrierBookingNumber is needed). |
mbl | String | C | Master-BoL number. Mandatory for SEA event tracking (Please note that only one of the values mbl OR carrierBookingNumber is needed). |
hbl | String | O | House-BoL number. |
mawb | String | O | Master-AWB number. |
hawb | String | O | House-AWB number. |
vesselName | String | O | Name of carrier vessel. |
voyageNumber | String | O | Vessel voyage number. |
plateNumbers | Array[String] | O | Truck plate numbers. |
ArticleDetail
"...": {
"externalReference": "string",
"articleCode": "string",
"description": "string",
"packageType": {...},
"referenceNumber1": "string",
"referenceNumber2": "string",
"referenceNumber3": "string",
"hsCode": "string",
"containerNumber": "string",
"dimensions": {...},
"pieces": "number",
"weight": "number",
"netWeight": "number",
"totalVolume": "number",
"loadingDeviceType": "string",
"loadingDeviceNumber": "number",
"quantityPerLoadingDevice": "number",
"dateOfIssue": {...},
"expirationDate": {...}
}
<...>
<externalReference>string</externalReference>
<articleCode>string</articleCode>
<description>string</description>
<packageType>...</packageType>,
<referenceNumber1>string</referenceNumber1>
<referenceNumber2>string</referenceNumber2>
<referenceNumber3>string</referenceNumber3>
<hsCode>string</hsCode>
<containerNumber>string</containerNumber>
<dimensions>...</packageType>,
<pieces>number</pieces>
<weight>number</weight>
<netWeight>number</netWeight>
<totalVolume>number</totalVolume>
<loadingDeviceType>string</loadingDeviceType>
<loadingDeviceNumber>number</loadingDeviceNumber>
<quantityPerLoadingDevice>number</quantityPerLoadingDevice>
<dateOfIssue>...<dateOfIssue>
<expirationDate>...<expirationDate>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
externalReference | String | M | External reference. Required for proper correlation. |
articleCode | String | O | Article code. |
description | String | O | Article description. |
packageType | ArticlePackageType | O | Article package type. |
referenceNumber1 | String | O | Reference number 1. |
referenceNumber2 | String | O | Reference number 2. |
referenceNumber3 | String | O | Reference number 3. |
hsCode | String | O | Standardized code for classification of commodities. |
containerNumber | String | O | Container number. Applicable for SEA modality. |
dimensions | ArticleDimensions | O | Article dimensions. |
pieces | Integer | O | Number of pieces. |
weight | BigDecimal | O | Article weight. |
netWeight | BigDecimal | O | Article net weight (without packaging). |
totalVolume | BigDecimal | O | Total article volume. |
loadingDeviceType | String | O | Loading device type. |
loadingDeviceNumber | Integer | O | Loading device number. |
quantityPerLoadingDevice | Integer | O | Quantity per loading device. |
dateOfIssue | ApiDate | O | Issue date. |
expirationDate | ApiDate | O | Expiration date. |
ArticlePackageType
"...": {
"unitName": "string",
}
<...>
<unitName>string</unitName>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
unitName | String | O | SPOT package type code [(Package type code list)][spot-packagetypes1] |
ArticleDimensions
"...": {
"length": "number",
"width": "number",
"height": "number",
"volume": "number"
}
<...>
<length>number</length>
<width>number</width>
<height>number</height>
<volume>number</volume>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
length | String | O | Article length. |
width | String | O | Article width. |
height | String | O | Article height. |
volume | String | O | Article volume. |
RoutingInformation
"...": {
"pickup": {...},
"delivery": {...},
"airportOfDeparture": {...},
"airportOfArrival": {...},
"portOfLoading": {...},
"portOfDischarge": {...}
}
<...>
<airportOfArrival>...</airportOfArrival>
<airportOfDeparture>...</airportOfDeparture>
<delivery>...</delivery>
<pickup>...</pickup>
<portOfDischarge>... </portOfDischarge>
<portOfLoading>...</portOfLoading>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
pickup | RoutingPickup | M | Information to pickup |
delivery | RoutingDelivery | O | Information to delivery |
airportOfDeparture | RoutingPointAirport | O | |
airportOfArrival | RoutingPointAirport | O | |
portOfLoading | RoutingPointSeaport | O | |
portOfDischarge | RoutingPointSeaport | O |
RoutingPickup
"...": {
"desiredPickup": {...},
"estimatedCargoReadiness": {...},
"estimatedPickup": {...},
"remark": "string",
"shipperSelfDelivery": false
}
<...>
<desiredPickup>...</desiredPickup>
<estimatedCargoReadiness>...</estimatedCargoReadiness>
<estimatedPickup>...</estimatedPickup>
<remark>string</remark>
<shipperSelfDelivery>false</shipperSelfDelivery>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
estimatedCargoReadiness | ApiDate | M | Defines date when goods are ready for transport |
desiredPickup | ApiDateFromTo | O | Defines time frame of desired pickup of goods. |
estimatedPickup | ApiDate | O | Defines date for estimated pickup of goods. Only processed if EDI-Partner is an Agent or shipperSelfDelivery = true. |
shipperSelfDelivery | Boolean | O | |
remark | String | O | Additional comments for pickup. |
RoutingDelivery
"...": {
"desiredDelivery": {...},
"estimatedDelivery": {...},
"consigneeSelfPickup": false,
"remark": "string"
}
<...>
<consigneeSelfPickup>false</consigneeSelfPickup>
<desiredDelivery>...</desiredDelivery>
<estimatedDelivery>...</estimatedDelivery>
<remark>string</remark>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
consigneeSelfPickup | Boolean | O | |
desiredDelivery | ApiDateFromTo | O | Defines time frame of desired delivery of goods. |
estimatedDelivery | ApiDate | O | Defines date for estimated delivery of goods. Only processed if EDI-Partner is an Agent or consigneeSelfPickup = true. |
remark | String | O | Additional comments for delivery. |
RoutingPointAirport
"...": {
"iataCode":"string",
"estimatedDate":{...}
}
<...>
<estimatedDate>...</estimatedDate>
<iataCode>string</iataCode>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
iataCode | String | M | IATA 3-letter airport code. |
estimatedDate | ApiDate | O | If known, estimated arrival date (if airportOfArrival) / estimated departure date (if airportOfDeparture) can be provided here. |
RoutingPointSeaport
"...": {
"estimatedDate":{...},
"terminal":"string",
"unlocode":"string"
}
<...>
<estimatedDate>...</estimatedDate>
<terminal>string</terminal>
<unlocode>string</unlocode>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
estimatedDate | ApiDate | O | If known, estimated arrival date (if portOfDischarge) / estimated departure date (if portOfLoading) can be provided here. |
terminal | String | O | Container terminal. |
unlocode | String | M | UNLOCODE 5-letter location code. |
Participants
"...": {
"consignee": {...},
"controllingAgent": {...},
"delivery": {...},
"destinationAgent": {...},
"destinationHub": {...},
"destinationWarehouse": {...},
"exportCustomsBroker": {...},
"importCustomsBroker": {...},
"mainInvoiceTo": {...},
"officeInCharge": {...},
"originAgent": {...},
"originHub": {...},
"originWarehouse": {...},
"pickup": {...},
"principal": {...},
"shipper": {...},
"shippersTradingCompany": {...},
"thirdParties": [...]
}
<...>
<consignee>...</consignee>
<controllingAgent>...</controllingAgent>
<delivery>...</delivery>
<destinationAgent>...</destinationAgent>
<destinationHub>...</destinationHub>
<destinationWarehouse>...</destinationWarehouse>
<exportCustomsBroker>...</exportCustomsBroker>
<importCustomsBroker>...</importCustomsBroker>
<mainInvoiceTo>...</mainInvoiceTo>
<officeInCharge>...</officeInCharge>
<originAgent>...</originAgent>
<originHub>...</originHub>
<originWarehouse>...</originWarehouse>
<pickup>...</pickup>
<principal>...</principal>
<shipper>...</shipper>
<shippersTradingCompany>...</<shippersTradingCompany>
<thirdParties>
<thirdParty>...</thirdParty>
</thirdParties>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
shipper | Party | M | Party providing the goods. |
consignee | Party | M | Party receiving the goods. |
pickup | Party | O | Pickup location. If not provided, it will be assumed to be the same as shipper. |
delivery | Party | O | Delivery location. If not provided, it will be assumed to be the same as consignee. |
principal | Party | M | Owner of the transport order. |
officeInCharge | PartyOfficeInCharge | M | Freight forwarder handling office. |
mainInvoiceTo | Party | M | Party which will be billed for transport. Is normally the same as the principal. |
exportCustomsBroker | Party | O | |
importCustomsBroker | Party | O | |
originWarehouse | Party | O | |
destinationWarehouse | Party | O | |
shippersTradingCompany | Party | O | |
thirdParties | Array[Party] | O | |
originAgent | PartyAgent | O | Not available if mainModality is ROAD . |
destinationAgent | PartyAgent | O | Not available if mainModality is ROAD . |
originHub | PartyAgent | O | Only applicable if mainModality is ROAD . |
destinationHub | PartyAgent | O | Only applicable if mainModality is ROAD . |
controllingAgent | PartyAgent | O |
PartyAgent
"...": {
"accountNumber": "string",
"contacts": [{...}],
"externalPartyIdentifier": "string",
}
<...>
<accountNumber>string</accountNumber>
<contacts>
<contact>...</contact>
</contacts>
<externalPartyIdentifier>string</externalPartyIdentifier>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
accountNumber | String | M | SPOT internal account number. |
externalPartyIdentifier | String | O | EDI-Partners identifier for a party. If provided it functions in the same way as the accountNumber |
contacts | Array[Contact] | O |
PartyOfficeInCharge
"...": {
"accountNumber": "123456",
"officeRole": "string",
"externalPartyIdentifier": "string",
"contacts": [{...}]
}
<...>
<accountNumber>string</accountNumber>
<contacts>
<contact>...</contact>
</contacts>
<externalPartyIdentifier>string</externalPartyIdentifier>
<officeRole>CONTROLLING_AGENT</officeRole>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
accountNumber | String | M | SPOT internal account number. |
officeRole | String | O | Valid values: ORIGIN_AGENT, DESTINATION_AGENT, CONTROLLING_AGENT |
externalPartyIdentifier | String | O | EDI-Partners identifier for a party. If provided it functions in the same way as the accountNumber |
contacts | Array[Contact] | O |
Shipments
GET Shipment
messageType: transport.shipment
{
"messageHeader": {...},
"Shipment": {...}
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<Shipment>...</Shipment>
</ediMessage>
Get shipment data from SPOT.
FTP folder if provided on our FTP and not pushed to partner FTP: /out/transport/shipments
Sample files:
The sample files provided are based on real world shipments where parties and references have been changed for privacy reasons.
You can also get into contact with our Integration Competence Center and we will provide you with real examples based on your shipments.
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message Header information. |
Shipment | Shipment | M | Shipment information |
Shipment
"...": {
"cargoDescriptions": [{...}],
"containerDefinition": {...},
"events": [{...}],
"mainCategory": "FCL",
"mainModality": "AIR",
"shipmentStatus": "CARGO_EXPECTED_FOR_TRANSPORT",
"participants": {...},
"routingInformation": {...},
"shipmentDetails": {...},
"trackingId": "string"
}
<...>
<cargoDescriptions>
<cargoDescription>...</cargoDescription>
</cargoDescriptions>
<containerDefinition>...</containerDefinition>
<events>
<event>...</event>
</events>
<mainCategory>FCL</mainCategory>
<mainModality>AIR</mainModality>
<shipmentStatus>CARGO_EXPECTED_FOR_TRANSPORT</shipmentStatus>
<participants>...</participants>
<routingInformation>...</routingInformation>
<shipmentDetails>... </shipmentDetails>
<trackingId>string</trackingId>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
cargoDescriptions | Array[CargoDescription] | M | Transport cargo description. For FCL/REEFER per container. |
containerDefinition | ContainerDefinition | C | Available for SEA FCL/REEFER. |
events | Array[Event] | M | List of transport events |
mainCategory | String | C | Valid values for ROAD: FTL, LTL, GROUPAGE Valid values for SEA: FCL, LCL, REEFER . Not available for AIR |
mainModality | String | M | Modality of transport. Values: AIR, ROAD, SEA, AIR_SEA, SEA_AIR |
shipmentStatus | String | O | Information about the shipment status. Values: CARGO_EXPECTED_FOR_TRANSPORT , CARGO_READY_FOR_TRANSPORT , PICKED_UP , DEPARTED , ARRIVED , DELIVERED . |
participants | ShipmentParticipants | M | Parties participating in a transport |
routingInformation | ShipmentRoutingInformation | M | Information about shipment routing |
shipmentDetails | ShipmentDetails | M | Additional shipment details |
trackingId | String | M | SPOT Shipment tracking ID. (SPOT ID) |
ShipmentParticipants
"...": {
"airHub": {...},
"consignee": {...},
"controllingAgent": {...},
"delivery": {...},
"destinationAgent": {...},
"destinationHub": {...},
"destinationWarehouse": {...},
"exportCustomsBroker": {...},
"exportConsolidationHub": {...},
"importCustomsBroker": {...},
"exportDeconsolidationHub": {...},
"mainInvoiceTo": {...},
"notifyAgent": {...},
"originAgent": {...},
"originHub": {...},
"originWarehouse": {...},
"pickup": {...},
"principal": {...},
"seaHub": {...},
"shipper": {...},
"shippersTradingCompany": {...},
"thirdParties": [{...}],
"transitHubs": [{...}]
}
<...>
<airHub>...</airHub>
<consignee>...</consignee>
<controllingAgent>...</controllingAgent>
<delivery>...</delivery>
<destinationAgent>...</destinationAgent>
<destinationHub>...</destinationHub>
<destinationWarehouse>...</destinationWarehouse>
<exportCustomsBroker>...</exportCustomsBroker>
<exportConsolidationHub>...</exportConsolidationHub>
<importCustomsBroker>...</importCustomsBroker>
<importDeconsolidationHub>...</importDeconsolidationHub>
<mainInvoiceTo>...</mainInvoiceTo>
<notifyAgent>...</notifyAgent>
<originAgent>...</originAgent>
<originHub>...</originHub>
<originWarehouse>...</originWarehouse>
<pickup>...</pickup>
<principal>...</principal>
<seaHub>...</seaHub>
<shipper>...</shipper>
<shippersTradingCompany>...</shippersTradingCompany>
<thirdParties>
<thirdParty>...</thirdParty>
</thirdParties>
<transitionHubs>
<transitHub>...</transitHub>
</transitionHubs>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
airHub | Party | O | |
consignee | Party | M | |
controllingAgent | Party | M | Office in charge of transport. |
delivery | Party | C | Delivery location. Not available if shipperSelfDelivery is true. |
destinationAgent | Party | O | Not available if mainModality is ROAD . |
destinationHub | Party | C | Only available if mainModality is ROAD and mainCategory is GROUPAGE . |
destinationWarehouse | Party | O | |
exportCustomsBroker | Party | O | |
exportConsolidationHub | Party | O | |
importCustomsBroker | Party | O | |
importDeconsolidationHub | Party | O | |
mainInvoiceTo | Party | M | Party which will be invoiced. |
notifyAgent | Party | O | |
originAgent | Party | O | Not available if mainModality is ROAD . |
originHub | Party | C | Only available if mainModality is ROAD and mainCategory is GROUPAGE . |
originWarehouse | Party | O | |
pickup | Party | C | Pickup location. Not available if consigneeSelfPickup is true. |
principal | Party | M | Owner of the transport order. |
seaHub | Party | O | |
shipper | Party | M | |
shippersTradingCompany | Party | O | |
thirdParties | Array[Party] | O | |
transitHubs | Array[Party] | O |
ShipmentRoutingInformation
"...": {
"delivery": {...},
"pickup": {...},
"routingPoints": [{...}]
}
<...>
<delivery>...</delivery>
<pickup>...</pickup>
<routingPoints>
<routingPoint>...</routingPoint>
</routingPoints>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
pickup | ShipmentRoutingPointPickup | M | Information to pickup |
routingPoints | Array[ShipmentRoutingPoint] | O | Information to routing points between Pickup and Delivery (e.g. Port of loading, Port of discharge, …) |
delivery | ShipmentRoutingPointDelivery | M | Information to delivery |
ShipmentRoutingPoint
"...": {
"city": "string",
"countryCode": "string",
"estimatedArrival": {...},
"estimatedDeparture": {...},
"iataCode": "string",
"legModality": "SEA_FCL",
"realArrival": {...},
"realDeparture": {...},
"remark": "string",
"routingPointType": "PICKUP",
"unlocode": "string",
"zipCode": "string"
}
<...>
<routingPoint>
<city>string</city>
<countryCode>string</countryCode>
<estimatedArrival>...</estimatedArrival>
<estimatedDeparture>...</estimatedDeparture>
<iataCode>string</iataCode>
<legModality>SEA_FCL</legModality>
<realArrival>...</realArrival>
<realDeparture>...</realDeparture>
<remark>string</remark>
<routingPointType>PICKUP</routingPointType>
<unlocode>string</unlocode>
<zipCode>string</zipCode>
</routingPoint>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
remark | String | O | |
routingPointType | String | M | Valid values: EXPORT_CONSOLIDATION_HUB, ORIGIN_WAREHOUSE, DEPARTURE_AIRPORT, PORT_OF_LOADING, TRANSIT_HUB, ORIGIN_HUB, SEA_HUB, AIR_HUB, DESTINATION_HUB, ARRIVAL_AIRPORT, PORT_OF_DISCHARGE, IMPORT_DECONSOLIDATION_HUB, DESTINATION_WAREHOUSE, FINAL_DESTINATION, UNASSIGNED_HUB |
legModality | String | O | If specified, shows transport modality between this and the next routing point. |
countryCode | String | C | Routing point location ISO country code (ISO 3166-1 Alpha-2) |
city | String | C | Routing point location city |
zipCode | String | C | Routing point location zipCode |
iataCode | String | C | 3-letter IATA location code of routing point. |
unlocode | String | C | 5-letter UnLocode location of routing point. |
estimatedArrival | ApiDate | O | Estimated arrival at specified routing location. |
realArrival | ApiDate | O | Actual arrival at specified routing location. |
estimatedDeparture | ApiDate | O | Estimated departure from specified routing location. |
realDeparture | ApiDate | O | Actual departure from specified routing location. |
ShipmentRoutingPointPickup
"...": {
"city": "string",
"countryCode": "string",
"desiredPickup": {...},
"estimatedCargoReadiness": {...},
"estimatedPickup": {...},
"iataCode": "string",
"legModality": "SEA_FCL",
"realCargoReadiness": {...},
"realPickup": {...},
"remark": "string",
"routingPointType": "PICKUP",
"shipperSelfDelivery": true,
"unlocode": "string",
"zipCode": "string"
}
<...>
<city>string</city>
<countryCode>string</countryCode>
<desiredPickup>...</desiredPickup>
<estimatedCargoReadiness>...</estimatedCargoReadiness>
<estimatedPickup>...</estimatedPickup>
<iataCode>string</iataCode>
<legModality>SEA_FCL</legModality>
<realCargoReadiness>...</realCargoReadiness>
<realPickup>...</realPickup>
<remark>string</remark>
<routingPointType>PICKUP</routingPointType>
<shipperSelfDelivery>true</shipperSelfDelivery>
<unlocode>string</unlocode>
<zipCode>string</zipCode>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
remark | String | O | |
routingPointType | String | M | Valid values: PICKUP, PLACE_OF_RECEIPT |
legModality | String | O | If specified, shows transport modality between this and the next routing point. |
countryCode | String | C | Routing point location ISO country code (ISO 3166-1 Alpha-2) |
city | String | C | Routing point location city |
zipCode | String | O | Routing point location zipCode |
iataCode | String | C | 3-letter IATA location code of routing point. |
unlocode | String | C | 5-letter UnLocode location of routing point. |
estimatedCargoReadiness | ApiDate | M | Estimated date when cargo will be ready for transport. |
realCargoReadiness | ApiDate | O | Actual date when cargo was ready for transport. |
estimatedPickup | ApiDate | O | Estimated date when cargo will be picked up. |
realPickup | ApiDate | O | Actual date when cargo was picked up. |
desiredPickup | ApiDateFromTo | O | Time frame of desired pickup of cargo. |
shipperSelfDelivery | Boolean | O |
ShipmentRoutingPointDelivery
"...": {
"city": "string",
"consigneeSelfPickup": true,
"countryCode": "string",
"desiredDelivery": {...},
"estimatedDelivery": {...},
"iataCode": "string",
"legModality": "SEA_FCL",
"realDelivery": {...},
"remark": "string",
"routingPointType": "PICKUP",
"unlocode": "string",
"zipCode": "string"
}
<...>
<city>string</city>
<consigneeSelfPickup>true</consigneeSelfPickup>
<countryCode>string</countryCode>
<desiredDelivery>...</desiredDelivery>
<estimatedDelivery>...</estimatedDelivery>
<iataCode>string</iataCode>
<legModality>SEA_FCL</legModality>
<realDelivery>...</realDelivery>
<remark>string</remark>
<routingPointType>PICKUP</routingPointType>
<unlocode>string</unlocode>
<zipCode>string</zipCode>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
remark | String | O | |
routingPointType | String | M | Valid values: PLACE_OF_HANDOVER, DELIVERY |
legModality | String | O | If specified, shows transport modality between this and the next routing point. |
countryCode | String | C | Routing point location ISO country code (ISO 3166-1 Alpha-2) |
city | String | C | Routing point location city |
zipCode | String | C | Routing point location zipCode |
iataCode | String | C | 3-letter IATA location code of routing point. |
unlocode | String | C | 5-letter UnLocode location of routing point. |
consigneeSelfPickup | Boolean | O | |
estimatedDelivery | ApiDate | O | Estimated date when cargo will be delivered. |
realDelivery | ApiDate | O | Actual date when cargo was delivered. |
desiredDelivery | ApiDateFromTo | O | Time frame of desired delivery of cargo. |
ShipmentDetails
"...": {
"deliveryTerm": {...},
"electronicFreight": "string",
"hblOriginalRequired": true,
"insurance": {...},
"paymentDefinition": {...},
"references": [{...}],
"serviceSpecification": {...},
"shipmentTransportDetails": {...}
}
<...>
<deliveryTerm>...</deliveryTerm>
<electronicFreight>string</electronicFreight>
<hblOriginalRequired>true</hblOriginalRequired>
<insurance>...</insurance>
<paymentDefinition>...</paymentDefinition>
<references>
<reference>...</reference>
</references>
<serviceSpecification>...</serviceSpecification>
<shipmentTransportDetails>...</shipmentTransportDetails>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
deliveryTerm | DeliveryTerm | M | IncoTerm and Location |
electronicFreight | String | O | |
hblOriginalRequired | Boolean | O | |
insurance | Insurance | O | Insurance details |
paymentDefinition | PaymentDefinition | O | Payment information |
references | Array[TransportOrderReference] | O | Shipment references |
serviceSpecification | ServiceSpecification | O | Additional transport services |
shipmentTransportDetails | ShipmentTransportDetails | O | Additional transport details |
ShipmentTransportDetails
"...": {
"carrierContractNumber": "string",
"flightNumbers": ["string"],
"hawb": "string",
"hbl": "string",
"mawb": "string",
"mbl": "string",
"oceanCarrier": {...},
"plateNumbers": ["string"],
"roadCarrier": "string",
"vesselName": "string",
"voyageNumber": "string"
}
<...>
<carrierContractNumber>string</carrierContractNumber>
<flightNumbers>string</flightNumbers>
<hawb>string</hawb>
<hbl>string</hbl>
<mawb>string</mawb>
<mbl>string</mbl>
<oceanCarrier>...</oceanCarrier>
<plateNumbers>
<plateNumber>string</plateNumber>
</plateNumbers>
<roadCarrier>string</roadCarrier>
<vesselName>string</vesselName>
<voyageNumber>string</voyageNumber>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
carrierContractNumber | String | O | |
flightNumbers | Array[String] | O | |
mbl | String | O | Master-BoL number |
hbl | String | O | House-BoL number |
mawb | String | O | Master-AWB number |
hawb | String | O | House-AWB number |
oceanCarrier | OceanCarrier | O | Information about ocean carrier |
plateNumbers | Array[String] | O | Truck plate numbers |
roadCarrier | String | O | Name of road carrier |
vesselName | String | O | Name of carrier vessel |
voyageNumber | String | O | Vessel voyage number |
Shipment Event Updates
POST/GET Event update
messageType: transport.eventUpdate
{
"messageHeader": {...},
"eventUpdate": {...}
}
<ediMessage>
<messageHeader>...</messageHeader>
<eventUpdate>...</eventUpdate>
</ediMessage>
This is used to either create events in our SPOT system or to receive event information when events are updated on your shipment.
Sample files:
FTP folder:
For inbound event updates: /in/transport/eventUpdates
For outbound event updates, if provided on our FTP and not pushed to partner FTP: /out/transport/eventUpdate
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message Header information. |
eventUpdate | EventUpdate | M | Event Update information. |
EventUpdate
"...": {
"trackingId": "string",
"transportReferences": [{...}],
"references": [{...}],
"events": [{...}]
}
<...>
<trackingId>string</trackingId>
<transportReferences>
<transportReference>...</transportReference>
</transportReferences>
<references>
<reference>...</reference>
</references>
<events>
<event>...</event>
</events>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
trackingId | String | M | Shipment tracking ID (SPOT ID). |
transportReferences | Array[TransportReference] | O | Array of transport references. |
references | Array[TransportOrderReference] | O | Array of references. (Customer/Partner/…) |
events | Array[Event] | M | Array of events. |
TransportReference
"...": {
"referenceType": "string",
"value": "string"
}
<...>
<referenceType>...</referenceType>
<value>...</value>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
referenceType | String | M | Type of transport reference MAWB, HAWB, MBL, HBL, JOBFILE_UKW_POSITION . |
value | String | M | Reference value. |
Documents
Upload (document only)
Example filename: 201903151242_shipment_1.0_12345_T103_filename.pdf
Using this method, only the document itself is needed but the filename must strictly follow the below described format, as the for the upload necessary metadata will be parsed from the filename.
Filename format: <creationDate>_<messageType>_<messageTypeVersion>_<reference>_<documentTypeCode>_<filename>.<fileExtension>
FTP folder: /in/transport/documents
Property | Type | Mandatory | Description |
---|---|---|---|
<creationDate> | String | M | Creation date and time |
<messageType> | String | M | Valid message types: clientTransportOrder, shipment |
<messageTypeVersion> | String | M | Will be provided by our IT contact (default 1.0) |
<reference> | String | M | Reference used in the related message type (e.g. for shipment use trackingID). Needs to be aligned with IT contact. |
<documentTypeCode> | String | M | SPOT 4-letter document code. (Document type code list) |
<filename> | String | M | Filename of upload document, can be any filename chosen by customer. |
<fileExtension> | String | M | Fileextension. E.g.: .pdf |
Upload (Document + metadata)
Example document name: hardcopyPOD_12345.pdf
Example metadata name: hardcopyPOD_12345.xml
For the second method an additional metadata file is needed. This allows for the use of multiple and additional reference types. It is recommended to give the metadata file the same name as the document.
FTP folder: /in/transport/document
DocumentMetadata
{
"filename": "testdocument.pdf",
"file": "...",
"accountNumber" : "926989",
"partyId" : "2496735",
"messageType" : "shipment",
"messageVersion": "1.0",
"documentType" : "T103",
"references": [{...}]
}
<?xml version="1.0" encoding="UTF-8" ?>
<documentMetadata>
<filename>testdocument.pdf</filename>
<file>...</file>
<accountNumber>926989</accountNumber>
<partyId>2496735</partyId>
<messageType>shipment</messageType>
<messageVersion>1.0</messageVersion>
<documentType>T103</documentType>
<references>
<reference>...</reference>
</references>
</documentMetadata>
Property | Type | EDI Mandatory | API Mandatory | Description |
---|---|---|---|---|
filename | String | M | M | Filename of document |
file | String | O | Base 64 encoded file. | |
accountNumber | String | C | SPOT Address book account number | |
partyId | String | C | SPOT Address book Party number | |
messageType | String | M | Valid message types: clientTransportOrder, shipment | |
messageVersion | String | M | Will be provided by our IT contact (default 1.0) | |
documentType | String | M | M | SPOT 4-letter document code. (Document type code list) |
references | Array[DocumentUploadReferences] | M | M | Array of references used to find shipment. |
TransportDocumentUploadReferences
"...": {
"type": "TRACKING_ID",
"value": "100149780",
"key": "string"
}
<...>
<type>TRACKING_ID</type>
<value>100149780</value>
<key>string</key>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
type | String | M | Type of reference. Valid values: TRACKING_ID, MAWB, HAWB, MBL, HBL, JOBFILE_UWK_POSITION |
value | String | M | Reference value. |
key | String | O | Key for referenceNumber assignment (For example EDI-Partner reference type). |
Common Transport Objects
CargoDescription
"...": {
"containerIndex": 1,
"cargoDetails": [{...}],
"chargeableWeight": 0,
"currencyCode": "string",
"dangerousGoods": [{...}],
"loadingMeters": 0,
"valueOfGoods": 0,
"ssccNumbers": [
"310000001000000014",
"310000001000000026"
]
}
<...>
<containerIndex>1</containerIndex>
<cargoDetails>
<cargoDetail>...</cargoDetail>
</cargoDetails>
<chargeableWeight>1.1</chargeableWeight>
<currencyCode>string</currencyCode>
<dangerousGoods>
<dangerousGood>...</dangerousGood>
</dangerousGoods>
<loadingMeters>1.1</loadingMeters>
<valueOfGoods>1.1</valueOfGoods>
<ssccNumbers>
<ssccNumber>310000001000000014</ssccNumber>
<ssccNumber>310000001000000026</ssccNumber>
</ssccNumbers>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
containerIndex | Integer | O | Running number for association with container |
cargoDetails | Array[CargoDetails] | M | |
valueOfGoods | BigDecimal | O | |
currencyCode | String | C | ISO 4217 three letter currency code. Mandatory if valueOfGoods is provided |
chargeableWeight | BigDecimal | O | |
loadingMeters | BigDecimal | O | |
dangerousGoods | Array[DangerousGoods] | O | |
ssccNumbers | Array[String] | O | Array of ssccNumbers |
CargoDetails
"...": {
"description": "string",
"height": 0,
"length": 0,
"packageTypeCode": "string",
"pieces": 0,
"volume": 0,
"weight": 0,
"width": 0
}
<...>
<description>string</description>
<height>1</height>
<length>1</length>
<packageTypeCode>string</packageTypeCode>
<pieces>1</pieces>
<volume>1.123</volume>
<weight>1.1</weight>
<width>1</width>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
pieces | Integer | M | |
packageTypeCode | String | M | SPOT package type code (Package type code list) |
description | String | M | |
weight | BigDecimal | O | Weight in kg |
width | Integer | O | Width in cm |
height | Integer | O | Height in cm |
length | Integer | O | Length in cm |
volume | BigDecimal | O | Volume in m³. Will only be taken over if no dimensions are provided. If dimensions are provided, volume will be automatically calculated. |
Contact
"...": {
"emailBusiness": "string",
"emailOther": "string",
"externalReference": "string",
"fax": {...},
"firstName": "string",
"jobRole": "string",
"jobTitle": "string",
"lastName": "string",
"mobile": {...},
"phoneBusiness": {...},
"phoneOther": {...},
"salutation": "MR",
"title": "string"
}
<...>
<emailBusiness>string</emailBusiness>
<emailOther>string</emailOther>
<externalReference>string</externalReference>
<fax>...</fax>
<firstName>string</firstName>
<jobRole>string</jobRole>
<jobTitle>string</jobTitle>
<lastName>string</lastName>
<mobile>...</mobile>
<phoneBusiness>...</phoneBusiness>
<phoneOther>...</phoneOther>
<salutation>MR</salutation>
<title>string</title>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
salutation | String | M | Valid values: MR, MS |
title | String | O | |
firstName | String | M | |
lastName | String | M | |
jobTitle | String | O | |
jobRole | String | O | |
phoneBusiness | Phone | O | Contact business phone number. |
phoneOther | Phone | O | Additional phone number. |
mobile | Phone | O | Contact mobile phone number. |
fax | Phone | O | Contact fax number. |
emailBusiness | String | O | Contact business email address. |
emailOther | String | O | Additional email address. |
ContainerDefinition
"...": {
"containers": [{...}],
"currencyCode": "string",
"generalCargoDescription": "string",
"goodsValue": 0,
"totalPieces": 0,
"totalVolume": 0,
"totalWeight": 0
}
<...>
<containers>
<container>...</container>
</containers>
<currencyCode>string</currencyCode>
<generalCargoDescription>string</generalCargoDescription>
<goodsValue>1.1</goodsValue>
<totalPieces>1</totalPieces>
<totalVolume>1.1</totalVolume>
<totalWeight>1.1</totalWeight>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
containers | Array[Container] | M | Specify details per container. |
generalCargoDescription | String | M | |
goodsValue | BigDecimal | O | Value of goods in all containers. |
currencyCode | String | C | ISO 4217 three letter currency code. Mandatory if goodsValue is provided. |
totalPieces | Integer | O | Overall pieces of goods. |
totalVolume | BigDecimal | O | Overall volume of goods. |
totalWeight | BigDecimal | O | Overall weight of goods. |
Container
"...": {
"containerIndex": 0,
"containerNumber": "",
"containerCode": "",
"sealNumber": "",
"atbNumber": "",
"references": [{...}],
"additionalAttributes": [...]
}
<...>
<additionalAttributes>GOH</additionalAttributes>
<atbNumber>string</atbNumber>
<containerCode>string</containerCode>
<containerIndex>1</containerIndex>
<containerNumber>string</containerNumber>
<references>
<reference>...</reference>
</references>
<sealNumber>string</sealNumber>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
containerIndex | Integer | M | Running number identifying a container. |
containerNumber | String | C | ISO 6346 container number. Required when container references are provided. |
containerCode | String | C | ISO 6346 Standard Container Code. Mandatory for SEA FCL. e.g. 22GP, 22G1, 42GP, 42UT, L5BK … |
sealNumber | String | O | |
atbNumber | String | O | |
references | Array[TransportOrderReference] | O | References on container level |
additionalAttributes | Array[String] | O | Garments on hanger: GOH , Non-operated reefer: ROH , Shippers own container: SOC |
Event
"...": {
"eventTypeIdentifier": "string",
"eventTypeName": "string",
"eventTimestamp": {...},
"remark": "string",
"containerNumber": "string",
"eventLocation": {...},
"additionalAttributes": [{...}]
}
<...>
<eventTypeIdentifier>7</eventTypeIdentifier>
<eventTypeName>DEPARTED</eventTypeName>
<eventTimestamp>...<eventTimestamp>
<remark>Shipment departed from VIE</remark>
<containerNumber/>
<eventLocation>...</eventLocation>
<additionalAttributes>
<additionalAttribute>...</additionalAttribute>
</additionalAttributes>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
eventTypeIdentifier | String | M | Identifier of eventType. (Event type list) |
eventTypeName | String | M | Full name of the event. |
eventTimestamp | ApiDate | M | Date of event occurrence. |
eventLocation | EventLocation | M | Location of event occurrence. |
remark | String | O | A remark to the event. |
additionalAttributes | Array[EventAdditionalAttribute] | C | Array of additional attributes to an event. |
containerNumber | String | O | ISO 6346 container number. If provided, event will only be set on this container. |
The below described list provides an overview about the main event types.
The full list of all event types can be found here.
Identifier | Type | Description |
---|---|---|
84 | REAL | Order confirmation |
13 | ESTIMATED | Estimated cargo readiness |
15 | REAL | Cargo ready |
9 | REAL | PICKED UP |
5 | ESTIMATED | Estimated departure |
7 | REAL | DEPARTED |
21 | REAL | PreAlert processed |
1 | ESTIMATED | Estimated arrival |
4 | REAL | ARRIVED |
10 | ESTIMATED | Estimated delivery |
12 | REAL | DELIVERED |
EventLocation
"...": {
"locationType": "string",
"unlocodeLocation": {...},
"iataLocation": {...},
"addressLocation": {...},
"freeLocation": {...}
}
<...>
<locationType>string</locationType>
<unlocodeLocation>...</unlocodeLocation>
<iataLocation>...</iataLocation>
<addressLocation>...</addressLocation>
<freeLocation>...</freeLocation>
</...>
This defines the location of the event occurrence. Depending on the value of locationType
, the corresponding object needs to be provided.
Property | Type | Mandatory | Description |
---|---|---|---|
locationType | String | M | type identifier of the location UNLOCODE, IATA, ADDRESS, FREE . |
unlocodeLocation | EventUnlocodeLocation | C | location of type UNLOCODE. |
iataLocation | EventIataLocation | C | location of type IATA. |
addressLocation | EventAddressLocation | C | location of type ADDRESS. |
freeLocation | EventFreeLocation | C | location of type FREE. |
EventUnlocodeLocation
"...": {
"unlocode": "string"
}
<...>
<unlocode>string</unlocode>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
unlocode | String | M | UNLOCODE 5-letter location code. |
EventIataLocation
"...": {
"iataCode": "string"
}
<...>
<iataCode>string</iataCode>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
iataCode | String | M | IATA 3-letter airport code. |
EventAddressLocation
"...": {
"city": "string",
"street": "string",
"postCode": "string",
"countryCode": "string"
}
<...>
<city>string</city>
<street>string</street>
<postcode>string</postcode>
<countryCode>string</countryCode>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
city | String | M | Name of the city/location. |
street | String | O | Street address part (including house, store, door numbers). |
postCode | String | O | postal code of the city/location. |
countryCode | String | M | ISO country code (ISO 3166-1 Alpha-2). |
EventFreeLocation
"...": {
"name": "string"
}
<...>
<name>string</name>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
name | String | M | any free-text location information. |
EventAdditionalAttribute
"...": [{
"identifier": "string",
"value": "string"
}]
<...>
<identifier>string</identifier>
<value>string</value>
</...>
Some events have additional attributes e.g.: DELIVERED
has an attribute POD Name
, which gives information about who accepted the delivery. Please see attached excel sheet for detailed identifiers and events.
Property | Type | Mandatory | Description |
---|---|---|---|
identifier | String | M | Identifier of attribute. (Additional attributes list) |
value | String | M | Attribute value |
Insurance
"...": {
"currencyCode": "string",
"requiredBy": "CONSIGNEE",
"value": 0
}
<...>
<currencyCode>string</currencyCode>
<requiredBy>CONSIGNEE</requiredBy>
<value>1.1</value>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
value | BigDecimal | O | Insurance value. |
currencyCode | String | C | ISO 4217 three letter currency code. Mandatory if value is provided. |
requiredBy | String | O | party/contact who requires insurance, if applicable. Valid values: SHIPPER, CONSIGNEE, PRINCIPAL |
OceanCarrier
"...": {
"name": "string",
"scac": "string"
}
<...>
<name>string</name>
<scac>string</scac>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
scac | String | M | SCAC of carrier. |
name | String | O | Name of carrier. |
Party
"...": {
"accountNumber": "string",
"city": "string",
"contacts": [{...}],
"countryCode": "string",
"email": "string",
"externalPartyIdentifier": "string",
"externalReference": "string",
"fax": {...},
"matchCode": "string",
"name": "string",
"otherPhone": {...},
"phone": {...},
"state": "string",
"street": "string",
"zipCode": "string"
}
<...>
<accountNumber>string</accountNumber>
<city>string</city>
<contacts>
<contact>...</contact>
</contacts>
<countryCode>string</countryCode>
<email>string</email>
<externalPartyIdentifier>string</externalPartyIdentifier>
<externalReference>string</externalReference>
<fax>...</fax>
<matchCode>string</matchCode>
<name>string</name>
<otherPhone>...</otherPhone>
<phone>...</phone>
<state>string</state>
<street>string</street>
<zipCode>string</zipCode>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
accountNumber | String | O | SPOT internal account number. If provided no additional info required. |
name | String | C | Mandatory if no accountNumber or externalPartyIdentifier is provided. |
externalPartyIdentifier | String | O | EDI-Partners identifier for a party. If provided it functions in the same way as the accountNumber |
externalReference | String | O | |
matchCode | String | O | |
city | String | C | Mandatory if no accountNumber or externalPartyIdentifier is provided. |
street | String | C | Mandatory if no accountNumber or externalPartyIdentifier is provided. |
zipCode | String | O | |
state | String | O | |
countryCode | String | C | ISO country code (ISO 3166-1 Alpha-2). Mandatory if no accountNumber or externalPartyIdentifier is provided. |
phone | Phone | O | |
fax | Phone | O | |
String | O | ||
webSite | String | O | |
otherPhone | Phone | O | |
contacts | Array[Contact] | O |
PaymentDefinition
"...": {
"cashOnDelivery": 0,
"codCurrencyCode": "string",
"letterOfCredit": "string",
"termsOfPayment": "CASH_AGAINST_DOCUMENT"
}
<...>
<cashOnDelivery>1.1</cashOnDelivery>
<codCurrencyCode>string</codCurrencyCode>
<letterOfCredit>string</letterOfCredit>
<termsOfPayment>CASH_AGAINST_DOCUMENT</termsOfPayment>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
termsOfPayment | String | O | Defines the terms of payment. Valid values: LETTER_OF_CREDIT, OPEN_ACCOUNT, COD, CASH_AGAINST_DOCUMENT, SHIPMENT_RELEASE_AFTER_CONFIRMATION_ONLY, PAID_IN_ADVANCE |
cashOnDelivery | BigDecimal | C | value for Cash-On-Delivery. Mandatory if termsOfPayment is set to COD |
codCurrencyCode | String | C | ISO 4217 three letter currency code. Mandatory if cashOnDeliveryValue is provided. |
letterOfCreditNumber | String | C | Mandatory if termsOfDelivery is set to LETTER_OF_CREDIT |
ServiceSpecification
"...": {
"billOfLoadingType": "EMPTY",
"serviceDefinition": "ECONOMY",
"specialHandlingClassification": [
"GARMET_ON_HANGER"
],
"temperatureFrom": 0,
"temperatureTo": 0
}
<...>
<billOfLoadingType>EMPTY</billOfLoadingType>
<serviceDefinition>ECONOMY</serviceDefinition>
<specialHandlingClassification>GARMET_ON_HANGER</specialHandlingClassification>
<temperatureFrom>1.1</temperatureFrom>
<temperatureTo>1.1</temperatureTo>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
billOfLoading | String | O | Valid values: EMPTY, EXPRESS_BL_REQUIRED, ORIGINAL_BL_REQUIRED, TELEX_RELEASE |
serviceDefinition | String | O | Valid values: ECONOMY, EXPRESS, EMERGENCY Default if not provided: ECONOMY |
specialHandlingClassification | Array[String] | O | Valid values: GARMET_ON_HANGER, HEAVY_LIFT, HUMIDITY_CONTROLLED, OVERSIZED, ROLL_ON_OFF, TEMPERATURE_CONTROLLED, VALUABLE_CARGO |
temperatureFrom | Decimal | C | Min. temperature. Mandatory if specialHandlingClassification contains TEMPERATURE_CONTROLLED |
temperatureTo | Decimal | C | Max. temperature. Mandatory if specialHandlingClassification contains TEMPERATURE_CONTROLLED |
TransportDeliveryTerm
"...": {
"deliveryTerm": "string",
"deliveryTermLocation": "string",
}
<...>
<deliveryTerm>CFR</deliveryTerm>
<deliveryTermLocation>string</deliveryTermLocation>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
deliveryTerm | String | M | 3-letter Incoterms® code. (List of Incoterms®). |
deliveryTermLocation | String | M | Location of delivery term. |
More information regarding the Incoterms® rules can be found at the Incoterms® rules 2010 page of the International Chamber of Commerce.
“Incoterms” is a trademark of the International Chamber of Commerce.
TransportOrderReference
"...": {
"referenceType": "string",
"referenceKey": "string",
"referenceNumber": "string"
}
<...>
<referenceType>string</referenceType>
<referenceKey>string</referenceKey>
<referenceNumber>string</referenceNumber>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
referenceType | String | M | Type of reference. (List of SPOT reference types) |
referenceKey | String | O | Key for referenceNumber assignment (For example EDI-Partner reference type). |
referenceNumber | String | M | Reference value. |
Invoice
POST Invoice
messageType: Invoice
{
"messageHeader": {...},
"invoice": {...}
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<invoice>...</invoice>
</ediMessage>
SFTP folder if provided on our SFTP and not pushed to partner SFTP: /out/invoicing/invoice
Sample files:
The sample files provided are based on real invoices where parties and references have been changed for privacy reasons.
You can also get into contact with our Integration Competence Center and we will provide you with real examples based on your shipments.
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message Header information |
invoice | Invoice | M | Invoice information |
Invoice
"...": {
"invoiceHeader": {...},
"invoicePositions": [{...}]
}
<...>
<invoiceHeader>...</invoiceHeader>
<invoicePositions>
<invoicePosition>...</invoicePosition>
</invoicePositions>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
invoiceHeader | InvoiceHeader | M | Invoice header information |
invoicePositions | Array[InvoicePositions] | M | Invoice positions information |
InvoiceHeader
"...": {
"invoiceNumber": "AUT 606350/2022",
"invoicingParty": {...},
"invoiceRecipient": {...},
"invoiceNetValue": 19362.00,
"invoiceVatValue": 0.00,
"invoiceGrossValue": 19362.00,
"invoiceCurrencyCode": "EUR",
"localNetValue": 19362.00,
"localVatValue": 0.00,
"localGrossValue": 19362.00,
"localCurrencyCode": "EUR",
"localExchangeRate": 1.00,
"voucherType": "invoice",
"collectiveInvoice": false,
"invoiceDate": "2022-01-28",
"issueDate": "2022-01-28",
"periodOfPayment": 60,
"dueDateOfPayment": "2022-02-10"
}
<...>
<invoiceNumber>AUT 606350/2022</invoiceNumber>
<invoicingParty>...</invoicingParty>
<invoiceRecipient>...</invoiceRecipient>
<invoiceNetValue>19362.00</invoiceNetValue>
<invoiceVatValue>0.00</invoiceVatValue>
<invoiceGrossValue>19362.00</invoiceGrossValue>
<invoiceCurrencyCode>EUR</invoiceCurrencyCode>
<localNetValue>19362.00</localNetValue>
<localVatValue>0.00</localVatValue>
<localGrossValue>19362.00</localGrossValue>
<localCurrencyCode>EUR</localCurrencyCode>
<localExchangeRate>1.00</localExchangeRate>
<voucherType>invoice</voucherType>
<collectiveInvoice>false</collectiveInvoice>
<invoiceDate>2022-01-28</invoiceDate>
<issueDate>2022-01-28</issueDate>
<periodOfPayment>13</periodOfPayment>
<dueDateOfPayment>2022-02-10</dueDateOfPayment>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
invoiceNumber | String | M | Invoice or creditNote number. E.g. AUT 999999/2022. |
invoicingParty | InvoicingParty | M | Party that is issueing the invoice |
invoiceRecipient | InvoicingParty | M | Party receiving the invoice |
invoiceNetValue | BigDecimal | M | Net value in document currency |
invoiceVatValue | BigDecimal | M | Vat value in document currency |
invoiceGrossValue | BigDecimal | M | Gross value in document currency |
invoiceCurrencyCode | BigDecimal | M | Currency code in document currency |
localNetValue | BigDecimal | M | Net amount in local currency |
localVatValue | BigDecimal | M | VAT amount in local currency |
localGrossValue | BigDecimal | M | Gross value in local currency |
localCurrencyCode | BigDecimal | M | Currency code in local currency |
localExchangeRate | BigDecimal | M | Exchange rate local |
voucherType | BigDecimal | M | Information about the document type. Valid values: invoice, crediNote, storno |
referencedInvoiceNumber | String | C | Mandatory only for credit notes, identifies the original invoice |
collectiveInvoice | Boolean | M | Collective invoice confirmation. Collective invoice contains multiple invoice positions |
invoiceDate | ApiDate | M | Document creation date |
issueDate | ApiDate | M | Document issue date |
periodOfPayment | Integer | M | Period of payment in days |
dueDateOfPayment | ApiDate | M | Due date of payment |
InvoicePositions
"...": {
"sequenceNumber": 1,
"positionInvoiceNumber": "AUT 606350/2022",
"positionReference": "111111",
"spotId": "111111111",
"customerReference": "test",
"serviceDateFrom": "2022-01-28",
"positionNetValue": 19362.00,
"positionVatValue": 0.00,
"positionGrossValue": 19362.00,
"positionCurrencyCode": "EUR",
"positionLocalNetValue": 19362.00,
"positionLocalVatValue": 0.00,
"positionLocalGrossValue": 19362.00,
"positionLocalCurrencyCode": "EUR",
"positionLocalExchangeRate": 1.00,
"positionDescription": "SPOT-ID: 111111111",
"costBreakdownLines": [{...}],
"orderNumbers": [...],
"shipmentDetails": [{...}],
"freeTexts": [...],
"accountingTexts": [...]
}
<...>
<sequenceNumber>1</sequenceNumber>
<positionInvoiceNumber>AUT 606350/2022</positionInvoiceNumber>
<positionReference>111111</positionReference>
<spotId>111111111</spotId>
<customerReference>test</customerReference>
<serviceDateFrom>2022-01-28</serviceDateFrom>
<serviceDateTo>2022-01-28</serviceDateTo>
<positionNetValue>19362.00</positionNetValue>
<positionVatValue>0.00</positionVatValue>
<positionGrossValue>19362.00</positionGrossValue>
<positionCurrencyCode>EUR</positionCurrencyCode>
<positionLocalNetValue>19362.00</positionLocalNetValue>
<positionLocalVatValue>0.00</positionLocalVatValue>
<positionLocalGrossValue>19362.00</positionLocalGrossValue>
<positionLocalCurrencyCode>EUR</positionLocalCurrencyCode>
<positionLocalExchangeRate>1.00</positionLocalExchangeRate>
<positionDescription>SPOT-ID: 111111111</positionDescription>
<costBreakdownLines>...</costBreakdownLines>
<orderNumbers>...</orderNumbers>
<shipmentDetails>...</shipmentDetails>
<freeTexts>...</freeTexts>
<accountingTexts>...</accountingTexts>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
sequenceNumber | Integer | M | Invoice position iteration. Starts with 1. |
positionInvoiceNumber | String | M | Invoice number |
positionReference | String | M | Position number |
spotId | String | M | Shipment number in SPOT |
customerReference | String | M | Customer order reference |
serviceDateFrom | Date | M | Date on which services rendered |
positionNetValue | BigDecimal | M | Net value |
positionVatValue | BigDecimal | M | Vat value |
positionGrossValue | BigDecimal | M | Gross value |
positionCurrencyCode | String | M | Currency code |
positionLocalNetValue | BigDecimal | M | Local net value |
positionLocalVatValue | BigDecimal | M | Local vat value |
positionLocalGrossValue | BigDecimal | M | Local gross value |
positionLocalCurrencyCode | String | M | Local currency code |
positionLocalExchangeRate | BigDecimal | M | Local exchange rate |
positionDescription | String | M | SPOT-ID (Shipment number) |
costBreakdownLines | Array[CostBreakdownLines] | M | Additional cost breakdown lines |
orderNumbers | Array[String] | O | Customer order numbers |
shipmentDetails | Array[ShipmentDetails] | M | Additional shipment details |
freeTexts | Array[String] | O | Additional free text |
accountingTexts | Array[String] | M | Additional bank and payment terms details |
CostBreakdownLines
"...": {
"lineIndex": 1,
"costType": "10",
"costTypeText": "Air Freight",
"netAmount": 20.00,
"grossAmount": 25.00,
"vatAmount": 5.00,
"vatPercentage": 25.00
}
<...>
<lineIndex>1</lineIndex>
<costType>10</costType>
<costTypeText>Air Freight</costTypeText>
<netAmount>20.00</netAmount>
<grossAmount>25.00</grossAmount>
<vatAmount>5.00</vatAmount>
<vatPercentage>25.00</vatPercentage>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
lineIndex | Integer | M | Position line iteration. Starts with 1. |
costType | String | M | Position line type code identifier |
costTypeText | String | M | Posiition line short description |
netAmount | BigDecimal | M | Net value |
grossAmount | BigDecimal | M | Gross value |
vatAmount | BigDecimal | M | VAT amount |
vatPercentage | BigDecimal | M | VAT percentage |
ShipmentDetails
"...": {
"deliveryTermCode": "CIF",
"mainModality": "SEA",
"mainCategory": "FCL",
"shipper": {...},
"consignee": {...},
"mawb": "XXXXX4444444444",
"hawb": "XXXX33333333333",
"mbl": "XXXXX6666666666",
"hbl": "XXXX2222222222222",
"vesselName": "Okee Alicia",
"portOfLoading": "DEHAM",
"portOfDischarge": "HAIFA",
"etd": "2022-06-04",
"eta": "2022-06-04",
"containers": [{...}],
"containerNumbers": [...],
"cargoDetails": [{...}]
}
<...>
<deliveryTermCode>CIF</deliveryTermCode>
<mainModality>SEA</mainModality>
<mainCategory>FCL</mainCategory>
<shipper>...</shipper>
<consignee>...</consignee>
<mawb>XXXXX4444444444</mawb>
<hawb>XXXX33333333333</hawb>
<mbl>XXXXX6666666666</mbl>
<hbl>XXXX2222222222222</hbl>
<vesselName>Okee Alicia</vesselName>
<portOfLoading>DEHAM</portOfLoading>
<portOfDischarge>HAIFA</portOfDischarge>
<etd>2022-06-04</etd>
<eta>2022-06-04</eta>
<containers>...</containers>
<containerNumbers>...</containerNumbers>
<cargoDetails>...</cargoDetails>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
deliveryTermCode | String | M | 3-letter Incoterms® code. (List of Incoterms®). |
mainModality | String | M | Modality of transport. Valid values: AIR, SEA, ROAD, RAIL |
mainCategory | String | M | Defines the subtype of the transport modality. Mandatory for SEA & ROAD. Valid values for ROAD: FTL, LTL, GROUPAGE. Valid values for SEA: FCL, LCL, REEFER |
shipper | InvoicingParty | M | Shipper |
consignee | InvoicingParty | M | Consignee |
mawb | String | O | Master-AWB number |
hawb | String | O | House-AWB number |
mbl | String | O | Master-BoL number |
hbl | String | O | House-BoL number |
vesselName | String | O | Name of carrier vessel |
portOfLoading | String | O | UNLOCODE 5-letter location code. |
portOfDischarge | String | O | UNLOCODE 5-letter location code. |
etd | String | O | Estimated / Expected Time of Departure |
eta | String | O | Estimated / Expected Time of Arrival |
containers | InvoicingContainers | O | Containers details |
containerNumbers | [Array]String | O | List of all available container numbers |
cargoDetails | InvoicingCargoDetails | O | Overall cargo description |
Invoicing Common Objects
InvoicingParty
"...": {
"accountNumber": "11111",
"name1": "CARGO-PARTNER",
"name2": "string",
"name3": "string",
"street": "Teststreet 20",
"city": "VIENNA",
"zipCode": "1010",
"countryCode": "AT",
"vatId": "AT5222349705",
"taxNumber": "3222339705",
"commercialRegisterNumber": "322-233-9705"
}
<...>
<accountNumber>11111</accountNumber>
<name1>CARGO-PARTNER</name1>
<name2>string</name2>
<name3>string</name3>
<street>Teststreet 20</street>
<city>VIENNA</city>
<zipCode>1010</zipCode>
<countryCode>AT</countryCode>
<vatId>AT5222349705</vatId>
<taxNumber>3222339705</taxNumber>
<commercialRegisterNumber>322-233-9705</commercialRegisterNumber>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
accountNumber | String | M | SPOT internal account number. This is used to associate the invoice with the company or office |
name1 | String | M | |
name2 | String | O | |
name3 | String | O | |
street | String | M | |
city | String | M | |
zipCode | String | M | |
countryCode | String | M | ISO country code (ISO 3166-1 Alpha-2). |
vatId | String | C | Only available & mandatory for InvoicingRecipient & InvoicingParty |
taxNumber | String | C | Only available & mandatory for InvoicingRecipient & InvoicingParty |
commercialRegisterNumber | String | C | Only available & mandatory for InvoicingRecipient & InvoicingParty |
InvoicingContainers
"...": {
"containerNumber": "XXGU6079444",
"containerDimensionCode": "40",
"packageQuantity": 20,
"packageTypeCode": "PAL",
"descriptionOfGoods": "ANY PARTS",
"grossWeight": 3195.590,
"measureOfWeight": "kg",
"volume": 25.008,
"measureOfVolume": "m³"
}
<...>
<containerNumber>XXGU6079444</containerNumber>
<containerDimensionCode>40</containerDimensionCode>
<packageQuantity>20</packageQuantity>
<packageTypeCode>PAL</packageTypeCode>
<descriptionOfGoods>ANY PARTS</descriptionOfGoods>
<grossWeight>3195.590</grossWeight>
<measureOfWeight>kg</measureOfWeight>
<volume>25.008</volume>
<measureOfVolume>m³</measureOfVolume>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
containerNumber | String | O | ISO 6346 container number. Required when container references are provided. |
containerDimensionCode | String | O | ISO 6346 container dimension Code. Mandatory for SEA FCL. e.g. 22GP, 45HC. |
packageQuantity | Integer | O | Package quantity |
packageTypeCode | String | O | SPOT package type code (Package type code list) |
descriptionOfGoods | String | O | Goods description on container level |
grossWeight | BigDecimal | O | Weight of goods |
measureOfWeight | String | O | Measure of weight in kg |
volume | BigDecimal | O | Volume of goods |
measureOfVolume | String | O | Measure of volume in m³ |
InvoicingCargoDetails
"...": {
"cargoDescription": "ANY DESCRITON OF THE CARGO",
"grossWeight": 11409.49,
"chargeableWeight": 11409.49,
"measureOfWeight": "kg",
"volume": 82.566,
"measureOfVolume": "m³"
}
<...>
<cargoDescription>ANY DESCRITON OF THE CARGO</cargoDescription>
<grossWeight>11409.49</grossWeight>
<chargeableWeight>11409.49</chargeableWeight>
<measureOfWeight>kg</measureOfWeight>
<volume>82.566</volume>
<measureOfVolume>m³</measureOfVolume>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
cargoDescription | String | O | Cargo description overall per position |
grossWeight | BigDecimal | O | Gross weight of goods per position |
chargeableWeight | BigDecimal | O | Chargeable weight of goods per position |
measureOfWeight | String | O | Measure of weight in kg |
volume | BigDecimal | O | Volume of goods per position |
measureOfVolume | String | O | Measure of volume in m³ |
Logistics
Items
CREATE/GET Items
messageType: logistics.items
{
"messageHeader":{...},
"items":[{...}]
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<items>
<item>...</item>
</items>
</ediMessage>
Create items in logistics management system.
Filename format: <location>_<operative>_IM_<YYYYMMDD>_<uniqueId>.<extensions>
FTP folder: /in/logistics/items
Sample files
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message header information |
items | Array[Item] | M | Item objects |
Item
"...": {
"warehouse": {...},
"itemCode": "ART-8456",
"itemDescription1": "Article name",
"itemDescription2": "Some more",
"itemDescription3": "",
"itemDescription4": "",
"matchCode": "FIND-ME",
"clearingUnit": "156446",
"itemFamily": "A",
"itemGroup": "B",
"itemSubGroup": "C",
"originCountryCode": "AT",
"itemConfiguration": {....},
"packagingUnits": [{....}]
}
<...>
<warehouse>...</warehouse>
<itemCode>ART-8456</itemCode>
<itemDescription1>Article name</itemDescription1>
<itemDescription2>Some more</itemDescription2>
<itemDescription3></itemDescription3>
<itemDescription4></itemDescription4>
<matchCode>FIND-ME</matchCode>
<clearingUnit>156446</clearingUnit>
<itemFamily>A</itemFamily>
<itemGroup>B</itemGroup>
<itemSubGroup>C</itemSubGroup>
<originCountryCode>AT</originCountryCode>
<itemConfiguration>...</itemConfiguration>
<packagingUnits>
<packagingUnit>...</packagingUnit>
</packagingUnits>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
warehouse | Warehouse | M | Warehouse information. | |
itemCode | String | 20 | M | Item code of customer, used as reference for receipt/dispatch; no leading spaces |
itemDescription1 | String | 35 | M | Item description, name |
itemDescription2 | String | 35 | O | Item description, additional text |
itemDescription3 | String | 35 | O | Item description, additional text |
itemDescription4 | String | 35 | O | Item description, additional text |
matchCode | String | 35 | O | Matchcode, additional search attribute |
clearingUnit | String | 15 | O | HS-code for customs clearance |
itemFamily | String | 3 | O | Additional item attribute, can be used as an additional dimension for grouping and filtering reports data |
itemGroup | String | 3 | O | Additional item attribute, can be used as an additional dimension for grouping and filtering reports data |
itemSubGroup | String | 3 | O | Additional item attribute, can be used as an additional dimension for grouping and filtering reports data |
originCountryCode | String | 2 | O | Country code of item origin |
itemConfiguration | ItemConfiguration | O | Optional configuration for general item handling | |
packagingUnits | Array[PackagingUnit] | 1 - 6 | M | Packaging units of the item, level 1 is PCS |
ItemConfiguration
"...": {
"receiptDispatchEnabled": true,
"eWarehouseEnabled": true,
"allocationNumberEnabled": false,
"batchNumberReceiptEnabled": false,
"batchNumberDispatchEnabled": false,
"serialNumberDispatchEnabled": false,
"fifoLifo": "FIFO",
"fifoDateType": "receipt",
"minimalStock": 10,
"maximalStock": 1000,
"reorderStock": 50,
"blockReason": ""
}
<...>
<receiptDispatchEnabled>true</receiptDispatchEnabled>
<eWarehouseEnabled>true</eWarehouseEnabled>
<allocationNumberEnabled>false</allocationNumberEnabled>
<batchNumberReceiptEnabled>false</batchNumberReceiptEnabled>
<batchNumberDispatchEnabled>false</batchNumberDispatchEnabled>
<serialNumberDispatchEnabled>false</serialNumberDispatchEnabled>
<fifoLifo>FIFO</fifoLifo>
<fifoDateType>receipt</fifoDateType>
<minimalStock>10</minimalStock>
<maximalStock>1000</maximalStock>
<reorderStock>50</reorderStock>
<blockReason></blockReason>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
receiptDispatchEnabled | Boolean | O | If enabled, receipt/dispatch of item is allowed | |
eWarehouseEnabled | Boolean | O | If enabled, item will be shown in eWarehouse | |
allocationNumberEnabled | Boolean | O | If enabled, the allocation numbers of items need to be recorded/considered on receipt/dispatch | |
batchNumberReceiptEnabled | Boolean | M | If enabled, the batch numbers of items need to be recorded on receipt | |
batchNumberDispatchEnabled | Boolean | M | If enabled, the batch numbers of items need to be recorded on dispatch. Is only effective, if “batchNumberReceiptEnabled” is also enabled. | |
serialNumberDispatchEnabled | Boolean | O | If enabled, the serial numbers of items need to be recorded on dispatch. | |
fifoLifo | String | 4 | O | FIFO or LIFO |
fifoDateType | String | 15 | O | Distinction on which date the FIFO order depends (expiration/production/receipt) |
minimalStock | Integer | O | Minimal stock quantity | |
maximalStock | Integer | O | Maximal stock quantity | |
reorderStock | Integer | O | Reorder stock quantity | |
blockReason | String | 3 | O | Block Reason, default proposal for items receipt |
Receipt Avisos
CREATE Receipt Avisos
messageType: logistics.receiptAviso
{
"messageHeader":{...},
"receiptAviso":{...}
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<receiptAviso>...</receiptAviso>
</ediMessage>
Create receipt avisos in logistics management system.
Filename format: <location>_<operative>_RA_<YYYYMMDD>_<uniqueId>.<extensions>
FTP folder: /in/logistics/receiptAvisos
Sample files
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message header information |
receiptAviso | ReceiptAviso | M | Receipt aviso |
ReceiptAviso
"...": {
"warehouse": {...},
"customerReference1": "REF/8345",
"customerReference2": "0015430",
"supplierCode": "9997-SP",
"supplierReference": "SUP44",
"forwarderCode": "56435",
"forwarderReference": "974-456",
"comment": "attention please!",
"goodsInDate": {...},
"positions": [{...}],
}
<...>
<warehouse>...</warehouse>
<customerReference1>REF/8345</customerReference1>
<customerReference2>0015430</customerReference2>
<supplierCode>9997-SP</supplierCode>
<supplierReference>SUP44</supplierReference>
<forwarderCode>56435</forwarderCode>
<forwarderReference>974-456</forwarderReference>
<comment>attention please!</comment>
<goodsInDate>...</goodsInDate>
<positions>
<position>...</position>
</positions>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
warehouse | Warehouse | M | Warehouse information | |
customerReference1 | String | 35 | M | customer reference 1 |
customerReference2 | String | 35 | O | customer reference 2 |
supplierCode | String | 13 | O | WMS supplier code (Default: if not specified the warehouse/operative is taken) |
supplierReference | String | 35 | O | Reference of supplier |
forwarderCode | String | 13 | O | WMS forwarder code. Needs to be aligned with operational business contact. |
forwarderReference | String | 35 | O | Reference of forwarder |
comment | String | 180 | O | Comments to the aviso |
goodsInDate | ApiDate | M | Planned entry date of goods into warehouse, time is not used | |
positions | Array[ReceiptAvisoPosition] | M | Receipt aviso positions |
ReceiptAvisoPosition
"...": {
"clientPositionNumber": "010",
"quantity": 8,
"variableQuantity": 4,
"itemCode": "ART-8456",
"itemCodeClient": "SUPART-1221",
"batchNumber": "1654863",
"allocationNumber": "44",
"packagingType": "PAL",
"mheReference": "SSCC-Number",
"productionDate": {...},
"bestBeforeDate": {...},
}
<...>
<clientPositionNumber>010</clientPositionNumber>
<quantity>8</quantity>
<variableQuantity>4</variableQuantity>
<itemCode>ART-8456</itemCode>
<itemCodeClient>SUPART-1221</itemCodeClient>
<batchNumber>1654863</batchNumber>
<allocationNumber>44</allocationNumber>
<packagingType>PAL</packagingType>
<mheReference>SSCC-Number</mheReference>
<productionDate>...</productionDate>
<bestBeforeDate>...</bestBeforeDate>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
clientPositionNumber | String | 5 | O | Position number from customer |
quantity | Integer | 10 | M | Quantity in pieces (packing unit, smallest unit) |
variableQuantity | Integer | 10,4 | O | Variable Quantity (running meter) |
itemCode | String | 20 | M | Item number defined in item master database, no leading spaces |
itemCodeClient | String | 20 | O | Item number provided by client, e.g. supplier item code |
batchNumber | String | 35 | O | Batch number |
allocationNumber | String | 35 | O | Allocation number, if item is reserved for a project for example |
packagingType | String | 3 | O | Packing unit e.g. PAL. Needs to be aligned with the operational business contact. |
mheReference | String | 35 | O | Reference MHE (= Mechanical Handling Equipment), e.g. SSCC-Number |
productionDate | ApiDate | O | Goods production date (if applicable to item), time is not used | |
bestBeforeDate | ApiDate | C | Goods expiration date (if applicable to item), time is not used |
Receipt Orders
CREATE Receipt Order
messageType: logistics.receiptOrder
{
"messageHeader":{...},
"receiptOrder":{...}
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<receiptOrder>...</receiptOrder>
</ediMessage>
Create receipt orders in logistics management system.
Filename format: <location>_<operative>_RO_<YYYYMMDD>_<uniqueId>.<extensions>
FTP folder: /in/logistics/receiptOrders
Sample files
- XML: EDI, [API][receipt-order-creation-example-xml-api]
- JSON: [EDI][receipt-order-creation-example-json], API
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message header information |
receiptOrder | ReceiptOrder | M | Receipt order |
ReceiptOrder
"..." : {
"warehouse": {...},
"customerReference1": "AB-123456",
"customerReference1": "",
"supplierCode": "SUP44",
"supplierReference": "9997-SP",
"forwarderCode": "56435",
"forwarderReference": "974-456",
"comment": "Glass - Fragile!",
"receiverCode": "S-845",
"positions": [{...}],
}
<...>
<warehouse>...</warehouse>
<customerReference1>AB-123456</customerReference1>
<customerReference2></customerReference2>
<supplierCode>SUP44</supplierCode>
<supplierReference>9997-SP</supplierReference>
<forwarderCode>56435</forwarderCode>
<forwarderReference>974-456</forwarderReference>
<comment>Glass - Fragile!</comment>
<receiverCode>S-845</receiverCode>
<positions>
<position>...</position>
</positions>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
warehouse | Warehouse | M | Warehouse information | |
customerReference1 | String | 35 | M | customer reference 1 |
customerReference2 | String | 35 | O | customer reference 2 |
supplierCode | String | 13 | O | WMS supplier code (Default: if not specified the warehouse/operative is taken) |
supplierReference | String | 35 | O | Reference of supplier |
forwarderCode | String | 13 | O | WMS forwarder code |
forwarderReference | String | 35 | O | Reference of forwarder |
comment | String | 60 | O | Comments to the receipt order |
receiverCode | String | 13 | O | WMS receiver code, if the goods receiver is already known |
positions | Array[ReceiptOrderPosition] | M | Receipt order positions |
ReceiptOrderPosition
"...": {
"clientPositionNumber": "010",
"quantity": 8,
"itemCode": "ART-8456",
"batchNumber": "1654863",
"allocationNumber": "44",
"customsReference": "576438",
"packagingType": "PAL",
"mheReference": "SSCC-Number",
"blockReason": "QLT",
"productionDate": {...},
"bestBeforeDate": {...},
}
<...>
<clientPositionNumber>010</clientPositionNumber>
<itemCode>ART-8456</itemCode>
<quantity>8</quantity>
<batchNumber>1654863</batchNumber>
<allocationNumber>44</allocationNumber>
<customsReference>576438</customsReference>
<packagingType>PAL</packagingType>
<mheReference>SSCC-Number</mheReference>
<blockReason>QLT</blockReason>
<productionDate>...</productionDate>
<bestBeforeDate>...</bestBeforeDate>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
clientPositionNumber | String | 5 | O | Position number from customer |
itemCode | String | 20 | M | Item number defined in item master database,no leading spaces |
quantity | Integer | 10 | M | Quantity in pieces (packing unit,smallest unit) |
batchNumber | String | 35 | O | Batch number |
allocationNumber | String | 35 | O | Allocation number, if item is reserved for a project for example |
customsReference | String | 35 | O | Customs tariff code |
packagingType | String | 3 | O | Packing unit e.g. PAL, Needs to be aligned with the operational business contact. |
mheReference | String | 35 | O | Reference MHE (=Mechanical Handling Equipment), e.g. SSCC-Number |
blockReason | String | 3 | O | Reason for block QLT Quality check, GW Locked goods (damage) |
productionDate | ApiDate | O | Production date (if applicable to item), time is not used | |
bestBeforeDate | ApiDate | O | Goods expiration date (if applicable to item), time is not used |
Receipt Confirmations
GET Receipt Confirmations
messageType: logistics.receiptConfirmation
{
"messageHeader":{...},
"receiptOrderConfirmation":{...}
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<receiptConfirmation>...</receiptConfirmation>
</ediMessage>
Filename format: <location>_<operative>_RC_<YYYYMMDD>_<uniqueId>.<extensions>
FTP folder: /out/logistics/receiptConfirmations
Sample files
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message header information |
receiptConfirmation | ReceiptConfirmation | M | Receipt confirmation |
ReceiptConfirmation
"...": {
"warehouse": {...},
"receiptOrderId": 87954,
"customerReference1": "AB-123456",
"customerReference1": "",
"supplier": {...},
"supplierReference": "HSFR215",
"forwarder": {...},
"forwarderReference": "89796F",
"goodsInDate": {...},
"positions": [{...}],
}
<...>
<warehouse>...</warehouse>
<receiptOrderId>87954</receiptOrderId>
<customerReference1>AB-123456</customerReference1>
<customerReference2></customerReference2>
<supplier>...</supplier>
<supplierReference>HSFR215</supplierReference>
<forwarder>...</forwarder>
<forwarderReference>89796F</forwarderReference>
<goodsInDate>...</goodsInDate>
<positions>
<position>...</position>
</positions>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
warehouse | Warehouse | M | Warehouse information | |
receiptOrderId | Integer | 10 | M | ID generated for warehouse receipt order |
customerReference1 | String | 35 | M | customer reference 1 |
customerReference2 | String | 35 | O | customer reference 2 |
supplier | LogisticsParty | O | ||
supplierReference | String | 35 | O | Reference of supplier |
forwarder | LogisticsParty | O | ||
forwarderReference | String | 35 | O | Reference of forwarder |
goodsInDate | ApiDate | O | Entry date of goods into warehouse | |
positions | Array[ReceiptConfirmationPosition] | M | Receipt confirmation positions |
ReceiptConfirmationPosition
"...": {
"positionNumber": 1,
"clientPositionNumber": "010",
"receiptAvisoPositionNumber": "2",
"quantity": 5,
"variableQuantity": 4,
"itemCode": "ART-8456",
"itemDescription1": "Article name",
"itemDescription2": "Some more",
"itemDescription3": "",
"itemDescription4": "",
"itemVolume": 2.47,
"measureOfVolume": "m³",
"itemWeight": 24.63,
"measureOfWeight": "kg",
"eanCode": "5438245978836",
"sscc": "SSCC-Number",
"batchNumber": "1654863",
"allocationNumber": "44",
"customsReference": "8564168146",
"packagingType": "PAL",
"mheReference": "MHE-REF",
"turnoverClass": "S",
"stockRestriction": "K",
"productionDate": {...},
"bestBeforeDate": {...},
"packagingUnits": [{....}]
}
<...>
<positionNumber>1</positionNumber>
<clientPositionNumber>010</clientPositionNumber>
<receiptAvisoPositionNumber>2</receiptAvisoPositionNumber>
<quantity>5</quantity>
<variableQuantity>4</variableQuantity>
<itemCode>ART-8456</itemCode>
<itemDescription1>Article name</itemDescription1>
<itemDescription2>Some more</itemDescription2>
<itemDescription3></itemDescription3>
<itemDescription4></itemDescription4>
<itemVolume>2.47</itemVolume>
<measureOfVolume>m³</measureOfVolume>
<itemWeight>24.63</itemWeight>
<measureOfWeight>kg</measureOfWeight>
<eanCode>5438245978836</eanCode>
<sscc>SSCC-Number</sscc>
<batchNumber>1654863</batchNumber>
<allocationNumber>44</allocationNumber>
<customsReference>8564168146</customsReference>
<packagingType>PAL</packagingType>
<mheReference>MHE-REF</mheReference>
<turnoverClass>S</turnoverClass>
<stockRestriction>K</stockRestriction>
<productionDate>...</productionDate>
<bestBeforeDate>...</bestBeforeDate>
<packagingUnits>
<packagingUnit>...</packagingUnit>
</packagingUnits>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
positionNumber | Integer | 5 | M | Position number |
clientPositionNumber | String | 5 | O | Position number from client |
receiptAvisoPositionNumber | String | 10 | M | Position number from receipt aviso/order |
quantity | Integer | 10 | M | Quantity in pieces (packing unit, smallest unit) |
variableQuantity | Integer | 10,4 | O | Variable Quantity (running meter) |
itemCode | String | 20 | M | Item number defined in item master database |
itemDescription1 | String | 35 | M | Item description 1 |
itemDescription2 | String | 35 | O | Item description 2 |
itemDescription3 | String | 35 | O | Item description 3 |
itemDescription4 | String | 35 | O | Item description 4 |
itemVolume | BigDecimal | 10,6 | O | Item volume in m³ |
measureOfVolume | String | 3 | C | Mandatory, if itemVolume is filled. Currently always “m³”. |
itemWeight | BigDecimal | 10,4 | O | Item weight in kg |
measureOfWeight | String | 3 | C | Mandatory, if itemWeight is filled. Currently always “kg”. |
eanCode | String | 13 | O | European Article Number |
sscc | String | 18 | O | SSCC-Number |
batchNumber | String | 35 | O | Batch number |
allocationNumber | String | 35 | O | Allocation number, if item is reserved for a project for example |
customsReference | String | 35 | O | Customs reference |
packagingType | String | 3 | O | Packaging type codes: PCS, BOX, PAL |
mheReference | String | 35 | O | Reference MHE (= Mechanical Handling Equipment) |
turnoverClass | String | 1 | O | Optional classification based on inventory turnover ratio of the item. |
stockRestriction | String | 20 | O | Optional stock restriction for specific item storage (e.g. temperature controlled). |
productionDate | ApiDate | O | Goods production date, if applicable to item | |
bestBeforeDate | ApiDate | O | Goods expiration date, if applicable to item | |
packagingUnits | Array[PackagingUnit] | 1 - 6 | M | Packaging units of the item, level 1 is PCS |
Dispatch Orders
CREATE Dispatch Orders
messageType: logistics.dispatchOrder
{
"messageHeader":{...},
"dispatchOrder":[{...}]
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<dispatchOrder>...</dispatchOrder>
</ediMessage>
Creates a dispatch order in our warehouse system.
Filename format: <location>_<operative>_DO_<YYYYMMDD>_<uniqueId>.<extensions>
FTP folder: /in/logistics/dispatchOrders
Sample files
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message header information |
dispatchOrder | DispatchOrder | M | Dispatch order |
DispatchOrder
"...": {
"warehouse": {...},
"customerReference1": "REF/8345",
"customerReference2": "0015430",
"orderReference": "ORD-987623",
"receiver": {...},
"deliveryDate": {...},
"deliveryTerm": {...},
"forwarderCode": "56435",
"shippingMode": "",
"serviceCode": "",
"comment1": "Glass inside!",
"comment2": "instructions can be here",
"codValue": 92.70,
"codCurrencyCode": "EUR",
"positions": [{...}]
}
<...>
<warehouse>...</warehouse>
<customerReference1>"REF/8345</customerReference1>
<customerReference2>0015430</customerReference2>
<orderReference>ORD-987623</orderReference>
<receiver>...</receiver>
<deliveryDate>...</deliveryDate>
<deliveryTerm>...</deliveryTerm>
<forwarderCode>56435</forwarderCode>
<shippingMode>56435</shippingMode>
<serviceCode>56435</serviceCode>
<comment1>Glass inside!</comment1>
<comment2>instructions can be here</comment2>
<codValue>92.70</codValue>
<codCurrencyCode>EUR</codCurrencyCode>
<positions>
<position>...</position>
</positions>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
warehouse | Warehouse | M | Information about warehouse | |
customerReference1 | String | 35 | M | Reference, all lines with the same reference are one dispatch order. |
customerReference2 | String | 35 | O | Reference from customer. |
orderReference | String | 35 | O | customer’s client order reference, if needed |
receiver | LogisticsParty | M | Receiver of dispatched goods | |
deliveryDate | ApiDate | 10 | O | Date of desired delivery, time is not used |
deliveryTerm | DeliveryTerm | O | Delivery term and location | |
forwarderCode | String | 13 | O | Forwarder code defined in forwarder master database. Align with integration manager. |
shippingMode | String | 3 | O | Shipping mode for parcel orders. Has to be aligned with respective warehouse. |
serviceCode | String | 3 | O | Service code for parcel orders. Has to be aligned with respective warehouse. |
comment1 | String | 35 | O | short comment |
comment2 | String | 160 | O | long comment |
codValue | BigDecimal | 15,5 | O | Cash on delivery value |
codCurrencyCode | String | 3 | O | Cash on delivery currency code |
positions | Array[DispatchOrderPosition] | M | Positions of dispatch orders |
DispatchOrderPosition
"...": {
"clientPositionNumber": "00010",
"customerPositionReference": "8564168146",
"quantity": 5,
"itemCode": "ART-8456",
"batchNumber": "1654863",
"allocationNumber": "44",
"customsReference": "8564168146",
"packagingType": "PAL",
"pricePerItem": 18.54,
"totalPrice": 92.70,
"currencyCode": "EUR",
}
<...>
<clientPositionNumber>00010</clientPositionNumber>
<customerPositionReference>8564168146</customerPositionReference>
<quantity>5</quantity>
<itemCode>ART-8456</itemCode>
<batchNumber>1654863</batchNumber>
<allocationNumber>44</allocationNumber>
<customsReference>8564168146</customsReference>
<packagingType>PAL</packagingType>
<pricePerItem>18.54</pricePerItem>
<totalPrice>92.70</totalPrice>
<currencyCode>EUR</currencyCode>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
clientPositionNumber | String | 5 | O | Position number from customer |
customerPositionReference | String | 35 | O | Position reference number from customer. This is a passthrough position not visible in WMS only in dispatch confirmation. |
quantity | Integer | 10 | M | Quantity in pieces (packing unit level 1) |
itemCode | String | 20 | M | Item number defined in item master database, no leading spaces |
batchNumber | String | 35 | O | Batch number |
allocationNumber | String | 35 | O | Allocation number, if item is should be taken from an allocated (reserved) stock |
customsReference | String | 35 | O | customs reference of item |
packagingType | String | 3 | O | packagingType for item |
pricePerItem | BigDecimal | 15,5 | O | Price per item |
totalPrice | BigDecimal | 15,5 | O | Total price for items |
currencyCode | String | 3 | O | ISO 4217 three letter currency code |
Dispatch Confirmations
GET Dispatch Confirmations
messageType: logistics.dispatchConfirmation
{
"messageHeader":{...},
"dispatchConfirmation":{...}
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<dispatchConfirmation>...</dispatchConfirmation>
</ediMessage>
Get dispatch confirmations from logistics management system.
Filename format: <location>_<operative>_DC_<YYYYMMDD>_<uniqueId>.<extensions>
FTP folder: /out/logistics/dispatchConfirmations
Sample files
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message header information |
dispatchConfirmation | DispatchConfirmation | M | Dispatch confirmation |
DispatchConfirmation
"...": {
"warehouse": {...},
"dispatchOrderId": 34535,
"customerReference1": "REF/8345",
"customerReference2": "0015430",
"orderReference": "ORD-987623",
"orderDate": {...},
"receiver": {...},
"shippingMode": "ABH",
"deliveryTerm": {...},
"deliveryNoteNumber": "1538",
"forwarder": {...},
"shipmentTrackingId": "",
"shipmentTrackingUrl": "",
"positions": [{...}],
"packages": [{...}],
"shipments": [{...}],
}
<...>
<warehouse>...</warehouse>
<dispatchOrderId>34535</dispatchOrderId>
<customerReference1></customerReference1>
<customerReference2></customerReference2>
<orderReference></orderReference>
<orderDate>...</orderDate>
<receiver>...</receiver>
<shippingMode>ABH</shippingMode>
<deliveryTerm>...</deliveryTerm>
<deliveryNoteNumber>1538</deliveryNoteNumber>
<forwarder>...</forwarder>
<shipmentTrackingId>...</shipmentTrackingId>
<shipmentTrackingUrl>...</shipmentTrackingUrl>
<positions>
<position>...</position>
</positions>
<packages>
<package>...</package>
</packages>
<shipments>
<shipment>...</shipment>
</shipments>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
warehouse | Warehouse | M | Information about warehouse | |
dispatchOrderId | Integer | O | ID generated for warehouse dispatch order | |
customerReference1 | String | 35 | M | Reference from customer, taken from the corresponding dispatch order. |
customerReference2 | String | 35 | O | Reference from customer, taken from the corresponding dispatch order. |
orderReference | String | 35 | O | Order reference from customer’s client, taken from the corresponding dispatch order. |
orderDate | ApiDate | O | Dispatch order date | |
receiver | LogisticsParty | M | Receiver of dispatch Confirmation | |
shippingMode | String | 3 | O | Valid values: ABH, SPE, PAR ABH=pick-up, SPE=freight forwarder, PAR=parcel service |
deliveryTerm | DeliveryTerm | M | Delivery term and location | |
deliveryNoteNumber | String | 10 | O | Delivery note number |
forwarder | LogisticsParty | M | Forwarder of dispatch confirmation | |
shipmentTrackingId | String | O | shipment tracking id | |
shipmentTrackingUrl | String | O | shipment tracking url | |
positions | Array[DispatchConfirmationPosition] | M | Positions of dispatch confirmation | |
packages | Array[DispatchConfirmationPackage] | O | Packages of goods dispatched | |
shipments | Array[DispatchConfirmationShipment] | O | Shipments of dispatch confirmation |
DispatchConfirmationPosition
"...": {
"positionNumber": "1",
"clientPositionNumber": "010",
"deliveryNotePositionNumber": "010",
"customerPositionReference": "010",
"quantity": 15,
"variableQuantity": 4,
"itemCode": "ART-8456",
"itemdescription1": "Article name",
"itemdescription2": "Some more",
"itemdescription3": "",
"itemdescription4": "",
"itemVolume": 2.47,
"measureOfVolume": "m³",
"itemWeight": 24.63,
"measureOfWeight": "kg",
"eanCode": "5438245978836",
"sscc": "SSCC-Number",
"batchNumber": "1654863",
"allocationNumber": "44",
"mhe": "MHE",
"mheReference": "MHE-REF",
"packagingType": "PAL",
"customsReference": "8564168146",
"clearingUnit": "CLU",
"pricePerItem": 3,
"totalPrice": 45,
"currencyCode": "EUR",
"productionDate": {...},
"bestBeforeDate": {...},
"packagingUnits": [{....}],
"serialNumbers": ["123456789", "987654321", "01710"]
}
<...>
<positionNumber>1</positionNumber>
<clientPositionNumber>010</clientPositionNumber>
<deliveryNotePositionNumber>010</deliveryNotePositionNumber>
<customerPositionReference>010</customerPositionReference>
<quantity>15</quantity>
<variableQuantity>4</variableQuantity>
<itemCode>ART-8456</itemCode>
<itemDescription1>Artcle name</itemDescription1>
<itemDescription2>Some more</itemDescription2>
<itemDescription3></itemDescription3>
<itemDescription4></itemDescription4>
<itemVolume>2.47</itemVolume>
<measureOfVolume>m³</measureOfVolume>
<itemWeight>24.63</itemWeight>
<measureOfWeight>kg</measureOfWeight>
<eanCode>5438245978836</eanCode>
<sscc>SSCC-Number</sscc>
<batchNumber>1654863</batchNumber>
<allocationNumber>44</allocationNumber>
<mhe>MHE</mhe>
<mheReference>MHE-REF</mheReference>
<serialNumber>123456</serialNumber>
<packagingType>PAL</packagingType>
<customsReference>8564168146</customsReference>
<clearingUnit>CLU</clearingUnit>
<pricePerItem>3</pricePerItem>
<totalPrice>45</totalPrice>
<currencyCode>EUR</currencyCode>
<productionDate>...</productionDate>
<bestBeforeDate>...</bestBeforeDate>
<packagingUnits>
<packagingUnit>...</packagingUnit>
</packagingUnits>
<serialNumbers>...</serialNumbers>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
positionNumber | String | 5 | M | Position number |
clientPositionNumber | String | 5 | O | Position number from client |
deliveryNotePositionNumber | String | 5 | M | Delivery note position number |
customerPositionReference | String | 35 | O | Position reference from customer |
quantity | Integer | M | Quantity in pieces (packaging unit, smallest unit) | |
variableQuantity | BigDecimal | 10,4 | O | Variable Quantity (running meter) |
itemCode | String | 20 | M | Item number defined in item master database |
itemDescription1 | String | 35 | M | Item description 1 |
itemDescription2 | String | 35 | O | Item description 2 |
itemDescription3 | String | 35 | O | Item description 3 |
itemDescription4 | String | 35 | O | Item description 4 |
itemVolume | BigDecimal | 10,6 | O | Item volume |
measureOfVolume | String | 3 | C | Mandatory, if itemVolume is filled. Currently always “m³”. |
itemWeight | BigDecimal | 10,4 | O | Item weight |
measureOfWeight | String | 3 | C | Mandatory, if itemWeight is filled. Currently always “kg”. |
eanCode | String | 13 | O | European Article Number |
sscc | String | 18 | O | SSCC Number |
batchNumber | String | 35 | O | Batch number |
allocationNumber | String | 35 | O | Allocation number, if item is reserved for a project for example |
packagingType | String | 3 | O | Packaging type code of the smallest packaging unit of items. |
mhe | String | 3 | O | Packaging type code of Mechanical Handling package, if position items are packaged to another package |
mheReference | String | 35 | O | Reference of MHE, e.g. SSCC-Number |
customsReference | String | 35 | O | Customs reference |
clearingUnit | String | 15 | O | HS-code for customs clearance |
pricePerItem | BigDecimal | 15,5 | O | Price per item |
totalPrice | BigDecimal | 15,5 | O | Total price of position |
currencyCode | String | 3 | C | ISO 4217 three letter currency code. Mandatory, if pricePerItem or totalPrice are provided. |
productionDate | ApiDate | O | Goods production date, if applicable to item. | |
bestBeforeDate | ApiDate | O | Goods expiration date, if applicable to item. | |
packagingUnits | Array[PackagingUnit] | 1 - 6 | M | Packaging units of the item, level 1 is PCS |
serialNumbers | Array[String] | 35 | O | Serial numbers |
DispatchConfirmationPackage
"...": {
"packageNumber": 1,
"quantity": 2,
"packagingType": "PAL",
"packageReference": 12345,
"handlingUnitNumber": AAAAQZ,
"length": 120,
"width": 80,
"height": 50,
"measureOfDimension": "cm",
"volume": 0.48,
"measureOfVolume": "m³",
"weight": 44.63,
"measureOfWeight": "kg",
"trackingId": "",
"trackingUrl": "",
"packageItems": [{...}]
}
<...>
<packageNumber>1</packageNumber>
<quantity>2</quantity>
<packagingType>PAL</packagingType>
<packageReference>12345</packageReference>
<handlingUnitNumber>AAAAQZ</handlingUnitNumber>
<length>120</length>
<width>80</width>
<height>50</height>
<measureOfDimension>cm</measureOfDimension>
<volume>0.48</volume>
<measureOfVolume>m³</measureOfVolume>
<weight>44.63</weight>
<measureOfWeight>kg</measureOfWeight>
<trackingId>12345</trackingId>
<trackingUrl>123</trackingUrl>
<packageItems>
<packageItem>...</packageItem>
</packageItems>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
packageNumber | Integer | M | continuous number of package | |
quantity | Integer | M | Quantity of packages | |
packagingType | String | 3 | M | Packaging type code of package |
packageReference | String | 35 | O | package reference (for example external SSCC) |
handlingUnitNumber | String | 6 | M | unique package iD given by WMS. This iD is also present on physical package label. |
length | Integer | O | Length of package | |
width | Integer | O | Width of package | |
height | Integer | O | Height of package | |
serialNumbers | Array [String] | 35 | C | Serial number |
measureOfDimension | String | 3 | C | Mandatory, if length /width /height are filled. Currently always “cm”. |
volume | BigDecimal | 10,5 | O | Volume of package |
measureOfVolume | String | 3 | C | Mandatory, if volume is filled. Currently always “m³”. |
weight | BigDecimal | 10,2 | O | Weight of package |
measureOfWeight | String | 3 | C | Mandatory, if itemWeight is filled. Currently always “kg”. |
trackingId | String | O | tracking id | |
trackingUrl | String | O | tracking url | |
packageItems | Array[PackageItems] | O | Details for items in the package |
DispatchConfirmationPackageitems
"...": {
"itemCode": 1,
"quantity": 2,
"packagingType": "STK",
"deliveryNotePositionNumber": "",
"serialNumbers": ["123456789", "890123"]
}
<...>
<itemCode>1</itemCode>
<quantity>2</quantity>
<packagingType>STK</packagingType>
<deliveryNotePositionNumber>12345</deliveryNotePositionNumber>
<serialNumbers>
<serialNumber>123456</serialNumber>
<serialNumber>890123</serialNumber>
</serialNumbers>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
itemCode | String | 20 | M | item Code |
quantity | Integer | M | quantity of item in the package | |
packagingType | Integer | 3 | M | packaging Type |
deliveryNotePositionNumber | String | 5 | M | delivery Note Position Number |
serialNumbers | Array[String] | O | serial numbers |
DispatchConfirmationShipment
"...": {
"trackingId": "1Z108551YW96458034",
"provider": "UPS",
"trackingURL": "...",
"parcelShipmentURL": "...",
"parcels": [{...}]
}
<...>
<trackingId>1Z108551YW96458034</trackingId>
<provider>UPS</provider>
<trackingURL>...</trackingURL>
<parcelShipmentURL>...</parcelShipmentURL>
<parcels>
<parcel>...</parcel>
</parcels>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
trackingId | String | O | Tracking Id of the shipment | |
provider | String | O | Name of the provider | |
trackingURL | String | O | Tracking URL | |
parcelShipmentURL | String | O | Parcel shipment URL | |
parcels | Array[DispatchConfirmationParcel] | O | Parcels of the shipment |
DispatchConfirmationParcel
"...": {
"licensePlate": "1Z108551YW96458034"
}
<...>
<licensePlate>1Z108551YW96458034</licensePlate>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
licensePlate | String | O | Parcel license plate |
Inventory Reports
GET Inventory Reports
messageType: logistics.inventoryReport
{
"messageHeader":{...},
"inventoryPositions":{...}
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<inventoryPositions>...</inventoryPositions>
</ediMessage>
Get inventory report for stock items.
Filename format: <location>_<operative>_IR_<YYYYMMDD>_<uniqueId>.<extensions>
FTP folder: /out/logistics/inventoryReports
Sample files
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message header information |
inventoryPositions | Array[InventoryPosition] | M | Inventory |
InventoryPosition
"...": {
"warehouse": {...},
"itemCode": "ART-8456",
"itemDescription1": "Article name",
"itemDescription2": "Some more",
"itemDescription3": "",
"itemDescription4": "",
"itemGroup": "A",
"itemSubgroup": "B",
"batchNumber": "1654863",
"allocationNumber": "44",
"variableQuantity": 0,
"bestBeforeDate": {...},
"packagingUnits": [{...}]
}
<...>
<warehouse>...</warehouse>
<itemCode>ART-8456</itemCode>
<itemDescription1>Article name</itemDescription1>
<itemDescription2>Some more</itemDescription2>
<itemDescription3></itemDescription3>
<itemDescription4></itemDescription4>
<itemGroup>A</itemGroup>
<itemSubgroup>B</itemSubgroup>
<batchNumber>1654863</batchNumber>
<allocationNumber>44</allocationNumber>
<variableQuantity>1</variableQuantity>
<bestBeforeDate>...</bestBeforeDate>
<packagingUnits>
<packagingUnit>...</packagingUnit>
</packagingUnits>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
warehouse | Warehouse | M | Information about warehouse | |
itemCode | String | 20 | M | Item code |
itemDescription1 | String | 35 | M | Item description 1 |
itemDescription2 | String | 35 | O | Item description 2 |
itemDescription3 | String | 35 | O | Item description 3 |
itemDescription4 | String | 35 | O | Item description 4 |
itemGroup | String | 3 | O | Item group |
itemSubgroup | String | 3 | O | Item subgroup |
batchNumber | String | 35 | O | Batch number |
allocationNumber | String | 35 | O | Allocation number |
variableQuantity | BigDecimal | 10,4 | O | Variable quantity |
bestBeforeDate | ApiDate | M | Expiration date | |
packagingUnits | Array[PackagingUnit] | 1 - 6 | M | Packaging units of the item, level 1 is PCS |
Documents
Upload (PDF only)
Example filename: 201903151242_dispatchOrder_1.0_12345_deliveryNote_filename.pdf
Using this method, only the document in ‘.pdf.’ format itself is needed but the filename must strictly follow the below described format, as the for the upload necessary metadata will be parsed from the filename.
Filename format: <creationDate>_<messageType>_<messageTypeVersion>_<reference>_<documentTypeCode>_<filename>.<fileExtension>
FTP folder: <code>
/in/logistics/documents</code>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
<creationDate> | String | 12 | M | Creation date and time |
<messageType> | String | 20 | M | Valid message types: items, receiptAviso, receiptOrder, dispatchOrder |
<messageTypeVersion> | String | 3 | M | Will be provided by our IT contact (default 1.0) |
<reference> | String | 35 | M | Reference used in the related message type (e.g. for dispatchOrder use customerReference1) |
<documentTypeCode> | String | 20 | M | Type which document is uploaded. Valid types: deliveryNote, invoice, label |
<filename> | String | 35 | M | Filename of upload document, can be any filename chosen by customer. |
<fileExtension> | String | 5 | M | Fileextension. E.g.: .pdf |
In case of Labels/Parcels, it’s important do be sure that correct data format has been choosen. Allowed document formats are: PDF Allowed size of single document/file is 5 MB max.
Upload (metadata file)
This method allows to use multiple reference types.
FTP folder: <code>
/in/logistics/documents</code>
This upload version allows 2 options:
1. Upload document + metadata file
Example document name: dispatchOrder_12345.pdf
<br>
Example metadata name: dispatchOrder_12345.xml
In this upload version a document file and a metadata file is uploaded. It is recommended to give the metadata file the same name as the document. The optional file element of the metadata file is not used in this case.
2. Upload metadata file including Base64 encoded document
In this upload version only a metadata file is uploaded. The document itself is uploaded Base64 encoded in the optional file element of the metadata file.
In case of Labels/Parcels, it’s important do be sure that correct data format has been choosen. Allowed document formats are: PDF, ZPL. Please remember that in cace of processing of documents as metadata file, they have to be Base64 encoded. Allowed size of single document/file is 5 MB max.
MetadataDocument
{
"filename" : "dispatchOrder_12345.pdf",
"file":"...",
"location" : "TES",
"operative" : "TESTICC",
"messageType" : "dispatchOrder",
"messageVersion": "1.0",
"documentType" : "deliveryNote",
"references":[{...}]
}
<?xml version="1.0" encoding="UTF-8" ?>
<documentMetadata>
<filename>dispatchOrder_12345.pdf</filename>
<file>...</file>
<location>TES</location>
<operative>TESTICC</operative>
<messageType>dispatchOrder</messageType>
<messageVersion>1.0</messageVersion>
<documentType>deliveryNote</documentType>
<references>
<references>...</references>
</references>
</documentMetadata>
Property | Type | Mandatory | Description |
---|---|---|---|
filename | String | M | Filename of upload document, can be any filename chosen by customer. |
file | String | O | Base 64 encoded file. |
location | String | M | Location code of warehouse, announced by IT contact. |
operative | String | M | Operative (customer) code in warehouse, announced by IT contact. |
messageType | String | M | Valid message types: items, receiptAviso, receiptOrder, dispatchOrder |
messageVersion | String | M | Will be provided by our IT contact (default 1.0) |
documentType | String | M | The document type, e.g. deliveryNote , invoice , label , itemlabel . |
references | Array[DocumentUploadReferences] | M | Array of references used to find the order. |
LogisticsDocumentUploadReferences
"...": {
"type": "customerReference1",
"value": "30001486"
}
<...>
<type>customerReference1</type>
<value>30001486</value>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
type | String | M | Type of reference. Valid values: <code> customerReference1, customerReference2, orderNumber, invoiceNumber, deliveryNoteNumber </code> |
value | String | M | Reference value. |
LogisticsDocumentUploadDetails
Please be adviced that besides Labels and Parcels, Invoices and Delivery notes could be also uploaded using options mentioned and described above - In case of such documents to be uploaded to us, please be sure that all the rules stated are followed and format for Invoices and Delivery notes is set for A4. In case of need for more details on this topic, please contact us.
Common Logistics Objects
Warehouse
"...": {
"location":"CTO",
"operative":"TEST"
}
<...>
<location>CTO</location>
<operative>TEST</operative>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
location | String | 3 | M | Code were the Warehouse is located. |
operative | String | 10 | M | Name of operative in warehouse system. |
LogisticsParty
"...": {
"partyCode": "185961",
"name1": "TEST Party",
"name2": "",
"name3": "",
"address1": "Teststreet 20",
"address2": "",
"city": "VIENNA",
"zipCode": "1010",
"state": "AT",
"countryCode": "AT",
"contactName": " Test Person",
"phone": {...},
"fax": {...},
"email": "test@example.com",
}
<...>
<partyCode>185961</partyCode>
<name1>TEST Party</name1>
<name2></name2>
<name3></name3>
<address1>Teststreet 20</address1>
<address2></address2>
<city>VIENNA</city>
<zipCode>1010</zipCode>
<state>AT</state>
<countryCode>AT</countryCode>
<contactName>Test Person</contactName>
<phone>...</phone>
<fax>...</fax>
<email>test@example.com</email>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
partyCode | String | 13 | C | WMS party code. If provided no additional information is required. |
name1 | String | 35 | C | Mandatory if no partyCode is provided. |
name2 | String | 35 | O | |
name3 | String | 35 | O | Only used for receiver/forwarder parties in dispatch confirmations |
address1 | String | 35 | C | Mandatory if no partyCode is provided. |
address2 | String | 35 | O | |
city | String | 35 | C | Mandatory if no partyCode is provided. |
zipCode | String | 13 | O | |
state | String | 35 | O | The US state name to completely define US addresses |
countryCode | String | 3 | C | ISO country code (ISO 3166-1 Alpha-2). Mandatory if no partyCode is provided. |
contactName | String | 35 | O | |
phone | Phone | 25 | O | |
fax | Phone | 25 | O | |
String | 50 | O |
PackagingUnit
"...": {
"packagingType": "PCS",
"packagingLevel": 1,
"pieces": 1,
"eanCode": "string13Chars",
"weight": 9,
"measureOfWeight": "kg",
"length": 70,
"width": 20,
"height": 60,
"measureOfDimension": "cm",
"turnoverClass": "S",
"stockRestriction": "K"
}
<...>
<packagingType>PCS</packagingType>
<packagingLevel>1</packagingLevel>
<pieces>1</pieces>
<eanCode>string13Chars</eanCode>
<weight>9</weight>
<measureOfWeight>kg</measureOfWeight>
<length>70</length>
<width>20</width>
<height>60</height>
<measureOfDimension>cm</measureOfDimension>
<turnoverClass>S</turnoverClass>
<stockRestriction>K</stockRestriction>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
packagingType | String | 3 | M | Packaging type codes: PCS, BOX, PAL. By default PCS is for packagingLevel 1, but further type need to be defined with the operational business contact. |
packagingLevel | Integer | M | Packaging level 1-6 (smallest to largest unit, level 1 is PCS). By default only packaging level 1/3/6 are used and need to be defined with the operational business contact. | |
pieces | Integer | M | Quantity of pieces of lowest packaging level within current level | |
eanCode | String | 13 | O | EAN-13 code |
weight | BigDecimal | 10,4 | O | Total weight of packaging unit (will be converted/stored in kg) |
measureOfWeight | String | 3 | O | Measure of weight. Default is kg, if not otherwise specified (t, kg, g, lbs) |
length | Integer | O | Length dimension (will be converted/stored in mm/cm) | |
width | Integer | O | Width dimension (will be converted/stored in mm/cm) | |
height | Integer | O | Height dimension (will be converted/stored in mm/cm) | |
measureOfDimension | String | 2 | O | Measure of dimensions. Default is cm, if not otherwise specified (m,cm, mm, ft, in) |
turnoverClass | String | 1 | O | Optional classification based on inventory turnover ratio of the item. |
stockRestriction | String | 20 | O | Optional stock restriction for specific item storage (e.g. temperature controlled). Only certain values are allowed. Please align with warehouse before sending. |
Parcel
Parcel Order
CREATE/GET Parcel Order
messageType: parcel.parcelOrder
Create a new parcel order or get an existing order
Sample files
- JSON: ParcerOrderRequest
- JSON: ParcerOrder
ParcelOrderRequest
{
"shipment": {...},
"participants": {...},
"options": {...}
}
<parcelOrderRequest>
<shipment>...</shipment>
<participants>...</participants>
<options>...</options>
</parcelOrderRequest>
Property | Type | Mandatory | Description |
---|---|---|---|
shipment | ParcelShipment | M | Shipment information |
participants | ParcelParticipants | M | Involved participants |
options | ParcelOptions | O | Additional options |
ParcelOrder
{
"orderId": "1881117",
"status": "OPEN",
"trackingIds": [
"Z7L6SK4Z",
"Z7L6SK50"
],
"shipmentNumber": "38154512115",
"priceExcl": "12.3",
"priceIncl": "12.3",
"shipment": {...},
"participants": {...},
"options": {...}
}
<parcelOrder>
<orderId>1881117</orderId>
<status>OPEN</status>
<trackingIds>
<trackingId>Z7L6SK4Z</trackingId>
<trackingId>Z7L6SK50</trackingId>
</trackingIds>
<shipmentNumber>38154512115</shipmentNumber>
<priceExcl>12.3</priceExcl>
<priceIncl>12.3</priceIncl>
<shipment>...</shipment>
<participants>...</participants>
<options>...</options>
</parcelOrder>
Property | Type | Mandatory | Description |
---|---|---|---|
orderId | String | M | Order ID |
status | String | M | Status of order, allowed values: OPEN, DRAFT, CLOSED, DISCREPANCIES, EXCEPTION, HIDDEN |
trackingIds | Array[String] | M | Array of tracking IDs |
shipmentNumber | String | O | Shipment number |
priceExcl | String | O | Price |
priceIncl | String | O | Price |
shipment | ParcelShipment | M | Shipment information |
participants | ParcelParticipants | M | Involved participants |
options | ParcelOptions | O | Additional options |
Parcel Label
GET Parcel Labels
messageType: parcel.parcelLabel
Get labels for parcel order.
ParcelLabel
[
{
"id": "38154512115_label.png",
"type": "PNG",
"size": "A6",
"scope": "LABEL",
"label": "iVBORw0KGgoAAAANSUhEUgAABNUAAAbW...kJggg==",
"options": {...}
}
]
<parcelLabels>
<parcelLabel>
<id>38154512115_label.png</id>
<type>PNG</type>
<size>A6</size>
<scope>LABEL</scope>
<label>iVBORw0KGgoAAAANSUhEUgAABNUAAAbW...kJggg==</label>
<options>...</options>
</parcelLabel>
<parcelLabels>
Property | Type | Mandatory | Description |
---|---|---|---|
id | String | M | Label identifier (file name) |
type | String | M | File format, allowed values: PDF, GIF, EPL, ZPL, EPL2, ZPL2, PNG, HTML |
size | String | M | Label size, allowed.values: A4, A5, A6, A7, S8X4(“8x4”), S6X4(“6x4”), S4X8(“4x8”), S4X6(“4x6”), S8X11(“8x11”), S9X4(“9x4”),NA(“N/A”) ,PostSize1(“2xA5inA4”, “2x A5 in A4”). In case of non-conventional size of the label, it has to be alligned with iLogistics as a part of dedicated requirements/implementation |
scope | String | M | Document type, allowed values: LABEL, PACKAGE_LABEL, END_OF_DAY_MANIFEST, SHIPMENT_RECEIPT |
label | String | M | Base64 encoded binary data |
options | ParcelOptions | O | Additional options |
Details/information about document/label upload could be found in logistics documents description.
Parcel by TrackingId
GET Parcel by TrackingId
Get events for parcel by tracking id
{
"trackingId": "parcel-trackingId",
"events": [
{
"eventDate": "2020-07-08",
"eventTime": "16:57:52",
"eventDescription": "Order submitted by user@doesnotexist.com",
"eventCode": "Order Submitted",
"originalEventCode": "Order Submitted",
"originalEventDescription": "Order submitted by user@doesnotexist.com",
"location": "Online / Web"
}
]
}
<?xml version="1.0" encoding="UTF-8"?>
<root>
<trackingId>parcel-trackingId</trackingId>
<events>
<element>
<eventDate>2020-07-08</eventDate>
<eventTime>16:57:52</eventTime>
<eventDescription>Order submitted by user@doesnotexist.com</eventDescription>
<eventCode>Order Submitted</eventCode>
<originalEventCode>Order Submitted</originalEventCode>
<originalEventDescription>Order submitted by user@doesnotexist.com</originalEventDescription>
<location>Online / Web</location>
</element>
</events>
</root>
Property | Type | Mandatory | Description |
---|---|---|---|
eventDate | ApiDate | M | |
eventTime | ApiDate | M | |
eventDescription | String | O | |
eventCode | String | M | |
originalEventCode | String | O | |
originalEventDescription | String | O | |
location | String | O |
Common Parcel Objects
ParcelParticipants
"...": {
"principalId": 1568269,
"principalContacts": [
{...}
],
"shipper": {...},
"consignee": {...},
"pickup": {...},
"delivery": {...}
}
<...>
<principalId>1568269</principalId>
<principalContacts>
<parcelContact>...</parcelContact>
</principalContacts>
<shipper>...</shipper>
<consignee>...</consignee>
<pickup>...</pickup>
<delivery>...</delivery>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
principalId | Integer | M | Principal identifier |
principalContacts | Array[ParcelContact] | O | Principal contact info |
shipper | ParcelParticipant | M | Shipper info |
consignee | ParcelParticipant | M | Consignee info |
pickup | ParcelParticipant | O | Pickup info |
delivery | ParcelParticipant | O | Delivery info |
ParcelParticipant
"...": {
"partyId": "1568269",
"name": "Test-Party",
"street": "AIRPORTSTRASSE",
"street2": "Office nr. 3",
"street3": "Logistics dep.",
"city": "Vienna",
"zip": "22180",
"stateProvince": "Parcel-Tester",
"country": "AUSTRIA",
"countryCode": "AT",
"contacts": [{...}]
}
<...>
<partyId>1568269</partyId>
<name>Test-Party</name>
<street>AIRPORTSTRASSE</street>
<street2>Office nr. 3</street2>
<street3>Logistics dep.</street3>
<city>Vienna</city>
<zip>22180</zip>
<stateProvince>Parcel-Tester</stateProvince>
<country>AUSTRIA</country>
<countryCode>AT</countryCode>
<contacts>
<parcelContact>...</parcelContact>
</contacts>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
partyId | String | C | Party ID; if provided no other info is required |
name | String | C | Party name |
street | String | C | Street |
street2 | String | O | Optional additional address line |
street3 | String | O | Optional additional address line |
city | String | C | City |
zip | String | C | ZIP code |
stateProvince | String | C | Provice if applicable |
country | String | C | Country |
countryCode | String | C | Country code |
contacts | Array[ParcelContact] | O | Party contact persons |
ParcelContact
"...": {
"name": "Parcel-Tester",
"phone": "43-29568-18170",
"email": "test@example.com"
}
<...>
<name>Parcel-Tester</name>
<phone>43-29568-18170</phone>
<email>test@example.com</email>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
name | String | M | Contact person name |
phone | String | M | Contact person phone |
String | M | Contact person email |
ParcelShipment
"...": {
"provider": "GLS",
"serviceName": "Business Parcel",
"productCode": "123",
"localProductCode": "456",
"parcelOrderStatus": "OPEN",
"trackingId": "38154512115",
"orderTimestamp": {...},
"priceExcl": "1.2",
"priceIncl": "1.2",
"addOn": "AT",
"label": "PNG_A6",
"contentsDescription": "*Signo/TEST",
"references": [{...}],
"incoterm": "DAP",
"dutiable": "DOCUMENTS",
"declaredValue": 0,
"currencyCode": "EUR",
"dimensions": [{...}],
"packages": [{...}]
}
Property | Type | Mandatory | Description |
---|---|---|---|
trackingId | String | O | Shipment tracking ID |
references | ParcelReference | O | Party contact persons |
provider | String | M | Shipment provider, allowed values: DHL, DPD, DPD_CH, DPD_PL, DPD_HR, IN_TIME, X_PRESS, FAN_COURIER, D_EXPRESS, FEDEX, GLS, POST_AT, UPS, TNT, USPS, PITNEY_BOWES |
serviceName | String | M | Service name |
parcelOrderStatus | String | M | Current order status, allowed values: CLOSED, DISCREPANCIES, DRAFT, EXCEPTION, HIDDEN, OPEN |
productCode | String | M | Product code |
localProductCode | String | O | Local product code |
contentsDescription | String | M | Description of content |
dimensions | ParcelDimension | M | Dimensions |
packages | ParcelPackage | O | Packages |
dutiable | String | M | Allowed values: DOCUMENTS, NON_DOCUMENTS |
priceExcl | Double | O | Price excl tax |
priceIncl | Double | O | Price incl tax |
declaredValue | Double | O | Dutiable value |
currencyCode | String | M | Currency code |
label | String | M | Label format, allowed values (see attached excel) |
skipCreateLabel | Boolean | O | Create order without generating labels |
addOn | String | O | Percentage added to reseller pricing |
incoterm | String | M | Terms of trade, allowed values: DAP, DDP |
orderTimestamp | ApiDate | O | When the order was created |
ParcelDimension
"...": {
"pieces": 2,
"weight": 3.81,
"length": 30,
"width": 20,
"height": 17,
"declaredValue": 12.3
}
Property | Type | Mandatory | Description |
---|---|---|---|
pieces | Integer | M | |
weight | Double | M | Weight in kg |
length | Integer | O | Length in cm |
width | Integer | O | Width in cm |
height | Integer | O | Height in cm |
declaredValue | Double | O | Dutiable value of goods (required for some providers) |
ParcelPackage
"...": {
"licensePlate": "123",
"events": [{...}],
"status": "OPEN",
}
Property | Type | Mandatory | Description |
---|---|---|---|
licensePlate | String | O | License |
events | Array[ParcelEvent] | O | Parcel event |
status | String | M | Status, allowed values: OPEN, EXCEPTION, DISCREPANCY, DELIVERED |
ParcelEvent
"...": {
"eventTimestamp": {...},
"eventCode": "Order Submitted",
"eventDescription": "Order submitted by parcel-api-test",
"originalEventCode": "Order Submitted",
"originalEventDescription": "Order submitted by parcel-api-test",
"location": "Online / Web",
"signatory": "",
}
Property | Type | Mandatory | Description |
---|---|---|---|
eventTimestamp | ApiDate | M | |
eventCode | String | M | |
eventDescription | String | O | |
originalEventCode | String | O | |
originalEventDescription | String | O | |
location | String | O | |
signatory | String | O |
ParcelReference
"...": {
"type": "GENERAL_REFERENCE",
"reference": "os836mty"
}
Property | Type | Mandatory | Description |
---|---|---|---|
type | String | M | Reference type, allowed values: GENERAL_REFERENCE, SENDERS_REFERENCE |
reference | String | M | Reference value |
ParcelOptions
"...": {
"opt1": "val1",
"opt2": "val2",
...
}
Property | Type | Mandatory | Description |
---|---|---|---|
<key> |
String | M | <key, value> map |
Procurement
Purchase Orders
CREATE Purchase Orders
messageType: procurement.purchaseOrder
{
"messageHeader":{...},
"purchaseOrder":[{...}]
}
<?xml version="1.0" encoding="UTF-8" ?>
<ediMessage>
<messageHeader>...</messageHeader>
<purchaseOrder>...</purchaseOrder>
</ediMessage>
Create purchase orders in our purchase order management system.
Sample files
Property | Type | Mandatory | Description |
---|---|---|---|
messageHeader | MessageHeader | M | Message Header information. |
purchaseOrders | PurchaseOrder | M | Array of purchase orders. |
PurchaseOrder
"...": {
"deliveryTerm": {...},
"destinationCountryCode": "string",
"lineItems": [{...}],
"mainModality": "AIR",
"orderDate": {...},
"originCountryCode": "string",
"parties": [{...}],
"poReference": "string",
"sourceIdentifier": "string"
}
<...>
<deliveryTerm>...</deliveryTerm>
<destinationCountryCode>string</destinationCountryCode>
<lineItems>
<lineitem>...</lineitem>
</lineItems>
<mainModality>AIR</mainModality>
<orderDate>...</orderDate>
<originCountryCode>string</originCountryCode>
<parties>
<party>...</party>
</parties>
<poReference>string</poReference>
<sourceIdentifier>string</sourceIdentifier>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
deliveryTerm | DeliveryTerm | M | 3-letter Incoterms® code. |
destinationCountryCode | String | M | ISO country code (ISO 3166-1 Alpha-2). |
lineItems | Array[PurchaseOrderLineItem] | M | |
mainModality | String | M | Main modality for Procurement. AIR , SEA , ROAD . |
orderDate | ApiDate | M | Order date from customer. |
originCountryCode | String | M | ISO country code (ISO 3166-1 Alpha-2). |
parties | Array[PurchaseOrderParty] | M | |
poReference | String | M | Customer’s purchase order number. |
sourceIdentifier | String | M | Will be provided from us. Identification for each customer. |
Common Procurements Objects
PurchaseOrderLineItem
"...": {
"article": {...},
"cargoReady": {...},
"cargoReadiness": {...},
"desiredDelivery": {...},
"estimatedArrival": {...},
"estimatedDeparture": {...},
"grossWeight": 0,
"leadTime": 0,
"mainModality": "AIR",
"plannedQuantity": 0,
"preCarriageTime": 0,
"quantity": 0,
"reference": "string",
"volume": 0
}
<...>
<article>...</article>
<cargoReady>...</cargoReady>
<cargoReadiness>...</cargoReadiness>
<desiredDelivery>...</desiredDelivery>
<estimatedArrival>...</estimatedArrival>
<estimatedDeparture>...</estimatedDeparture>
<grossWeight>1.1</grossWeight>
<leadTime>1</leadTime>
<mainModality>AIR</mainModality>
<plannedQuantity>1</plannedQuantity>
<preCarriageTime>1</preCarriageTime>
<quantity>1</quantity>
<reference>string</reference>
<volume>1.1</volume>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
article | PurchaseOrderArticle | M | |
cargoReadiness | ApiDate | C | Mandatory if status is planned for transport . |
cargoReady | ApiDateFromTo | C | Mandatory if DDto or leadtime is empty. |
desiredDelivery | ApiDateFromTo | C | Mandatory if Cargo ready to or leadtime is empty. |
estimatedArrival | ApiDate | C | Mandatory if status is planned for transport , planning pending . |
estimatedDeparture | ApiDate | C | Mandatory if status is planned for transport , planning pending . |
grossWeight | BigDecimal | O | Weight of article in KG with packaging. |
leadTime | Integer | O | Mandatory if not defined in system settings. |
mainModality | String | M | Main modality for procurement. AIR , SEA , ROAD . |
plannedQuantity | Integer | O | Mandatory if status planned for transport is set. |
mainCarriage | Integer | C | Mandatory if not defined in system settings. |
preCarriageTime | Integer | C | Mandatory if not defined in system settings. |
quantity | Integer | M | Quantity of lineitems. |
reference | String | M | ID for each lineitem. |
volume | BigDecimal | O | Volume of article in m³. |
PurchaseOrderArticle
"...": {
"code": "string",
"customsTariffNumber": "string",
"dangerousGoods": {...},
"description": "string",
"eanCode": "string",
"netPrice": 12.4,
"netWeight": 1.2,
"originCountry": "AT",
"supplierCode": "string",
"supplierDescription": "string"
}
<...>
<code>string</code>
<customsTariffNumber>string</customsTariffNumber>
<dangerousGoods>...</dangerousGoods>
<description>string</description>
<eanCode>string</eanCode>
<netPrice>12.4</netPrice>
<netWeight>1.2</netWeight>
<originCountry>AT</originCountry>
<supplierCode>string</supplierCode>
<supplierDescription>string</supplierDescription>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
code | String | M | Article code. |
customsTariffNumber | String | O | HS-code, customs tariff number. |
dangerousGoods | DangerousGoods | M | |
description | String | M | Description of article. |
eanCode | String | O | European Article Number. |
netPrice | BigDecimal | O | Final price after deducting all discounts and rebates. |
netWeight | BigDecimal | O | Weight of article in KG without packaging. |
originCountry | String | O | ISO origin country code (ISO 3166-1 Alpha-2). |
supplierCode | String | O | Supplier’s article code. |
supplierDescription | String | O | Supplier’s article description. |
PurchaseOrderParty
"...": {
"contacts": [{...}],
"partyId": 415645,
"partyType": "PRINCIPAL"
}
<...>
<contacts>
<contact>...</contact>
</contacts>
<partyId>415645</partyId>
<partyType>PRINCIPAL</partyType>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
contacts | Array[PurchaseOrderContact] | O | Array for contact persons. |
partyId | Integer | M | Customer ID (Provided from us). |
partyType | String | M | Possible types below. |
partyAddress | PartyAddress | O | If no party ID is provided the address data have to be filled out. |
PartyTypes |
---|
PRINCIPAL SHIPPER PICKUP CONSIGNEE DELIVERY CONTROLLING_AGENT ORIGIN_AGENT DESTINATION_AGENT TRANSIT_HUB THIRD_PARTY NOTIFY_AGENT CONTROLLING_OFFICE HANDLING_OFFICE CUSTOMER SUPPLIER |
PurchaseOrderContact
"...": {
"contactPersonId": 0,
"emailBusiness": "string",
"firstName": "string",
"lastName": "string",
"mobile": "string",
"phoneBusiness": "string"
}
<...>
<contactPersonId>1</contactPersonId>
<emailBusiness>string</emailBusiness>
<firstName>string</firstName>
<lastName>string</lastName>
<mobile>string</mobile>
<phoneBusiness>string</phoneBusiness>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
contactPersonId | Integer | C | If an Id will be provided all other fields can be ignored. |
emailBusiness | String | C | Contact business email address. |
firstName | String | C | Mandatory if no ID is provided. |
lastName | String | C | Mandatory if no ID is provided. |
mobile | String | C | Mandatory if no ID is provided. |
phoneBusiness | String | C | Contact business phone number. |
PurchaseOrderPartyAddress
"...": {
"externalReference": 0,
"name": "string",
"city": "string",
"street": "string",
"zipCode": "string",
"countryCode": "string",
"state": "string",
"email": "string",
"phone": {...},
"fax": {...},
"otherPhone": {...},
}
<...>
<externalReference>1</externalReference>
<name>string</name>
<city>string</city>
<street>string</street>
<zipCode>string</zipCode>
<countryCode>string</countryCode>
<state>string</state>
<email>string</email>
<phone>...</phone>
<fax>...</fax>
<otherPhone>...</otherPhone>
</...>
If no partyId
or externalReference
is provided address data is mandatory.
Property | Type | Mandatory | Description |
---|---|---|---|
externalReference | Integer | C | If an Id will be provided all other fields can be ignored. |
name | String | C | |
city | String | C | Name of the city/location. |
street | String | C | Street address part (including house, store, door numbers). |
zipCode | String | C | postal code of the city/location. |
countryCode | String | C | ISO country code (ISO 3166-1 Alpha-2). |
state | String | O | |
String | C | ||
phone | Phone | O | |
fax | Phone | O | |
otherPhone | Phone | O |
Customs
Export Customs Declarations
Create export
declarations in our customs system.
Filename format: <accountId>_<customerName>_EXCD_<YYYYMMDD>_<uniqueId>.<extensions>
(S)FTP folder: /in/customs/export
Sample files
{
"messageHeader": {...},
"exportCustomsDeclaration": {...}
}
<ediMessage>
<messageHeader>...</messageHeader>
<exportCustomsDeclaration>...</exportCustomsDeclaration>
</ediMessage>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
messageHeader | MessageHeader | M | Message Header information. | |
exportCustomsDeclaration | CustomsDeclaration | M |
Import Customs Declarations
Create import
declarations in our customs system.
Filename format: <accountId>_<customerName>_IMCD_<YYYYMMDD>_<uniqueId>.<extensions>
SFTP folder: /in/customs/import
Sample files
{
"messageHeader": {...},
"importCustomsDeclaration": {...}
}
<ediMessage>
<messageHeader>...</messageHeader>
<importCustomsDeclaration>...</importCustomsDeclaration>
</ediMessage>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
messageHeader | MessageHeader | M | Message Header information. | |
importCustomsDeclaration | CustomsDeclaration | M |
Reimport Customs Declarations
Create reimport
declarations in our customs system.
Filename format: <accountId>_<customerName>_RICD_<YYYYMMDD>_<uniqueId>.<extensions>
SFTP folder: /in/customs/reimport
Sample files
{
"messageHeader": {...},
"reimportCustomsDeclaration": {...}
}
<ediMessage>
<messageHeader>...</messageHeader>
<reimportCustomsDeclaration>...</reimportCustomsDeclaration>
</ediMessage>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
messageHeader | MessageHeader | M | Message Header information. | |
reimportCustomsDeclaration | CustomsDeclaration | M |
Customs Common Objects
CustomsDeclaration
Create declarations in our customs system.
"...": {
"accountId": 9999,
"orderId": "I-12345678909",
"deliveryTerm": {...},
"eoriNumber": "",
"invoice": {...},
"packaging": {...}
}
<...>
<accountId>9999</accountId>
<orderId>I-12345678909</orderId>
<deliveryTerm>...</deliveryTerm>
<eoriNumber>...</eoriNumber>
<invoice>...</invoice>
<packaging>...</packaging>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
accountId | Integer | 8 | M | Will be provided by us. Identification for each customer (i.e. exporter). |
orderId | String | 20 | M | Unique identifier for invoice. |
deliveryTerm | DeliveryTerm | M | 3-letter Incoterms® code. | |
eoriNumber | String | 17 | O | EORI number. |
invoice | Invoice | M | Main invoice part. | |
packaging | Packaging | M | Packaging of invoice. |
Invoice
"...": {
"invoiceHeader": {...},
"invoicePositions": [{...}],
"invoiceFooter": {...}
}
<...>
<invoiceHeader>...</invoiceHeader>
<invoicePositions>
<invoicePosition>...</invoicePosition>
</invoicePositions>
<invoiceFooter>...</invoiceFooter>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
invoiceHeader | InvoiceHeader | M | Header of invoice. |
invoicePositions | Array[InvoicePosition] | M | Positions of invoice. |
invoiceFooter | InvoiceFooter | M | Footer of invoice. |
InvoiceHeader
"...": {
"clientCustomerNumber": "164825",
"clientEmailAddress": "test@customermail.com",
"clientEmailAddresses":{
"clientEmailAddress":
[
"test1@company.com",
"test2@company.com",
"test3@company.com"
]},
"invoiceDate": {...},
"invoiceNumber": "2011406",
"shipper": {...},
"consignee": {...},
"documents": [{...}]
}
<...>
<clientCustomerNumber>164825</clientCustomerNumber>
<clientEmailAddresses>
<clientEmailAddress>test1@company.com</clientEmailAddress>
<clientEmailAddress>test2@company.com</clientEmailAddress>
<clientEmailAddress>test3@company.com</clientEmailAddress>
</clientEmailAddresses>
<invoiceDate>...</invoiceDate>
<invoiceNumber>2011406</invoiceNumber>
<shipper>...</shipper>
<consignee>...</consignee>
<documents>
<document>...</document>
</documents>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
clientCustomerNumber | String | 20 | O | Customer’s optional reference number. |
clientEmailAddresses | Array[ClientEmailAddress] | O | Customer’s email address for confirmations from tax authority | |
invoiceDate | ApiDate | 10 | M | Date of the invoice, time is not used. |
invoiceNumber | String | 8 | M | Invoice number. |
shipper | CustomsParty | M | Shipper. | |
consignee | CustomsParty | M | Consignee. | |
documents | Array[CustomsDocuments] | M | Documents for customs declaration. |
InvoicePosition
"...": {
"itemCode": "1513",
"itemDescription": "Printer",
"customsTariffNumber": "8514684153",
"deliveryNoteNumber": "11156",
"quantity": 3,
"measureOfQuantity": "LFM",
"specialQuantity": 52.50,
"specialMeasureOfQuantity": "qm",
"totalPrice": 185.20,
"netWeight": 2.48,
"procedureCode": 1000,
"additionalProcedureCode": 000,
"countryOfOrigin": AT
"documents": [{...}]
}
<...>
<itemCode>1513</itemCode>
<itemDescription>Printer</itemDescription>
<customsTariffNumber>8514684153</customsTariffNumber>
<deliveryNoteNumber>11156</deliveryNoteNumber>
<quantity>3</quantity>
<measureOfQuantity>LFM</measureOfQuantity>
<specialQuantity>52.50</specialQuantity>
<specialMeasureOfQuantity>qm</specialMeasureOfQuantity>
<totalPrice>185.20</totalPrice>
<netWeight>2.48</netWeight>
<procedureCode>1000</procedureCode>
<additionalProcedureCode>000</additionalProcedureCode>
<countryOfOrigin>AT</countryOfOrigin>
<documents>
<document>...</document>
</documents>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
itemCode | String | 30 | M | Item code. |
itemDescription | String | 60 | M | Description of item. |
customsTariffNumber | String | 10 | M | Customs tariff code. |
deliveryNoteNumber | String | 20 | O | Delivery note number. |
quantity | BigDecimal | 13,2 | M | Quantity of regular unit of measure items. |
measureOfQuantity | String | 4 | O | Regular measure of quantity for position item. (e.g. litres, meters, kilograms, etc.) According to the authority’s guideline and field “customsTariffNumber”. |
specialQuantity | BigDecimal | 16,3 | C | Quantity of special unit of measure items. |
specialMeasureOfQuantity | String | 4 | O | Special customs measure of quantity for position item. According to the authority’s guideline and field “customsTariffNumber”. |
totalPrice | BigDecimal | 16,2 | M | Total price of position. |
netWeight | BigDecimal | 11,2 | O | Weight of item (i.e. for each position) in KG w/o packaging. |
procedureCode | String | 4 | O | Procedure code for the customs process |
additionalProcedureCode | String | 3 | O | Additional code for detailed specification of the process |
countryOfOrigin | String | 2 | O | Country of origin for the customs position |
documents | Array[CustomsDocuments] | C | Documents for customs declaration. |
InvoiceFooter
"...": {
"freightCosts": 45.66,
"currencyCode": "EUR",
"invoiceNumber": 196.25
}
<...>
<freightCosts>45.66</freightCosts>
<currencyCode>EUR</currencyCode>
<invoiceTotal>196.25</invoiceTotal>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
freightCosts | BigDecimal | 10,3 | O | Deductible costs of freight can be provided if necessary. If this field is left empty, the amount “0” is assumed. |
currencyCode | String | 3 | M | ISO 4217 three letter currency code. |
invoiceTotal | BigDecimal | 16,2 | M | Grand total of invoice. |
Packaging
"...": {
"packageType": "PK",
"grossWeight": "196.25",
"packagesTotal": 15
}
<...>
<packageType>PK</packageType>
<grossWeight>196.25</grossWeight>
<packagesTotal>15</packagesTotal>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
packageType | String | 3 | O | Packaging units of the article. This value needs to be always “PK”. |
grossWeight | BigDecimal | 11,3 | C | Total weight of all articles in KG with packaging. |
packagesTotal | Integer | 7 | M | Total packages of invoice. |
CustomsParty
"...": {
"partyCode": 654684,
"name": "",
"address": "Teststreet 20",
"city": "Vienna",
"zipCode": "1010",
"countryCode": "AT"
}
<...>
<partyCode>654684</partyCode>
<name>TEST Party</name>
<address>Teststreet 20</address>
<city>Vienna</city>
<zipCode>1010</zipCode>
<countryCode>AT</countryCode>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
partyCode | Integer | 20 | O | Customer account number, can be retrieved from operational business contact |
name | String | 70 | M | |
address | String | 35 | M | |
city | String | 35 | M | |
zipCode | String | 9 | O | |
countryCode | String | 2 | M | ISO country code (ISO 3166-1 Alpha-2). |
CustomsDocuments
A customs clearance requires documents. Here can you place which document will be used.
"...": {
"documentType": "N325",
"referenceNumber": "a12345678"
}
<...>
<documentType>N325</documentType>
<referenceNumber>a12345678</referenceNumber>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
documentType | String | 4 | M | A list of all document types can be found HERE available. E.g. “N325” starting at page 164 |
referenceNumber | String | 20 | M | Reference for each document must be provided here. |
ClientEmailAddress
A customs clearance requires documents. Here can you place which document will be used.
"...": {
"clientEmailAddress":
[
"test1@company.com",
"test2@company.com",
"test3@company.com"
]
}
<...>
<clientEmailAddress>test1@company.com</clientEmailAddress>
<clientEmailAddress>test2@company.com</clientEmailAddress>
<clientEmailAddress>test3@company.com</clientEmailAddress>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
clientEmailAddress | String | 60 | M | Client Email address |
Common Objects
ApiDate
"...": {
"date":"date",
"time":"time",
}
<...>
<date>string</date>
<time>string</time>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
date | String | 10 | M | Date in format YYYY-MM-DD as defined by ISO 8601. |
time | String | 8 | O | Local time of location in format hh:mm:ss as defined by ISO 8601. |
ApiDateFromTo
"...": {
"dateFrom":"date",
"timeFrom":"time",
"dateTo":"date",
"timeTo":"time",
}
<...>
<dateFrom>string</dateFrom>
<dateTo>string</dateTo>
<timeFrom>string</timeFrom>
<timeTo>string</timeTo>
</...>
Property | Type | Length | Mandatory | Description |
---|---|---|---|---|
dateFrom | String | 10 | O | Date in format YYYY-MM-DD as defined by ISO 8601. |
dateTo | String | 10 | O | Date in format YYYY-MM-DD as defined by ISO 8601. |
timeFrom | String | 8 | O | Local time of location in format hh:mm:ss as defined by ISO 8601. |
timeTo | String | 8 | O | Local time of location in format hh:mm:ss as defined by ISO 8601. |
DangerousGoods
"...": {
"classification": "string",
"packagingGroup": "string",
"unNumber": "string"
}
<...>
<classification>string</classification>
<packagingGroup>string</packagingGroup>
<unNumber>string</unNumber>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
classification | String | M | Dangerous goods classification |
packagingGroup | String | C | packaging group, if assigned to the IMO class |
unNumber | String | M | 4-digit number codes defined by the UN Committee of Experts on the Transport of Dangerous Goods |
DeliveryTerm
"...": {
"deliveryTermCode": "EXW",
"deliveryTermLocation": "Location",
}
<...>
<deliveryTermCode>EXW</deliveryTermCode>
<deliveryTermLocation>Location</deliveryTermLocation>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
deliveryTermCode | String | M | 3-letter Incoterms® code. (List of Incoterms®). |
deliveryTermLocation | String | M | Location of delivery term. |
Phone
"...": {
"countryCode": "string",
"areaCode": "string",
"localNumber": "string"
}
<...>
<areaCode>string</areaCode>
<countryCode>string</countryCode>
<localNumber>string</localNumber>
</...>
Property | Type | Mandatory | Description |
---|---|---|---|
countryCode | String | O | ITU phone calling country code (e.g. 43 for Austria, 1 for USA, 852 for Hong Kong). |
areaCode | String | O | Area code within the country. |
localNumber | String | M | Local connection number (If number cannot be split put whole number here.) |