Accessing the web service for parcelshop search
The endpoints for the centrally hosted services can be obtained from your primary GLS contact and will be given with your credentials for the Service. You can retrieve the WSDL of the corresponding service by adding '?wsdl' to the URL.
If you are connecting to a locally installed GLS ShipIT, you have to adapt the URL to point to the host (and port) in your network where the GLS ShipIT backend is running. E.g. https://10.10.10.10:8443/backend/ParcelShopService/ParcelShopPortType?wsdl
Available web service operations
getParcelShopById
This method searches for a parcelshop with the given id.
Parameter | Mandatory | Description |
id | TRUE | Id of the Parcelshop which is searched. |
Input validation
-
The id may not be empty and must reference an existing parcelshop
-
The id must consist of two parts, in the format {partnerID}-{local id}, e.g. GLS_DE-2761234567
List of Partner ID's
If there is no prefixed Partner ID, the system will determine the Partner ID based on the ParcelShop ID entered. If the ParcelShop ID sent does not begin with one of the numerical sequences listed below, the Partner ID must be specified; otherwise, the message “ParcelShop ID not unique, please specify with Partner ID” is returned. This input help will be valid for a certain period of time. In order to be prepared for potential changes in the future and to be able to connect further countries, we recommend adapting the request to the new format (including Partner ID).
Parcelshop starting with | Partner ID |
276 | GLS_DE |
250 | GLS_FR |
040 | GLS_AT |
056 | GLS_BE |
208 | GLS_DK |
616 | GLS_PL |
442 | GLS_LU |
The soap response is an instance of eu.glsgroup.fpcs.datatypes.soap.v1.parcelshop.ParcelShop or one of the following soap faults:
Sample request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://fpcs.gls-group.eu/v1/ParcelShop">
<soapenv:Header/>
<soapenv:Body>
<par:ParcelShopID>GLS_DE-2761234567</par:ParcelShopID>
</soapenv:Body>
</soapenv:Envelope>
Sample response
If the request was successful (the response is shortened to keep the sample readable):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<ParcelShop xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ParcelShopID>GLS_DE-2761234567</ParcelShopID>
<Location>
<Latitude>50.09968</Latitude>
<Longitude>8.70346</Longitude>
</Location>
<Address>
<ns2:Name1>KIOSK-Shop</ns2:Name1>
<ns2:Name2/>
<ns2:Name3/>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>60599</ns2:ZIPCode>
<ns2:City>Frankfurt</ns2:City>
<ns2:Street>Offenbacher Landstraße</ns2:Street>
<ns2:StreetNumber>130</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>08:00:00</From>
<To>19:30:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
...
<WorkingDay>
<DayOfWeek>SAT</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>08:00:00</From>
<To>19:30:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
</ParcelShop>
</soap:Body>
</soap:Envelope>
If the parcelshop does not exist:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Parcelshop not found for id ["GLS_DE-2761234567"]</faultstring>
<detail>
<InvalidParcelShopIDFault xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ParcelShopID>GLS_DE-2761234567</ParcelShopID>
</InvalidParcelShopIDFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
If a mandatory parameter (e.g. parcelShopID) was not provided:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>eu.glsgroup.fpcs.dto.error.FPCSServiceException: The Mandatory parameter parcelShopID is not set</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
If an invalid value was provided (e.g. an invalid parcelShopID):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Parcelshop not found for id ["xyz"]</faultstring>
<detail>
<InvalidParcelShopIDFault xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ParcelShopID>xyz</ParcelShopID>
</InvalidParcelShopIDFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
getParcelShopsByCountryCode
This method returns a list of parcelshops for a specific country.
Attention: Depending on the country for which you request the parcelshops, the answer might take time and will be big. Use this service to build up a cache of parcelshops, but do not plan to call that service from any online function which requires fast response times (the parcelshop list for Germany has around 11MB of data, response time of the service is above 30 seconds).
Parameter | Mandatory | Description |
countryCode | TRUE | countryCode of the Country which is searched. |
Input validation
-
countryCode may not be empty
The SOAP response is presented as an instance of type eu.glsgroup.fpcs.datatypes.soap.v1.parcelshop.ListOfParcelShop or one of the following soap faults:
Sample request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://fpcs.gls-group.eu/v1/ParcelShop">
<soapenv:Header/>
<soapenv:Body>
<par:CountryCode>DE</par:CountryCode>
</soapenv:Body>
</soapenv:Envelope>
Sample response
If the request was successful (the response is shortened to keep the sample readable):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<ListOfParcelShop xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ParcelShop>
<ParcelShopID>GLS_DE-2761234567</ParcelShopID>
<Location>
<Latitude>52.48861</Latitude>
<Longitude>13.359</Longitude>
</Location>
<Address>
<ns2:Name1>Radio Fernsehen Klima</ns2:Name1>
<ns2:Name2/>
<ns2:Name3/>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>10827</ns2:ZIPCode>
<ns2:City>Berlin</ns2:City>
<ns2:Street>Hauptstaße</ns2:Street>
<ns2:StreetNumber>153</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>09:00:00</From>
<To>18:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
...
<WorkingDay>
<DayOfWeek>SAT</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>09:00:00</From>
<To>13:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
</ParcelShop>
<ParcelShop>
<ParcelShopID>GLS_DE-2761234567</ParcelShopID>
<Location>
<Latitude>52.41538</Latitude>
<Longitude>13.40564</Longitude>
</Location>
<Address>
<ns2:Name1>1001 Kleinigkeiten</ns2:Name1>
<ns2:Name2/>
<ns2:Name3/>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>12349</ns2:ZIPCode>
<ns2:City>Berlin</ns2:City>
<ns2:Street>Marienfelder Chaussee</ns2:Street>
<ns2:StreetNumber>145</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>09:00:00</From>
<To>18:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
...
<WorkingDay>
<DayOfWeek>SAT</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>09:00:00</From>
<To>14:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
</ParcelShop>
...
If the country code is not a valid one:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Country (searched by GLS id, Alpha-2, Alpha-3, IOC, ISO 3166-numerical, Translations and special id) XY not found.</faultstring>
<detail>
<ns2:InvalidFieldValueFault xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ns2:field>
<ns2:name>countryCode</ns2:name>
<ns2:value>XY</ns2:value>
</ns2:field>
</ns2:InvalidFieldValueFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
If the country code is not provided:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>eu.glsgroup.fpcs.dto.error.FPCSServiceException: The Mandatory parameter countryCode is not set</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
findNearestParcelShopForAddress
This method finds the parcelshops that are nearest to a given address.
The service is limited to the next 100 parcelshops within 50 km in straight-line distance (parameter "AirlineDistance") from the given address.
The parts of the request are explained in the following sections in more detail:
Name | Expression in webservices | Field length | Type | Format | Mandatory/Optional | Restrictions | Level | Description |
Street | Street | 40 | alphanumeric | | Mandatory | > 3 | | Street name |
Street number | StreetNumber | 40 | alphanumeric | | Optional | - | | Street number (if not part of the street) |
Country code | CountryCode | 20 | alphanumeric | DE, AT, BE, FR, etc. | Mandatory | - | | Country code of the Country which is searched. |
Province | Province | 40 | alphanumeric | | Optional | - | | Province where the consignee's city is located in |
ZIPCode | ZIPCode | 10 | alphanumeric | | Mandatory | - | | ZIP code of the consignee's city |
City | City | 40 | alphanumeric | | Optional | - | | City of the consignee |
Distance | Distance | - | numeric | | Optional | - | | The distance to a given coordinate can be a value between 0 and 50 (integer) |
Maximum number of shops | MaxNumberOfShops | - | numeric | | Optional | - | | Maximum number of shop to be returned in the result |
Input validation
-
At least the attributes zipCode and countryCode of the ParcelShopSearchLocation must be set
-
If the optional attribute distance is not present in the request, 30 km is used by default
-
If the optional attribute maximum number of shops is not present in the request, 25 is used by default
The response is presented as an instance of type eu.glsgroup.fpcs.datatypes.soap.v1.parcelshop.ListOfParcelShop or one of the following soap faults:
Sample request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://fpcs.gls-group.eu/v1/ParcelShop">
<soapenv:Header/>
<soapenv:Body>
<par:ParcelShopSearchLocation>
<par:Street>Marktplatz</par:Street>
<par:StreetNumber>52</par:StreetNumber>
<par:CountryCode>DE</par:CountryCode>
<par:ZIPCode>94419</par:ZIPCode>
<par:City>Reisbach</par:City>
<par:Distance>5</par:Distance>
<par:MaxNumberOfShops>6</par:MaxNumberOfShops>
</par:ParcelShopSearchLocation>
</soapenv:Body>
</soapenv:Envelope>
Sample response
If the request was successful (the response is shortened to keep the sample readable):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<ListOfParcelShop xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ParcelShop>
<ParcelShopID>GLS_DE-2761234567</ParcelShopID>
<Location>
<Latitude>48.55597</Latitude>
<Longitude>12.56134</Longitude>
</Location>
<Address>
<ns2:Name1>Vilstal-Bikes Baier</ns2:Name1>
<ns2:Name2>Andreas Baier e.K.</ns2:Name2>
<ns2:Name3/>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>84163</ns2:ZIPCode>
<ns2:City>Marklkofen</ns2:City>
<ns2:Street>Reisbacher Str.</ns2:Street>
<ns2:StreetNumber>17</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>09:00:00</From>
<To>18:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>12:00:00</From>
<To>13:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
...
<WorkingDay>
<DayOfWeek>SAT</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>09:00:00</From>
<To>12:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
<AirlineDistance>5.232480979421174</AirlineDistance>
</ParcelShop>
<ParcelShop>
<ParcelShopID>GLS_DE-2761234567</ParcelShopID>
<Location>
<Latitude>48.54448</Latitude>
<Longitude>12.52861</Longitude>
</Location>
<Address>
<ns2:Name1>E-W-A</ns2:Name1>
<ns2:Name2>Inh. Werner Aumeier</ns2:Name2>
<ns2:Name3/>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>84160</ns2:ZIPCode>
<ns2:City>Frontenhausen</ns2:City>
<ns2:Street>Gangkofener Str.</ns2:Street>
<ns2:StreetNumber>30</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>09:00:00</From>
<To>18:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>12:00:00</From>
<To>14:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
...
<WorkingDay>
<DayOfWeek>SAT</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>09:00:00</From>
<To>12:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
<AirlineDistance>7.934731898059682</AirlineDistance>
</ParcelShop>
...
If a mandatory parameter was not provided:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>eu.glsgroup.fpcs.dto.error.FPCSServiceException: The Mandatory parameter parcelshopSearchLocation.ZIPCode is not set</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
If an invalid parameter was provided:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Country (searched by GLS id, Alpha-2, Alpha-3, IOC, ISO 3166-numerical, Translations and special id) XY not found.</faultstring>
<detail>
<ns2:InvalidFieldValueFault xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ns2:field>
<ns2:name>countryCode</ns2:name>
<ns2:value>XY</ns2:value>
</ns2:field>
</ns2:InvalidFieldValueFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
getParcelShopinDistance
This method returns a list of parcelShops inside the defined circle.
The parts of the request are explained in the following sections in more detail:
Name | Expression in webservices | Field length | Type | Format | Mandatory/Optional | Restrictions | Level | Description |
Latitude | Latitude | - | decimal | | Mandatory | -90 ≤ value ≤ 90 | | Latitude |
Longitude | Longitude | - | decimal | | Mandatory | -180 ≤ value ≤ 180 | | Longitude |
Distance | Distance | - | numeric | | Mandatory | - | | The distance to a given coordinate can be a value between 0 and 50 (integer) |
Maximum number of shops | MaxNumberOfShops | - | numeric | | Optional | - | | Maximum number of shop to be returned in the result |
Input validation
-
The distance to a given coordinate can be a value between 1 and 50 (integer)
-
If the optional attribute maximum number of shops is not present in the request, 25 is used by default
-
The parcelshop id in the response will be shown in the new format {partnerID}-{local id}, e.g. GLS_DE-2761234567
The response is presented as an instance of type eu.glsgroup.fpcs.datatypes.soap.v1.parcelshop.ListOfParcelShop or one of the following soap faults:
Sample request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://fpcs.gls-group.eu/v1/ParcelShop">
<soapenv:Header/>
<soapenv:Body>
<par:ParcelShopSearchDistance>
<par:Latitude>48.784177</par:Latitude>
<par:Longitude>6.885992</par:Longitude>
<par:Distance>20</par:Distance>
<par:MaxNumberOfShops>6</par:MaxNumberOfShops>
</par:ParcelShopSearchDistance>
</soapenv:Body>
</soapenv:Envelope>
Sample response
If the request was successful (the response is shortened to keep the sample readable):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ListOfParcelShop xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ParcelShop>
<ParcelShopID>GLS_DE-2761234567</ParcelShopID>
<Location>
<Latitude>50.90849</Latitude>
<Longitude>9.58712</Longitude>
</Location>
<Address>
<ns2:Name1>GLS PaketShop</ns2:Name1>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>36286</ns2:ZIPCode>
<ns2:City>Neuenstein</ns2:City>
<ns2:Street>GLS-Germany-Straße</ns2:Street>
<ns2:StreetNumber>1-7</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>08:00:00</From>
<To>16:00:00</To>
</OpeningHours>
</OpeningHours>
</WorkingDay>
<AirlineDistance>8.6092354</AirlineDistance>
...
</ParcelShop>
<ParcelShop>
<ParcelShopID>GLS_DE-2761234567</ParcelShopID>
<Location>
<Latitude>50.90849</Latitude>
<Longitude>9.58712</Longitude>
</Location>
<Address>
<ns2:Name1>GLS PaketShop22222</ns2:Name1>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>36286</ns2:ZIPCode>
<ns2:City>Neuenstein</ns2:City>
<ns2:Street>GLS-Germany-Straße</ns2:Street>
<ns2:StreetNumber>1-7</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>08:00:00</From>
<To>16:00:00</To>
</OpeningHours>
</OpeningHours>
</WorkingDay>
<AirlineDistance>8.6092354</AirlineDistance>
...
</ParcelShop>
</ListOfParcelShop>
</soap:Body>
</soap:Envelope>
If a mandatory parameter was not provided:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Unmarshalling Error: cvc-complex-type.2.4.b: The content of element 'par:ParcelShopSearchDistance' is not complete. One of '{"http://fpcs.gls-group.eu/v1/ParcelShop":Distance}' is expected.</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
If an invalid parameter was provided:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Longitude 180.1 does not fall into the range [-180.0, 180.0].</faultstring>
<detail>
<ns2:InvalidFieldValueFault xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ns2:field>
<ns2:name>From.Longitude</ns2:name>
<ns2:value>180.1</ns2:value>
</ns2:field>
</ns2:InvalidFieldValueFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>