Create or update parcel record
@host = https://api.test.post-plus.io
@apiKey = apitest1234567890
PUT {{host}}/api/v1/parcels
content-type: application/json
X-API-KEY: {{apiKey}}
{
"identifiers": {
"senderParcelNr": "Test-SE-0036"
},
"parcel": {
"transactionType": "B2C",
"parcelGrossWeight": 0.15,
"currency": "USD",
"items": [
{
"description": "plastic toy",
"hsCode": "950300",
"quantity": 1,
"valuePerItem": 0.1,
"weightPerItem": 0.1
}
]
},
"additionalInfo": {
"serviceCode": "UZPO-PRIME"
},
"receiver": {
"name": "A test consignee",
"phone": "+123456",
"address": "Skeppsbron 5-1",
"zipCode": "41121",
"city": "GÖTEBORG",
"countryCode": "SE"
}
}
First section “identifiers”:
{
"identifiers": {
"senderParcelNr": "Test-SE-0036",
"parcelNr": "LP00000005PP"
},
"parcel": {...},
"additionalInfo": {...},
"receiver": {...}
}
senderParcelNr is the client’s reference to this specific parcel. This must be unique throughout all the created parcels. (Client can use their order number or generate a unique code that they can use to recognize the parcel.) If the parcelNr is left empty, this must be filled.
parcelNr – there are some cases where an offline parcel number range is provided. In these cases, the UPU format parcel number should be added to this field. If this is not the case, the parcelNr will be generated and provided by PostPlus.
Next section "parcel" contains info about the parcel itself:
{
"identifiers": {...},
"parcel": {
"transactionType": "B2C",
"parcelGrossWeight": 0.15,
"currency": "USD",
"items": [
{
"description": "plastic toy",
"hsCode": "950300",
"skuCode": "ABC123",
"quantity": 1,
"valuePerItem": 0.1,
"weightPerItem": 0.1
}
]
},
"additionalInfo": {...},
"receiver": {...}
}
Parcel value and parcel weight are calculated based on the items inside the parcel by adding up all the quantity times value/weight for each item. (Please note that you can also specify parcelGrossWeight property value, which must be equal to or greater than the sum of all items' weight because of packaging but it can never be lower.) There is a currency field, which also applies to the item level: all the items inside the parcel need values in the same currency.
items subsection has the item information:
hsCode is not a mandatory field but should be filled if possible. There might be situations where this is needed and if it is not provided, our system would try to add it based on the description. This might not be optimal. (6-10 characters)
quantity is how many of the same item is inside the parcel, value and weight are indicated based on one singular item. There can be more than one different item inside the parcel. In these cases, this section needs to be duplicated per each different item.
Next section is "additionalInfo":
This section contains important information about product type (serviceCode property) tax type and tax identification.serviceCode - service or product identifier, used for explicit service selection, instead of relying on automatic selection by the system.
taxType determines how PostPlus will receive these goods. Possible tax type options include: Empty – blank value is intended for shipments to non-EU destinations under DDU. DDU – these parcels will not be customs cleared in AMS, but by destination post. VAT and service fee to be paid by addressee. DDP – the parcels of these manifest lines will arrive to AMS terminal already customs cleared by third party appointed by the client. IOSS – the parcels with IOSS will be customs cleared by PostPlus, VAT to be paid by IOSS number holder. VOEC – applies to destination Norway. TAXID – applies to other Non-EU destinations such as CH. taxIdentification property: If tax type is empty, tax identification should be empty In case of DDU, empty or other tax identification DDP – empty Tax identification IOSS should always be accompanied by a valid IOSS number Tax type VOEC should be accompanied by a valid VOEC number Tax type TAXID should be accompanied by a valid tax identification number agreed with PostPlus
{
"identifiers": {...},
"parcel": {...},
"additionalInfo": {
"serviceCode": "UZPO-PRIME",
"taxType": "DDU",
"taxIdentification": ""
},
"receiver": {...}
}
taxType determines how PostPlus will receive these goods. Possible tax type options include:
Next up we have the consignee ("receiver") information, where will this parcel be shipped to:
{
"identifiers": {...},
"parcel": {...},
"additionalInfo": {...},
"receiver": {
"name": "A test consignee",
"phone": "+123456",
"address": "Skeppsbron 5-1",
"zipCode": "41121",
"city": "GÖTEBORG",
"countryCode": "SE"
}
}
Next up we have the optoinal consignor ("sender") information, where will this parcel be shipped to:
When trsansactionType is C2C sender section must be included in the request. The ection consists of attributes like name, phone number, email, address, zip code, city, state, and country code (2 characters).
{
"identifiers": {...},
"parcel": {...},
"additionalInfo": {...},
"receiver": {...},
"sender": {
"name": "A test consignor",
"phone": "+123456",
"address": "Skeppsbron 5-1",
"zipCode": "41121",
"city": "GÖTEBORG",
"countryCode": "SE"
}
}
The next section indicates the status of the parcel:
Setting isCancelled to true, will cancel this parcel record. Once parcel data has been added to the system, either via manifest file or API, a parcel record is created. This record will remain in the system and will be marked as cancelled when on subsequent requests isCancelled property is set to true.Cancelling the parcel is necessary when you want to switch the product type for example, and you cancel sending this via postal channels and intend to upload the same sender parcel number to a non-postal channel. Since this sender parcel number currently has a generated parcel number, there's no possibility of generating a new non-postal parcel number for this before cancelling this specific record.
{
"identifiers": {...},
"parcel": {...},
"receiver": {...},
"additionalInfo": {...},
"status": {
"isCancelled": true
}
}