How to look up Parcelshop ID’s for listing and shipment creation

  1. Retrieving Parcelshop ID's for shipment creation

    The ParcelShopFinder service returns a list of the nearest parcel shops, given a location. A request to the ParcelShopFinder service will only succeed after a call to the login service to get a unique token to access the ParcelShopFinder service. The token will be valid 24 hours. It is not advised and not necessary to call the Login Service every time for a call to the ParcelShopFinder service.

     

    Connection URLs

    Live: https://wsshipper.dpd.be/soap/WSDL/ParcelShopFinderServiceV50.wsdl
    Stage: https://shipperadmintest.dpd.be/PublicApi/soap/WSDL/ParcelShopFinderSer…

     

    Request parameters

    <authentication> section

    Node Type Length Description Mandatory?
    <delisId> String 6-10 Your Delis ID provided by DPD Yes
    <authToken> String 128 Authentication token acquired from the login service Yes
    <messageLanguage> String 5 This can be set to the default value of en_EN Yes

     

    <findParcelShopsByGeoData> section

     

    With this function you can find a Parcelshop by using geocoordinates. Useful when combined with Google Maps for example.

    Node Type Length Description Mandatory?
    <longitude> Decimal 18,12 The longitude of search origin in format minutes,seconds Yes
    <latitude> Decimal 18,12 The latitude of search origin in format minutes,seconds Yes
    <limit> Integer 3 Maximum number of parcel shops returned. Server side limit of 10 results Yes
     <availabilityDate> String 16 If set, will only show PUDOs that are open and available on that specific date. Usually used to filter out shops that are on holiday for example. Format yyyy-MM-dd No
    <hideClosed> Boolean n/a If set to true, parcelshops, which are closed now are
    not returned.
    No
    <searchCountry> String 2 Only shows results in this specified country. Format: alpha-2 code ISO3166 (example BE or FR) No
    <services> n/a n/a Specifies which service the PUDO should provide. See <services> section below. Currently not in use. No

    Sample call

    Basic


    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://dpd.com/common/service/types/Authentication/2.0" xmlns:ns1="http://dpd.com/common/service/types/ParcelShopFinderService/5.0">
    <soapenv:Header>
    <ns:authentication>
    <delisId>KD*****</delisId>
    <authToken>****</authToken>
    <messageLanguage>en_EN</messageLanguage>
    </ns:authentication>
    </soapenv:Header>
    <soapenv:Body>
    <ns1:findParcelShopsByGeoData>
    <longitude>4.478</longitude>
    <latitude>51.026</latitude>
    <limit>10</limit>
    </ns1:findParcelShopsByGeoData>
    </soapenv:Body>
    </soapenv:Envelope>

    With extra options

       <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://dpd.com/common/service/types/Authentication/2.0" xmlns:ns1="http://dpd.com/common/service/types/ParcelShopFinderService/5.0">
    <soapenv:Header>
    <ns:authentication>
    <delisId>KD*****</delisId>
    <authToken>****</authToken>
    <messageLanguage>en_EN</messageLanguage>
    </ns:authentication>
    </soapenv:Header>
    <soapenv:Body>
    <ns1:findParcelShopsByGeoData>
    <longitude>4.478</longitude>
    <latitude>51.026</latitude>
    <limit>10</limit>
    <availabilityDate>2019-06-16</availabilityDate>
    <hideClosed>true</hideClosed>
    <searchCountry>BE</searchCountry>
    </ns1:findParcelShopsByGeoData>
    </soapenv:Body>
    </soapenv:Envelope>

     

    <findParcelShops> section

    This function can be used to search for Parcelshops based on zipcode, country and city.

    Node Type Length Description Mandatory?
    <country> String 2 Country of address Sender’s owner in ISO 3166-1 alpha-2 code Yes
    <zipCode> String 9 Zip code of address Sender’s owner. Please do not add prefixes. Yes
    <city> String 35 City/town of address Sender’s owner Yes
     <limit> Integer 3 Maximum number of parcel shops returned. Server side limit of 100 results Yes
    <availabilityDate> String 16 If set, will only show PUDOs that are open and available on that specific date. Usually used to filter out shops that are on holiday for example. Format yyyy-MM-dd No

     

    Sample call

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://dpd.com/common/service/types/Authentication/2.0" xmlns:ns1="http://dpd.com/common/service/types/ParcelShopFinderService/5.0">
    <soapenv:Header>
    <ns:authentication>
    <delisId>KD****</delisId>
    <authToken>****</authToken>
    <messageLanguage>en_EN</messageLanguage>
    </ns:authentication>
    </soapenv:Header>
    <soapenv:Body>
    <ns1:findParcelShops>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <limit>10</limit>
    </ns1:findParcelShops>
    </soapenv:Body>
    </soapenv:Envelope>

    Sample response

    <soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
        <soap:Body>
            <findParcelShopsResponse xmlns=”http://dpd.com/common/service/types/ParcelShopFinderService/5.0″>
                <parcelShop>
                    <parcelShopId>836920114</parcelShopId>
                    <pudoId>SE20114</pudoId>
                    <company>ICA NÄRA NORRMALM</company>
                    <street>Gustav Adolfs gata</street>
                    <houseNo>6</houseNo>
                    <country>SE</country>
                    <countryNum>752</countryNum>
                    <zipCode>54149</zipCode>
                    <city>SKÖVDE</city>
                    <town>SKÖVDE</town>
                    <phone/>
                    <fax/>
                    <email/>
                    <homepage/>
                    <latitude>58.397295</latitude>
                    <longitude>13.84716</longitude>
                    <coordinateX>0</coordinateX>
                    <coordinateY>0</coordinateY>
                    <coordinateZ>0</coordinateZ>
                    <distance>0.594</distance>
                    <expressPickupTime/>
                    <extraInfo/>
                    <openingHours>
                        <weekday>Monday</weekday>
                        <openMorning>08:00</openMorning>
                        <closeMorning>12:00</closeMorning>
                        <closeAfternoon>20:00</closeAfternoon>
                        <openAfternoon>12:00</openAfternoon>
                    </openingHours>
                    <openingHours>
                        <weekday>Tuesday</weekday>
                        <openMorning>08:00</openMorning>
                        <closeMorning>12:00</closeMorning>
                        <closeAfternoon>20:00</closeAfternoon>
                        <openAfternoon>12:00</openAfternoon>
                    </openingHours>
                    <openingHours>
                        <weekday>Wednesday</weekday>
                        <openMorning>08:00</openMorning>
                        <closeMorning>12:00</closeMorning>
                        <closeAfternoon>20:00</closeAfternoon>
                        <openAfternoon>12:00</openAfternoon>
                    </openingHours>
                    <openingHours>
                        <weekday>Thursday</weekday>
                        <openMorning>08:00</openMorning>
                        <closeMorning>12:00</closeMorning>
                        <closeAfternoon>20:00</closeAfternoon>
                        <openAfternoon>12:00</openAfternoon>
                    </openingHours>
                    <openingHours>
                        <weekday>Friday</weekday>
                        <openMorning>08:00</openMorning>
                        <closeMorning>12:00</closeMorning>
                        <closeAfternoon>20:00</closeAfternoon>
                        <openAfternoon>12:00</openAfternoon>
                    </openingHours>
                    <openingHours>
                        <weekday>Saturday</weekday>
                        <openMorning>08:00</openMorning>
                        <closeMorning>12:00</closeMorning>
                        <closeAfternoon>20:00</closeAfternoon>
                        <openAfternoon>12:00</openAfternoon>
                    </openingHours>
                    <openingHours>
                        <weekday>Sunday</weekday>
                        <openMorning>08:00</openMorning>
                        <closeMorning>12:00</closeMorning>
                        <closeAfternoon>20:00</closeAfternoon>
                        <openAfternoon>12:00</openAfternoon>
                    </openingHours>
                    <services>
                        <service>
                            <code>100</code>
                            <available>true</available>
                            <description>Pickup by consignee</description>
                            <serviceDetail/>
                        </service>
                        <service>
                            <code>200</code>
                            <available>true</available>
                            <description>Parcels paid online are accepted</description>
                            <serviceDetail/>
                        </service>
                        <service>
                            <code>201</code>
                            <available>true</available>
                            <description>Parcels paid in shop are accepted</description>
                            <serviceDetail/>
                        </service>
                        <service>
                            <code>991</code>
                            <available>true</available>
                            <description>Returns are accepted</description>
                            <serviceDetail/>
                        </service>
                    </services>
                </parcelShop>
            </findParcelShopsResponse>
        </soap:Body>
    </soap:Envelope>
  2. Interpreting the Responses

    You will receive a maximum of 10 shops per request.

    The most important fields in the response are below.
    Some info in the containers can be neglected and are meant for internal use.

    • <pudoId>SE20114</pudoId>
      This is the 7-digit DPD Parcelshop ID.
      Always use it for the shipment request.
    • <company> / <street> / <houseNo> / <country> / <zipcode> / <city>
      Parcelshop name and address
    • <latitude> / <longitude>
      Geocoördinates
    • <openingHours>
      Taking into account possible noon closing times


    Some Parcelshops are not shown in the list:

    • A parcelshop which has an announced closing within 14 days from today
    • A closed parcelshop (holiday/other reason)
    • Parcelshops in area’s which are not reachable (weather/other reason)
    • A parcelshop which is ‘full’ (too many shipments already directed towards it in the current time wondow)
  3. Google Maps API key

    It is possible you are retrieving the parcelshop ID, name and location listing because you want to show it on a custom web shop checkout map. (Most web shops work with an embedded map from Google Maps to show up a list of Parcelshops). This thus implies that you will need a Google API key.

    Please keep in mind that obtaining a Google API key is your own responsibility. Should you use one of our e-commerce plugins, then Google Maps API key usage is covered by DPD.