Documentation SOAP

Shippingstatus webservice

Summary

  • Name: Shippingstatus Webservice.
  • Reason to Call: Receive status information about the shipments.
  • Input: Customer code, customer number, barcode or reference or timeframes in combination with status/phase codes.
  • Output: Status information about the shipment.

Methods

MethodsDescription
CurrentStatusReturns the last status of a single shipment.
CurrentStatusByReferenceReturns the last status of a single shipment based on customer reference.
CompleteStatusReturns all available statuses of a single shipment.
CompleteStatusByReferenceReturns all available statuses of a single shipment based on customer reference.
CurrentStatusByStatusReturns all shipments that have a specific status code* in a specific timeframe.
CurrentStatusByPhaseReturns all shipments that have a specific phase code** in a specific timeframe.
GetSignatureReturns the signature image for a specific shipment.
MethodsSoapAction
CurrentStatushttp://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/CurrentStatus
CurrentStatusByReferencehttp://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/CurrentStatusByReference
CompleteStatushttp://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/CompleteStatus
CompleteStatusByReferencehttp://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/CompleteStatusByReference
CurrentStatusByStatushttp://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/CurrentStatusByStatus
CurrentStatusByPhasehttp://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/CurrentStatusByPhase
GetSignaturehttp://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/GetSignature

* Status_Codes
**Event_Codes

Call details

Interface Version

1_6

Sandbox endpoint

https://api-sandbox.postnl.nl/shipment/v1_6/status

Sandbox WSDL

https://api-sandbox.postnl.nl/shipment/v1_6/status/soap.wsdl 

Production endpoint

https://api.postnl.nl/shipment/v1_6/status

Production WSDL

https://api.postnl.nl/shipment/v1_6/status/soap.wsdl

* PostNL has launched a new API platform since 24 August 2017. The former webservices have been migrated to this platform, so that we can keep providing good service. It is recommended to use the above endpoints.

