Postnl.nl

Location

Documentation

By using the Location API you can show the nearest PostNL Pick up points based on the postal code or coordinates of the customers. This delivery option gives customers the option to pick up their parcels themselves. With more than 4000 (retail) points throughout the Netherlands and 800 points in Belgium, there is always one nearby.

Why use the Location API

Up to date pick up locations
Retrieve a list of pick up points that support the option for direct delivery to a PostNL pick up point.

Customer convenience
You can show the nearest PostNL Pick up points based on the postal code or coordinates of the customers. If desired you can show the locations in a map for customer convenience.

Different methods to retrieve locations
This API contains three methods; returns locations nearest to the given address, within the supplied area or provide location information of the supplied location code.

Get started

Request your (Sandbox) API Key and start using the API.
As soon as you have an API key, it is recommended to run our Postman collections. Here you can find code examples of the various services and products we offer. This makes implementing the APIs much easier.

Development

On this page you will find all the necessary information for implementing this API.
Please check the Guidelines for useful information.
Descriptions, formats and examples of the API attributes are also very useful to look at.

Methods

Method: GET

Path

Description

/locations/nearest

Returns locations nearest to the supplied location.

/locations/area

Returns locations within the supplied area.

/locations/lookup

Returns location information of the supplied location code.

Call details

Interface version 2_1
Sandbox endpointhttps://api-sandbox.postnl.nl/shipment/v2_1/locations
Sandbox wsdl https://api-sandbox.postnl.nl/shipment/v2_1/locations/soap.wsdl
Sandbox swaggerhttps://api-sandbox.postnl.nl/shipment/v2_1/locations/swagger.json
Production endpointhttps://api.postnl.nl/shipment/v2_1/locations
Production wsdlhttps://api.postnl.nl/shipment/v2_1/locations/soap.wsdl 
Production swaggerhttps://api.postnl.nl/shipment/v2_2/locations/swagger.json

Versioning

REST:

API

Version

Release Date

Status

Release Notes

Schema Changes

Location

2_1

May 10, 2016

Current version

IN COMPARISON TO THE 2_0 SOAP VERSION,
the Location Type has been extended with PartnerLocationCodes (ResponseLocationCode).

 N/A

SOAP:

API

 

Version

Release Date

Status

Release Notes

Schema Changes

Location

1_0

Jul 22, 2013

Not supported

 

 

1_1

Aug 21, 2014

Supported

Different namespaces
The operation GetNearestLocations has been updated with new request properties:

  • Countrycode [M] has been added for international locations
  • Location\City [O] has been added for better international matching
  • Location\HouseNr [O] has been added for better international matching
  • Location\HouseNrExt [O] has been added for better international matching
  • Location\Street [O] has been added for better international matching

The operation GetLocationsInArea has been updated with new request properties:

  • Countrycode [M] has been added for international locations

The operation GetBLSLocation has been removed

The operation GetLocation has been added

The Location Type has been extended with international address properties.

Yes

2_0

Aug 14, 2015

Not supported

A number of new fields have been added to the data types. To access these new fields, a new webservice client has to be generated based on the new WSDL version.
  • Sunday sorting and options added
    It is now possible to specifiy AllowSundaySorting and Options when searching for locations using the GetNearestLocations and GetLocationsInArea methods.
  • Partner name and retail formula name added
    Found locations will now include the distribution network partner name and the retail formula name in the PartnerName and RetailFormulaName fields, if these are known for the location. 
  • Warning added
    The methods GetNearestLocations and GetLocationsInArea will now return a warning when no locations could be found that match the specified search criteria.

Yes

 2_1May 10, 2016Current Version

The Location Type has been extended with PartnerLocationCodes (ResponseLocationCode).

No

Guidelines

Difference between the methods
You can use the GetNearestLocation method if you want to show the nearest pick up points for the consumer based on their postal code or specific latitude/longitude coordinates combination. If you want to show a map with the nearest pick up points, then you can use the GetLocationInArea method. This provides you an overview of the nearest pick up points.

GetLocation can be used if you know the LocationCode. This method provides you with the information of the retailer. You can find the location code in the response of the GetNearestLocations and GetLocationsInArea. The RetailNetworkID is PNPNL-01, this code can be used for all Dutch locations.

Google Maps / GetLocationsInArea
If you want to show the pick up points through Google Maps, you will need to apply an API key of Google Maps. You can get find more information at the following site: https://developers.google.com/maps/.

The GetLocationsInArea method retrieves all locations in a specific area. When a map is displayed with Google Maps, a so-called "bounding box" of the given area can be requested. The Google Maps API then returns them in NorthWest/SouthEast (NW/SE) form that you can use to retrieve the locations.

Please note that the GetLocationsInArea method accepts the coordinates in NorthWest / Southeast (NW / SE) form. This can be converted as follows:

  • Use the latitude of North East (NE) and the longitude of Southwest (SW) that Google Maps API returns as NorthWest (NW) value for the GetLocationsInArea call.
  • Use the latitude of Southwest (SW) and the longitude of North East (NE) that the Google Maps API returns as SouthEast (SE) value for the GetLocationsInArea call.

Delivery option (request)
The following delivery option is supported:

Code

Decscription

PG

Pick up at PostNL location (in Dutch: Ophalen bij  PostNL Locatie) 

Delivery options (response)
The delivery options UL, PU and DO can be shown in the response. Please ignore these codes. These codes are internal PostNL codes.

