GLS ShipIT
GLS ShipIT - SOAP services
ParcelShop search

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

If the user is authenticated successfully the actual backend state is requested from datahub. If the backend is active in datahub, the backend state in backend database is set to active and the request is executed, else the backend state in backend database is set to inactive and an error is returned.

Available web service operations

getParcelShopById (F-107)

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 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>2760901388</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>2760901388</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 ["1111111"]</faultstring>
<detail>
<InvalidParcelShopIDFault xmlns="http://fpcs.gls-group.eu/v1/ParcelShop" xmlns:ns2="http://fpcs.gls-group.eu/v1/Common">
<ParcelShopID>1111111</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 (F-108)

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>2760901761</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>2760901762</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>

getParcelShopsInArea (F-109)

This method searches the parcelshops within the given area.

Parameter Mandatory Description
area TRUE The eu.glsgroup.fpcs.datatypes.soap.v1.parcelshop.Area with the request parameters.


Input validation

  • all the parameters inside the Area object have to be set.
  • all latitudes have to be valid latitudes ranging from -90 to +90
  • all longitudes have to be valid longitudes ranging from -180 to +180

The response is presented as an instance of type eu.glsgroup.fpcs.datatypes.soap.v1.parcelshop.ListOfParcelShop or one of the following soap faults:

Attention: Searching over big areas will result in a slow and potentially very big response. If you plan to integrate the service in a synchronous manner, keep the search area small to ensure a quick response.

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:Area>
<par:From>
<par:Latitude>48.57035</par:Latitude>
<par:Longitude>12.62896</par:Longitude>
</par:From>
<par:To>
<par:Latitude>48.79115</par:Latitude>
<par:Longitude>9.00543</par:Longitude>
</par:To>
</par:Area>
</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>2760229380</ParcelShopID>
<Location>
<Latitude>48.77653</Latitude>
<Longitude>12.51949</Longitude>
</Location>
<Address>
<ns2:Name1>Getränke Steinberger</ns2:Name1>
<ns2:Name2/>
<ns2:Name3/>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>94339</ns2:ZIPCode>
<ns2:City>Leiblfing</ns2:City>
<ns2:Street>Aitrachweg</ns2:Street>
<ns2:StreetNumber>2</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>08:30:00</From>
<To>19: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>08:30:00</From>
<To>16:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
</ParcelShop>
<ParcelShop>
<ParcelShopID>2760194369</ParcelShopID>
<Location>
<Latitude>48.76232</Latitude>
<Longitude>12.30146</Longitude>
</Location>
<Address>
<ns2:Name1>Edeka Markt</ns2:Name1>
<ns2:Name2>Limmer E. u. A.</ns2:Name2>
<ns2:Name3/>
<ns2:CountryCode>DE</ns2:CountryCode>
<ns2:ZIPCode>84082</ns2:ZIPCode>
<ns2:City>Laberweinting</ns2:City>
<ns2:Street>Hofkirchen</ns2:Street>
<ns2:StreetNumber>110</ns2:StreetNumber>
</Address>
<WorkingDay>
<DayOfWeek>MON</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>07: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>
...
<WorkingDay>
<DayOfWeek>SAT</DayOfWeek>
<OpeningHours>
<OpeningHours>
<From>06:30:00</From>
<To>12:00:00</To>
</OpeningHours>
</OpeningHours>
<Breaks>
<OpeningHours>
<From>00:00:00</From>
<To>00:00:00</To>
</OpeningHours>
</Breaks>
</WorkingDay>
</ParcelShop>
...

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>Longitude 1111 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>1111</ns2:value>
</ns2:field>
</ns2:InvalidFieldValueFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>

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 Area.From.Longitude is not set</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>

findNearestParcelShopForAddress (F-110)

This method finds the parcelshops that are nearest to a given address.
The service is limited to the next 15 parcelshops within 50km of airline distance from the given address.

Parameter Mandatory Description
area TRUE The eu.glsgroup.fpcs.datatypes.soap.v1.parcelshop.ParcelShopSearchLocation with the request parameters.


Input validation

  • At least the attributes zipCode and countryCode of the ParcelShopSearchLocation must be set

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: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>2760127516</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>2760903666</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>