If you already use the former API’s (endpoint: https://service.postnl.com/CIF/) and/or you want to make use of the new endpoints, you can fill in the Request for API key form or contact your PostNL account manager to arrange this.

Versioning

API

Version

Release Date

Status

Release Notes

Schema Changes

ShippingStatus

1_1

Oct 1, 2012

Supported

 

Yes

1_2

Nov 8, 2013

Supported

New additional methods:

  • CompleteStatusByReference
  • CurrentStatusByPhase
  • CurrentStatusByReference
  • CurrentStatusByStatus 


Changed fields in CurrentStatus response:

  • Removed Shipments/Customer
  • Removed Shipments/ProductDescription

Yes

1_3

Feb 27, 2014

Supported

Different namespaces

Changed fields in CurrentStatus response:
Added Shipments/ProductOptions

Changed fields in CompleteStatus response:
Added Shipments/ProductOptions

Yes

1_4

Aug 14, 2014

Supported

Different namespaces

Yes

1_5

Jan 12, 2015

Supported

The following fields have been added to the interface:

  • CurrentStatusResponseShipment/Warnings
  • CompleteStatusResponseShipment/Warnings

The following operation has been added to the interface:
  • GetSignature

  • Changes in response of an unknown Shipment
In the versions before an error was raised when there was no Shipment found based on the provided data. This error has been replaced by the newly added Warnings in the response, when no Shipment is found the warning with Code ´2´ and Description ´De ColloWebservice heeft geen Colli gevonden´ will be returned instead of the current error. When requesting the signature of an unknown shipment the warning will have Code ´2´ and Description ´De HandtekeningWebservice heeft geen handtekening gevonden´.

Yes

1_6

Apr 24, 2015

Current Version

The following fields have been added to the interface:

  • CurrentStatusResponseShipment/DeliveryDate
  • CurrentStatusResponseShipment/Expectation
  • CompleteStatusResponseShipment/DeliveryDate
  • CompleteStatusResponseShipment/Expectation

Yes

Guidelines

Use of the webservice
Please be aware that this service is meant for single requests about a parcel and not designed to update the status every single minute on all your parcels. This is important because the capacity of our network is limited. So, please ensure that this service is only called in useful intervals, and for relevant shipments only. PostNL suggests the following usage:

  • Only call ShippingStatus for an update when needed by a customer application or user.
  • Always use the CurrentStatus method to retrieve high level status of shipment.
  • Only use the CompleteStatus method when exceptions have occurred and more detailed statuses are needed.
  • Only call ShippingStatus after a shipment can have a status update (for example: request status in afternoon after delivery to PostNL, then it will have been sorted and delivered, giving useful information).
  • Stop calling ShippingStatus when the barcode is not found, or an error has occurred.

Security policy
The statuses about your parcels are restricted to your company (customer code and customer number). Our security policy is designed to identify which company is requesting the information and matches that information with the parcels sent by the company. Only if the company and the parcels match, the information is disclosed.

Request
The requests of the methods are almost the same. There is only a difference  in the Shipment element type of the methods. For CurrentStatusByPhase and CurrentStatusByStatus you have to give some date information combined with the status- or phase code. And for GetSignature you only need the barcode of the shipment.

Response
CurrentStatus,CurrentStatusByStatus and CurrentStatusByPhase,CurrentStatusByReference have the same response. The CompleteStatus and CompleteStatusByReference have four additional elements; Customer, Events, Old Statuses and Product Description.

The GetSignature response is different because this return a GIF image (base64 encoded). To retrieve a working image you need to convert and decode this string and mark the mime-type of the image as GIF.

Using the response information
You can use the response information of the webservice to inform your own customers proactively about the status of their parcel. As the status we return to you is a near to real-time status it is recommended that you communicate this status as soon as possible to your customers.

Warnings
When the parcel requested is not found, the service returns a warning message.

Error codes
Error codes have been specified in the below PDF file. Errors from the backend services will be caught and returned as standard API errors according to the generic error handling procedures in the API.

ShippingStatus_Error_Codes

Request CurrentStatus

Message type

AttributeMandatoryFormatDescriptionExample
MessageIDMString [1-12]ID of the message.1
MessageTimeStampMDatetime [19]Date/time of sending the message. Format: dd-mm-yyyy hh:mm:29-06-2016 12:00:00

Customer type

AttributeMandatoryFormatDescriptionExample
CustomerCodeMString [1-4]Customer code as known at PostNL PakkettenABCD
CustomerNumberMInteger [1-8]Customer number as known at PostNL Pakketten1234567

Shipment type

AttributeMandatoryFormatDescriptionExample
BarcodeMString [11-15]Barcode of the shipment. This is a unique value.
Note: If you use the method CurrentStatusByReference the barcode is not required.
3SABCD6659149
Reference*O-Mstring [0-35]Your own reference of the shipment.2016014567
ZipcodeOString [0-10]Zipcode of the address.
Only use this value as an extra search filter.
2132WT
StatusCodeO-MInteger [1-2]Status code of the shipment. See the first column in the Status Codes document for available statuses and their definition.
Mandatory only for the CurrentStatusByStatus method.
11

Shipment type (By Phase)

AttributeMandatoryFormatDescriptionExample
PhaseCode **O-MInteger [1-2]Code of the phase of the shipment. See the second column in the Event Codes document for available phases and their definition.
Mandatory only for the CurrentStatusByPhase method.
4
DateFromMDatetime [19]Date of shipment must be after the supplied date. Format dd-mm-yyyy hh:mm:s
Note: If you use the REST API the attribute name is StartDate the format is without time notation.
20-06-2016 17:00:00
DateToMDatetime [19]Date of shipment must be before the supplied date. Format dd-mm-yyyy hh:mm:ss
Note: If you use the REST API the attribute name is StartDate the format is without time notation.
22-06-2016 19:00:00

* For CurrentStatusByReference the customer reference is required instead of the barcode.
** For CurrentStatusByPhase is PhaseCode the element that is used in the request instead of StatusCode.

Example

POST https://api-sandbox.postnl.nl/shipment/v1_6/status HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/CurrentStatus"
apikey: **********
Content-Length: 1170
Connection: Keep-Alive


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ship="http://postnl.nl/cif/services/ShippingStatusWebService/" xmlns:tpp="http://postnl.nl/cif/domain/ShippingStatusWebService/">
   <soapenv:Body>
     <ship:CurrentStatus>
       <tpp:Message>
         <tpp:MessageID>1</tpp:MessageID>
         <tpp:MessageTimeStamp>29-06-2016 12:00:00</tpp:MessageTimeStamp>
       </tpp:Message>
       <tpp:Customer>
         <tpp:CustomerCode>DEVC</tpp:CustomerCode>
         <tpp:CustomerNumber>11223344</tpp:CustomerNumber>
       </tpp:Customer>
       <tpp:Shipment>
         <tpp:Barcode>3SDEVC6659149</tpp:Barcode>
         <tpp:Reference/>
       </tpp:Shipment>
     </ship:CurrentStatus>
   </soapenv:Body>
</soapenv:Envelope>

Response CurrentStatus

CurrentStatusResponseShipment type

Attribute  DescriptionExample
Addresses  List of Addresses 
Amounts  List of 0 ore more Amount types. An amount represents a value of a shipment. 
Barcode  Barcode of the Shipment3SABCD6659149
DeliveryDate  The desired delivery date and time as indicated by the receiver.
This field is only available for Extra@Home products.
2016-04-20T00:00:00+02:00
Dimension  Dimension information of a Shipment 
Expectation  ExpectationType2016-04-20T00:00:00+02:00
Groups  List of Group information of a Shipment 
Productcode  Product code of the Shipment003052
ProductOptions  List of 0 or more ProductOption types. 
Reference  Your own reference of a shipment2016014567
Status  Status information of a Shipment. See the Status Codes document for an overview of possible statuses. 
Warnings  List of 0 or more Warnings. 

Address type

Attribute  DescriptionExample
AddressType  Type of the address. This is a code. You can find the possible values at the Guidelines.02
Building  Building name of the addressAA
City  City of the addressHoofddorp
CompanyName  The company name of the addressPostNL
CountryCode  The ISO2 country codesNL
DepartmentName  Send to specific department of a company.IT
District  Area/District of the addressBeukenhorst
Doorcode  Door code of the address123
FirstName  The person's first namePeter
Floor  The specific floor of a company4
HouseNumber  The house number of the address42
HouseNumberSuffix  The house number extension of the addressA
LastName  The person's last name of the addressde Ruiter
Region  The region (for instance, the province)Noord-Holland
RegistrationDate  The registration date of the address. If no registration date is entered, a default value will be shown: 01-01-0001 00:00:0001-01-0001 00:00:00
Remark  Remark of the addressNo doorbell
Street  The streetname of the addressSiriusdreef
Zipcode  Zipcode of the address2132WT

Amount type

Attribute  DescriptionExample
AccountName  Name of bank account owner C. de Ruiter 
AmountType  Amount type. This is a code. Possible values are: 01 = Cash on delivery (COD) value.· 02 = Insured01
Currency  Currency code according ISO 4217. E.g. EUR EUR
Reference  Personal payment reference1234-5678
TransactionNumber  Transaction number1234
Value  Money value in EUR10.00

Dimension type

Attribute  DescriptionExample
Height  Height of the shipment in milimeters (mm).1400
Length  Length of the shipment in milimeters (mm).

2000

Volume  Volume of the shipment in centimeters (cm3).

30000

Weight  Weight of the shipment in grams 

4300

Width  Length of Width of the shipment in milimeters (mm). 1500

Expectation type

Attribute  DescriptionExample
ETAFrom  Estimated earliest time of arrival. Only shown when PostNL has calculated this time.2016-04-22T14:30:00+02:00
ETATo  Estimated latest time of arrival. Only shown when PostNL has calculated this time.2016-04-22T16:30:00+02:00

Group type

Attribute  DescriptionExample
GroupType  Group sort that determines the type of group that is indicated. This is a code. Possible values: 01 = Collection request 03 = Multiple parcels in one shipment (multi-colli) 04 = Single parcel in one shipment03
MainBarcode  Main barcode for the shipment (in case of multi-colli shipments)3SABCD6659149
ShipmentAmount   Total number of colli in the shipment (in case of multi-colli shipments)4
ShipmentCounter  Sequence number of the collo within the complete shipment (e.g. collo 2 of 4)2

Events type

Attribute  DescriptionExample
Code  Event sort code, e.g: 01A.01A
Description  Event sort description, e.g. Zending is voorgemeld. (shipment is confirmed)Zending is aangemeld maar nog niet ontvangen door PostNL
DestinationLocationCode  Location code of the destination888888
LocationCode  Location code156789
RouteCode  Route code310
RouteName  Route name310 Sittard Vrangendael
TimeStamp  Timestamp of the event20-4-2016 0:39

ProductOption type

Attribute  DescriptionExample
Characteristic  The characteristic of the ProductOption. 6
Option  The product option code for this ProductOption. 118

Status type

Attribute  DescriptionExample
CurrentPhaseCode  Code of the phase4
CurrentPhaseDescription  Description of the phaseAfgeleverd (delivered)
CurrentStatusCode  Code of the status11
CurrentStatusDescription  Description of the status. Zending afgeleverd. (shipment is delivered)
CurrentStatusTimeStamp  Timestamp of the status06-06-2016 18:00:41

Warning type

Attribute  DescriptionExample
Code   Warning code  2
Description  Warning descriptionDe ColloWebservice heeft geen Colli gevonden (No collo found)

Example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
     <CurrentStatusResponse
xmlns="http://postnl.nl/cif/services/ShippingStatusWebService/" xmlns:a="http://postnl.nl/cif/domain/ShippingStatusWebService/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
       <a:Shipments>
         <a:CurrentStatusResponseShipment>
           <a:Addresses>
             <a:ResponseAddress>
               <a:AddressType>01</a:AddressType>
               <a:City>Hoofddorp</a:City>
               <a:CountryCode>NL</a:CountryCode>
               <a:LastName>de Ruiter</a:LastName>
               <a:RegistrationDate>01-01-0001 00:00:00</a:RegistrationDate>
               <a:Street>Siriusdreef</a:Street>
               <a:Zipcode>2132WT</a:Zipcode>
             </a:ResponseAddress>
             <a:ResponseAddress>
               <a:AddressType>02</a:AddressType>
               <a:City>Vianen</a:City>
               <a:CompanyName>PostNL</a:CompanyName>
               <a:CountryCode>NL</a:CountryCode>
               <a:HouseNumber>1</a:HouseNumber>
               <a:HouseNumberSuffix>A</a:HouseNumberSuffix>
               <a:RegistrationDate>01-01-0001 00:00:00</a:RegistrationDate>
               <a:Street>Lage Biezenweg</a:Street>
               <a:Zipcode>4131LV</a:Zipcode>
             </a:ResponseAddress>
           </a:Addresses>
           <a:Barcode>3SABCD6659149</a:Barcode>
           <a:Groups>
             <a:ResponseGroup>
               <a:GroupType>4</a:GroupType>
               <a:MainBarcode>3SABCD6659149</a:MainBarcode>
               <a:ShipmentAmount>1</a:ShipmentAmount>
               <a:ShipmentCounter>1</a:ShipmentCounter>
             </a:ResponseGroup>
           </a:Groups>
           <a:ProductCode>003052</a:ProductCode>
           <a:Reference>2016014567</a:Reference>
           <a:Status>
             <a:CurrentPhaseCode>4</a:CurrentPhaseCode>
             <a:CurrentPhaseDescription>Afgeleverd</a:CurrentPhaseDescription>
             <a:CurrentStatusCode>11</a:CurrentStatusCode>
             <a:CurrentStatusDescription>Zending afgeleverd</a:CurrentStatusDescription>
             <a:CurrentStatusTimeStamp>06-06-2016 18:00:41</a:CurrentStatusTimeStamp>
           </a:Status>
         </a:CurrentStatusResponseShipment>
       </a:Shipments>
     </CurrentStatusResponse>
   </s:Body>
</s:Envelope>

Request CompleteStatus

Message type

AttributeMandatoryFormatDescriptionExample
MessageIDMString [1-12] ID of the message.1
MessageTimeStampMDatetime [19] Date/time of sending the message. Format:  dd-mm-yyyy hh:mm:ss 29-06-2016 12:00:00

Customer type

AttributeMandatoryFormatDescriptionExample
CustomerCodeMString [1-4]Customer code as known at PostNL PakkettenABCD
CustomerNumberMInteger [1-8] Customer number as known at PostNL Pakketten 1234567

Shipment type

AttributeMandatoryFormatDescriptionExample
BarcodeMString [11-15] Barcode of the shipment. This is a unique value. 3SABCD6659149
Reference *OString [0-35] Your own reference of the shipment2016014567
ZipcodeOString [0-10] Zipcode of the address.
Only use this value as an extra search filter. 

2132WT

*For CompleteStatusByReference the customuer reference is required instead of the barcode.

Example

POST https://api-sandbox.postnl.nl/shipment/v1_6/status HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/CompleteStatus"
apikey: **********
Content-Length: 1172
Connection: Keep-Alive

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ship="http://postnl.nl/cif/services/ShippingStatusWebService/" xmlns:tpp="http://postnl.nl/cif/domain/ShippingStatusWebService/">   <soapenv:Body>
     <ship:CompleteStatus>
       <tpp:Message>
         <tpp:MessageID>1</tpp:MessageID>
         <tpp:MessageTimeStamp>29-06-2016 12:00:00</tpp:MessageTimeStamp>
       </tpp:Message>
       <tpp:Customer>
         <tpp:CustomerCode>ABCD</tpp:CustomerCode>
         <tpp:CustomerNumber>1234567</tpp:CustomerNumber>
       </tpp:Customer>
       <tpp:Shipment>
         <tpp:Barcode>3SABCD6659149</tpp:Barcode>
         <tpp:Reference/>
       </tpp:Shipment>
     </ship:CompleteStatus>
   </soapenv:Body>
</soapenv:Envelope>

Response CompleteStatus

CompleteStatusResponseShipment type

Attribute  DescriptionExample
Addresses  List of addresses of a Shipment01
Amounts  List of 0 ore more Amount types. An amount represents a value of a shipment. 
Barcode  Barcode of the Shipment3SABCD6659149
Customer  CustomerType 
DeliveryDate  The desired delivery date and time as indicated by the receiver. This field is only available for some products.2016-04-20T00:00:00+02:00
Dimension  Dimension information of a Shipment 
Events  List of Group information of a Shipment 
Expectation  ExpectationType 
Groups  List of Group information of a Shipment 
OldStatuses  Collection of old Statuses that have occurred for this parcel 
Productcode  Product code of the Shipment003052
ProductDescription  Description of the product code 
ProductOptions  List of 0 or more ProductOption types. 
Reference  Your own reference of a shipment2016014567
Status  Status information of a Shipment. See the Status Codes document for an overview of possible statuses. 
Warnings  List of 0 or more Warnings. 

Address type

Attribute  DescriptionExample
AddressType  Type of the address. This is a code. You can find the possible values in the paragraph Guidelines02
Building  Building name of the address  AA
City  City of the address  Hoofddorp
CompanyName  The company name of the addressPostNL
CountryCode  The ISO2 country codes NL 
DepartmentName  Send to specific department of a companyIT
District  Area/District of the address  Beukenhorst
Doorcode  Door code of the address123
FirstName  The person's first namePeter
Floor  The specific floor of a company4
HouseNumber  The house number of the address42
HouseNumberSuffix  The house number extension of the addressA
LastName  The person's last name of the addressde Ruiter
Region  The region (for instance, the province)Noord-Holland
RegistrationDate  The registration date of the address. If no registration date is entered, a default value will be shown: 01-01-0001 00:00:0001-01-0001 00:00:00
Remark  Remark of the addressNo doorbell
Street  The streetname of the addressSiriusdreef
Zipcode  Zipcode of the address2132WT

Amount type

Attribute  DescriptionExample
AccountName  Name of bank account owner C. de Ruiter 
AmountType  Amount type. This is a code. Possible values are:  01 = Cash on delivery (COD) value.· 02 = Insured01
Currency  Currency code according ISO 4217. E.g. EUR EUR
Reference  Personal payment reference1234-5678
TransactionNumber  Transaction number1234
Value  Money value in EUR10.00

Customer type

Attribute  DescriptionExample
CustomerCode  Customer code as known at PostNL PakkettenABCD
CustomerNumber  Customer number as known at PostNL Pakketten 1234567
Name  Customer name 

Dimension type

Attribute  DescriptionExample
Height  Height of the shipment in milimeters (mm). 1400
Length  Length of the shipment in milimeters (mm). 2000
Volume  Volume of the shipment in centimeters (cm3).30000
Weight  Weight of the shipment in grams4300
Width  Width of the shipment in milimeters (mm). 1500

Expectation type

Attribute  DescriptionExample
ETAFrom  Estimated earliest time of arrival2016-04-22T14:30:00+02:00
ETATo  Estimated latest time of arrival2016-04-22T16:30:00+02:00

Events type

Attribute  DescriptionExample
Code  Event sort code, e.g: 01A.01A
Description  Event sort description, e.g. Zending is voorgemeld. (shipment is confirmed)Zending is aangemeld maar nog niet ontvangen door PostNL
DestinationLocationCode  Location code of the destination888888
LocationCode  Location code156789
RouteCode  Route code310
RouteName  Route name310 Sittard Vrangendael
TimeStamp  Timestamp of the event20-04-2016 00:39:13

Group type

Attribute  DescriptionExample
GroupType  Group sort that determines the type of group that is indicated. This is a code. Possible values: 01 = Collection request 03 = Multiple parcels in one shipment (multi-colli) 04 = Single parcel in one shipment03
MainBarcode  Main barcode for the shipment (in case of multi-colli shipments)3SABCD6659149
ShipmentAmount   Total number of colli in the shipment (in case of multi-colli shipments)4
ShipmentCounter  Sequence number of the collo within the complete shipment (e.g. collo 2 of 4)2

CompleteStatusResponseOldStatus type

Attribute  DescriptionExample
Code  Code of the phase, 7
Description  Description of the phaseZending in distributieproces
(Shipment in distribution process)
PhaseCode  Code of the status4
PhaseDescription  Description of the statusAfgeleverd  (Delivered)
TimeStamp  Timestamp of the status String05-06-2016 18:00:00

ProductOption type

Attribute  DescriptionExample
Characteristic  The characteristic of the ProductOption. 6
Option  The product option code for this ProductOption. 118

Status type

Attribute  DescriptionExample
CurrentPhaseCode  Code of the phase, 4
CurrentPhaseDescription  Description of the phase. Afgeleverd (delivered)
CurrentStatusCode  Code of the status11
CurrentStatusDescription  Description of the status. Zending afgeleverd. (shipment is delivered)
CurrentStatusTimeStamp  Timestamp of the status06-06-2016 17:00:00

Warning type

Attribute  DescriptionExample
Code   Warning code  02
Description  Warning descriptionDe ColloWebservice heeft geen Colli gevonden (no collo found)

Example

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
     <CompleteStatusResponse
xmlns="http://postnl.nl/cif/services/ShippingStatusWebService/" xmlns:a="http://postnl.nl/cif/domain/ShippingStatusWebService/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
       <a:Shipments>
         <a:CompleteStatusResponseShipment>
           <a:Addresses>
             <a:ResponseAddress>
               <a:AddressType>01</a:AddressType>
               <a:City>Rimini</a:City>
               <a:CountryCode>IT</a:CountryCode>
               <a:HouseNumber>37</a:HouseNumber>
               <a:HouseNumberSuffix>b</a:HouseNumberSuffix>
               <a:LastName>Carlo</a:LastName>
               <a:RegistrationDate>01-01-0001 00:00:00</a:RegistrationDate>
               <a:Street>Via Italia </a:Street>
               <a:Zipcode>46855</a:Zipcode>
             </a:ResponseAddress>
           </a:Addresses>
           <a:Amounts>
             <a:ResponseAmount>
               <a:AmountType>RemboursBedrag</a:AmountType>
               <a:Value>0</a:Value>
             </a:ResponseAmount>
             <a:ResponseAmount>
               <a:AmountType>VerzekerdBedrag</a:AmountType>
               <a:Value>0</a:Value>
             </a:ResponseAmount>
           </a:Amounts>
           <a:Barcode>3SABCD6659149</a:Barcode>
           <a:Customer>
             <a:CustomerCode>ABCD</a:CustomerCode>
             <a:CustomerNumber>11223344</a:CustomerNumber>
           </a:Customer>
           <a:Dimension>
             <a:Height>1400</a:Height>
             <a:Length>2000</a:Length>
             <a:Volume>30000</a:Volume>
             <a:Weight>4300</a:Weight>
             <a:Width>1500</a:Width>
           </a:Dimension>
           <a:Events>
             <a:CompleteStatusResponseEvent>
               <a:Code>01A</a:Code>
               <a:Description>Zending is aangemeld maar nog niet ontvangen door PostNL</a:Description>
               <a:LocationCode>156789</a:LocationCode>
               <a:TimeStamp>03-08-2015 18:27:00</a:TimeStamp>
             </a:CompleteStatusResponseEvent>
             <a:CompleteStatusResponseEvent>
               <a:Code>05Y</a:Code>
               <a:Description>Bezorger is onderweg</a:Description>
               <a:LocationCode>166253</a:LocationCode>
               <a:TimeStamp>21-04-2016 09:50:53</a:TimeStamp>
             </a:CompleteStatusResponseEvent>
             <a:CompleteStatusResponseEvent>
               <a:Code>01B</a:Code>
               <a:Description>Zending is ontvangen door PostNL</a:Description>
               <a:DestinationLocationCode>160662</a:DestinationLocationCode>
               <a:LocationCode>160662</a:LocationCode>
               <a:TimeStamp>20-04-2016 00:39:13</a:TimeStamp>
             </a:CompleteStatusResponseEvent>
             <a:CompleteStatusResponseEvent>
               <a:Code>02M</a:Code>
               <a:Description>Voorgemelde zending niet aangetroffen: manco</a:Description>
               <a:LocationCode>888888</a:LocationCode>
               <a:TimeStamp>20-04-2016 06:06:16</a:TimeStamp>
             </a:CompleteStatusResponseEvent>
             <a:CompleteStatusResponseEvent>
               <a:Code>01A</a:Code>
               <a:Description>Zending is aangemeld maar nog niet ontvangen door PostNL</a:Description>
               <a:LocationCode>888888</a:LocationCode>
               <a:TimeStamp>20-04-2016 06:06:16</a:TimeStamp>
             </a:CompleteStatusResponseEvent>
           </a:Events>
           <a:Groups>
             <a:ResponseGroup>
               <a:GroupType>4</a:GroupType>
               <a:MainBarcode>3SDUGS0101223</a:MainBarcode>
               <a:ShipmentAmount>1</a:ShipmentAmount>
               <a:ShipmentCounter>1</a:ShipmentCounter>
             </a:ResponseGroup>
           </a:Groups>
           <a:OldStatuses>
             <a:CompleteStatusResponseOldStatus>
               <a:Code>99</a:Code>
               <a:Description>niet van toepassing</a:Description>
               <a:PhaseCode>99</a:PhaseCode>
               <a:PhaseDescription>niet van toepassing</a:PhaseDescription>
               <a:TimeStamp>20-04-2016 00:00:00</a:TimeStamp>
             </a:CompleteStatusResponseOldStatus>
             <a:CompleteStatusResponseOldStatus>
               <a:Code>7</a:Code>
               <a:Description>Zending in distributieproces</a:Description>
               <a:PhaseCode>3</a:PhaseCode>
               <a:PhaseDescription>Distributie</a:PhaseDescription>
               <a:TimeStamp>19-04-2016 23:53:58</a:TimeStamp>
             </a:CompleteStatusResponseOldStatus>
             <a:CompleteStatusResponseOldStatus>
               <a:Code>3</a:Code>
               <a:Description>Zending afgehaald</a:Description>
               <a:PhaseCode>1</a:PhaseCode>
               <a:PhaseDescription>Collectie</a:PhaseDescription>
               <a:TimeStamp>19-04-2016 23:50:15</a:TimeStamp>
             </a:CompleteStatusResponseOldStatus>
             <a:CompleteStatusResponseOldStatus>
               <a:Code>13</a:Code>
               <a:Description>Voorgemeld: nog niet aangenomen</a:Description>
               <a:PhaseCode>1</a:PhaseCode>
               <a:PhaseDescription>Collectie</a:PhaseDescription>
               <a:TimeStamp>19-04-2016 06:06:16</a:TimeStamp>
             </a:CompleteStatusResponseOldStatus>
             <a:CompleteStatusResponseOldStatus>
               <a:Code>1</a:Code>
               <a:Description>Zending voorgemeld</a:Description>
               <a:PhaseCode>1</a:PhaseCode>
               <a:PhaseDescription>Collectie</a:PhaseDescription>
               <a:TimeStamp>19-04-2016 06:06:16</a:TimeStamp>
             </a:CompleteStatusResponseOldStatus>
           </a:OldStatuses>
           <a:ProductCode>004944</a:ProductCode>
           <a:ProductDescription>EPS to Consumer</a:ProductDescription>
           <a:Reference>100101101</a:Reference>
           <a:Status>
             <a:CurrentPhaseCode>4</a:CurrentPhaseCode>
             <a:CurrentPhaseDescription>Afgeleverd</a:CurrentPhaseDescription>
             <a:CurrentStatusCode>11</a:CurrentStatusCode>
             <a:CurrentStatusDescription>Zending afgeleverd</a:CurrentStatusDescription>
             <a:CurrentStatusTimeStamp>19-04-2016 18:27:00</a:CurrentStatusTimeStamp>
           </a:Status>
         </a:CompleteStatusResponseShipment>
       </a:Shipment>
     </CompleteStatusResponse>
   </s:Body>
</s:Envelope>

Request GetSignature

Message type

AttributeMandatoryFormatDescriptionExample
MessageIDMString [1-12] ID of the message.1
MessageTimeStampMDatetime [19] Date/time of sending the message. Format:  dd-mm-yyyy hh:mm:ss 29-06-2016 12:00:00

Customer type

AttributeMandatoryFormatDescriptionExample
CustomerCodeMString [1-4]Customer code as known at PostNL PakkettenABCD
CustomerNumberMInteger [1-8] Customer number as known at PostNL Pakketten 1234567

Shipment type

AttributeMandatoryFormatDescriptionExample
BarcodeMString [11-15] Barcode of the shipment. This is a unique value. 3SABCD6659149

Example

POST https://api-sandbox.postnl.nl/shipment/v1_6/status HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://postnl.nl/cif/services/ShippingStatusWebService/IShippingStatusWebService/GetSignature"
apikey: **********
Content-Length: 1135
Connection: Keep-Alive


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ship="http://postnl.nl/cif/services/ShippingStatusWebService/" xmlns:tpp="http://postnl.nl/cif/domain/ShippingStatusWebService/">
   <soapenv:Body>
     <ship:GetSignature>
       <tpp:Message>
         <tpp:MessageID>1</tpp:MessageID>
         <tpp:MessageTimeStamp>29-06-2016 12:00:00</tpp:MessageTimeStamp>
       </tpp:Message>
       <tpp:Customer>
         <tpp:CustomerCode>ABCD</tpp:CustomerCode>
         <tpp:CustomerNumber>1234567</tpp:CustomerNumber>
       </tpp:Customer>
       <tpp:Shipment>
         <tpp:Barcode>3SABCD6659149</tpp:Barcode>
       </tpp:Shipment>
     </ship:GetSignature>
   </soapenv:Body>
</soapenv:Envelope>

Response GetSignature

SignatureResponse type

Attribute  DescriptionExample
Signature  List of GetSignatureResponseSignature 
Warning  List of warning codes 

GetSignatureResponseSignature type

Attribute  DescriptionExample
Barcode  Barcode of the shipment3SABCD6659149
SignatureDate  Date of the signature2016-06-04T10:03:51+02:00
SignatureImage  Image contents of the signature. The image is always returned as a GIF image and is base64 encoded.  

Warning type

Attribute  DescriptionExample
Code   Warning code  02
Description  Warning descriptionDe HandtekeningWebservice heeft geen handtekening gevonden (no signature found)

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
     <SignatureResponse
xmlns="http://postnl.nl/cif/services/ShippingStatusWebService/" xmlns:a="http://postnl.nl/cif/domain/ShippingStatusWebService/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
          <a:Signature>
             <a:GetSignatureResponseSignature>
                <a:Barcode>3SABCD6659149</a:Barcode>
                <a:SignatureDate>27-06-2015 13:34:19<a:SignatureDate>
                <a:SignatureImage>[Base64 string]</a:SignatureImage>
             </a:GetSignatureResponseSignature>
             <a:Warnings>
                 <a:Warning>
                   <a:Code>00</a:Code>
                   <a:Description>Warning</a:Description>
                </a:Warning>
             </a:Warnings>
          </a:Signature>
       </SignatureResponse>
    </s:Body>
</s:Envelope>