Restrictions
It is not possible to offer the opportunity PG (Pick up at PostNL location) for Same Day, Evening, Today or Sunday delivery. It may be possible that a retail location is open at the specified delivery time, but parcels will not be delivered for these delivery options at PostNL Locations.

Best practice
Integrate all three PostNL frontend webservices into your checkout and empower your customers to choose the delivery option that suits them best.

First use the Deliverydate webservice (Get deliverydate method) to determine the available and possible delivery date(s), based on your shipping date. Use the received date from this service as a starting point in the Timeframe webservice to show customers the possible day and time of arrival. In this way you avoid showing not possible deliverydates. The postal code that customers enter by placing their order, determine the timeframes that apply to their address.

Use the Location webservice to show the nearest pickup point(s) based on the postal code or coordinates of the customers. The location(s) can be shown in a map if you want to make it visually more appealing.

The (below) visual assets can be useful to create a delivery options frame in your checkout.

Visual assets
To show pins of PostNL locations in a map you can use the assets on this page. Here you can also find other useful icons.

Pickup at PostNL Location Belgium
If you deliver your parcels directly to pick up points in Belgium, some extra information is required for the Labelling API request. 

DownPartnerID: Use the data from the Location API response;  attribute RetailNetworkID.
DownPartnerLocation: Use the data from the Location API response; attribute LocationCode.

Request GetNearestLocations

Countrycode type

AttributeMandatoryFormatDescriptionExample
CountrycodeMString [2] The ISO2 country codes Always NL for Dutch locations. For Belgium locations use BE.NL

Location type

AttributeMandatoryFormatDescriptionExample
AllowSundaySortingMBoolean [true/false]Whether or not the requesting party allows for Sunday sorting (which leads to delivery on Monday).true
DeliveryDateMDate [10] The date of the earliest delivery date. Format:  dd-mm-yyyy
Note: this date cannot be in the past, otherwise an error is returned.
29-06-2016
DeliveryOptionsMString [2-3] One or more delivery options (related to the product). See Guidelines on this page for possible values.PG
OptionsMString [1-15]The delivery options (timeframes) for which locations should
be returned. 
Daytime
OpeningTimeOTime [8]Time of opening. Format: hh:mm:ss. This field will be used to filter the locations on opening hours.09:00:00
CoordinatesO-MDouble [1-15]The coordinates of the location.
Mandatory when postal code is empty. Latitude / Longitude. 
52.290344
4.7086662
CityOString [0-35] City of the address  Hoofddorp
HouseNr.OString [0-35] The house number of the delivery address42
HouseNrExtOString [0-35] House number extension A
PostalcodeO-MString [4-10] Zipcode of the address
Mandatory when no coordinates are entered
2132WT
StreetOString [0-95] The street name of the delivery addressSiriusdreef

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
Attribute  DescriptionExample
Area  Area of the addressBeukenhorst
Buildingname  Name of the building of the addressAA
City  City of the addressHoofddorp
Countrycode  The ISO2 country codes NL 
Department  Specific department of a companyIT
Doorcode  Door code of address123
Floor  Specific floor of a company4
HouseNr  Housenumber of the address 10
HouseNrExt  House number extension A
Remark   Remark of the location Dit is een Business Point. Post en pakketten die u op werkdagen vóór de lichtingstijd afgeeft, bezorgen we binnen Nederland de volgende dag.
Street  The streetname of the addressJacobus Spijkerdreef
Zipcode  The zipcode of the address2132PZ

Deliveryoptions type

AttributeMandatoryFormatDescriptionExample
Deliveryoptions  One or more delivery options. See the Guidelines for possible values. PG

Location type

Attribute  DescriptionExample
Distance   The distance from this location to the address entered in the request (in meters).355
Latitude   The latitude of the location52.2864669620795
LocationCode  LocationCode information173187
Longitude  The longitude of the location4.68239055845954
Name  Name of the location Gamma
Openingshours  Openinghours of the location, split by Day. 08:00-18:30
PartnerName  Partnername of the locationPostNL
PhoneNumber  Phone number of the location023-5576310
RetailNetworkID  The network ID used for this retail locationPNPNL-01
Saleschannel  The sales channel used for this locationPKT XL
TerminalType  The terminal type used by this locationNRS
Attribute  DescriptionExample
Code  Code of the warning501
Description  Description of the warningNo locations found
AttributeMandatoryFormatDescriptionExample
CountrycodeMString [2] The ISO2 country codes NL 
AttributeMandatoryFormatDescriptionExample
DeliveryDateMDate [10] The date of the earliest delivery date. Format: dd-mm-yyyy
Note: this date cannot be in the past, otherwise an error is returned.
29-06-2016
DeliveryOptionsMString [2-3] The delivery options (timeframes) for which locations should
be returned. See  Guidelines
PG
OptionsMString [1-15]The delivery options (timeframes) for which locations should
be returned. See Guidelines for possible values.
Daytime
OpeningTimeOTime [8]Time of opening. Format: hh:mm:ss. This field will be used to filter the locations on opening hours.09:00:00
CoordinatesNorthWestMDouble [1-15]The coordinates of the north west point of the area.
Latitude / Longitude.
52.156439
5.015643
CoordinatesSouthEastMDouble [1-15]The coordinates of the south east point of the area.
Latitude / Longitude.
52.017473
5.065254
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