Skip to content

Track&Trace

Overview

Introduction

The Track&TraceAPI enables the GLS customer to retrieve parcel tracking data via a RESTful web service. This allows the customer an overview about his parcels as well as the option to embed GLS tracking data into his website. Please get in touch with your GLS contact to get a WebAPI/YourGLS user with the necessary API rights

Resources Structure

Name Description
Base URL https://api.gls-group.eu/public/v1
Resource tracking/references/<Replace with valid references>
Authentication RFC 2617

Header Structur

Name Content
Authorization Basic \<Base64-encoded username:password>
Accept-Language en
Accept-Encoding gzip,deflate
Accept application/json
Content-Type application/json

Example

GET /public/v1/tracking/references/<Replace with valid references> HTTP/1.1
Host: api.gls-group.eu
Accept-Language: en
Accept-Encoding: gzip,deflate
Accept: application/json
Content-Type: application/json
Authorization: Basic <Replace with valid credentials>

Notes

• The optional “Accept-Language” (Default value “en”) value determines the language of the label.

• Accepted languages are given as 2-letter code. Following languages are supported: cs, da, de, en, es, fb, fi, fr, hr, hu, lb, nl, pl, pt, ro, sk, sl, v

Basic Data Formats

Name Description
Encoding UTF-8
Date/Timestamp ISO 8601
YYYY-MM-DDThh:mm:ss+hh:mm or
YYYY-MM-DDThh:mm:ssZ

Media Types

The current version of the API solely supports the media type application/json.

Common Status Codes

Code Text Description
200 OK The request has succeeded.
400 Bad Request The request is incomplete or has an invalid structure.
401 Unauthorized The authentication information that was sent is either missing or invalid. Authentication may be retried.
403 Forbidden Authentication was successful, but authorization wasn’t. The user is not allowed to access the requested resource. Also sent as response for every request of a user account that gets locked out.
404 Not Found The requested resource does not exist.
405 Method Not Allowed The HTTP method is not supported for this resource; e.g., a GET on the shipments collection resource must yield this status code.
500 Internal Server Error Used to indicate there was a server-side processing failure of some kind. Use this when no other description in the 5xy-range makes sense.
503 Service Unavailable The API is overloaded currently; try again later. The API sends this code when the systems it depends on are down or react sluggish.

Error Messages

Name Description
errors An array holding error objects.
exitMessage The short error message.
description A more verbose description of the error.
exitCode The error code.

Example

{
  "errors": [
    {
      "exitMessage": "Some error message",
      "description": "See the uri http://gls-group.eu/public/somewhere to get details.",
      "exitCode": "X1234"
    }
  ]
}

classDiagram
  ERROR : «RequiredField»
  ERROR : + description String
  ERROR : + exitCode String
  ERROR : + exitMessage String
  ROOT  -- "1..*" ERROR:Errors
  class ROOT{ 
  }
Figure 1 Error Structure


HTTP Code Code Message Description
429 0001 Rate limit exceeded The user exceeded the rate limit (%s).
403 0002 User account blocked The user account was blocked.
403 0003 Missing rights The user is allowed to access the API but lacks necessary rights (account registration incomplete).
400 0004 Input validation error An error occurred when validating input: %s.
400 0005 Missing input parameter An input parameter is missing: %s.
406 0008 Not acceptable The content-type of the POST request is not acceptable.
401 0009 Not authorized The user is not authorized (wrong username or password).
404 0010 Page not found The requested resource was not found.
405 0011 The HTTP method is not supported for this resource. The method specified in the Request-Line is not allowed for the resource identified by the Request-URI.
500 9999 Unexpected error There was a server-side processing failure of some kind.

Testing Environment

For development and testing purposes please use this Base URL:

Name Description
Base URL (test) https://qs.gls-group.eu/public/v1/
Resource tracking/references/<Replace with valid references>

Please contact your GLS contact if you need a user account for the testing environment.

Resources

The scope of the web API involves the tracking resource. The base resource to retrieve track & trace information is the tracking resource under the parcels collection: "/tracking/references/<Replace with valid references>".

GET - Retrieve Track & Trace Information

Retrieves the tracking data referencing a certain parcel.

This resource address is returned when tracking a parcel (in form of the "Location"-header URI).

Name Description
Base URL (prod) https://api.gls-group.eu/public/v1/
Resource tracking/references/<Replace with valid references>
Example: “/tracking/references/XXXXXX11,22YYYYYY”

Track & Trace Request

GET /public/v1/tracking/references/["Customers reference numbers"] HTTP/1.1
Host: api.gls-group.eu
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/73.0.3683.86 Safari/537.36
Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Authorization: Basic <Replace with valid credentials> 

Track & Trace Request Parameters

Attribute Type Constraint Max Length Description Example
ids* This path string parameter is the tracking references used in other APIs (e.g., when creating a parcel, the tracking ID is returned as a path parameter in the "Location" - header URI).

Multiple references could be provided with a ","
XXXXXX11,
22YYYYYY,
...

* Mandatory

Track & Trace Request Curl Example

curl 'https://api.gls-group.eu/public/v1/tracking/references/<Replace with valid 
references>'
-H 'Authorization: Basic <Replace with valid credentials>
-H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' 
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/73.0.3683.86 Safari/537.36' 
-H 'Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' 
-H 'Accept-Encoding: gzip, deflate, br' 
-H 'Accept-Language: en-US,en;q=0.9' --compressed

Track & Trace Response

Header

HTTP/1.1 200 OK
Date: Wed, 27 Mar 2019 08:41:56 GMT
Server: Apache
Expires: Wed, 27 Mar 2019 08:46:55 GMT
Last-Modified: Wed, 27 Mar 2019 08:41:55 GMT
Cache-Control: max-age=300, must-revalidate, proxy-revalidate, no-transform, private
Content-Type: application/json;charset=UTF-8
Content-Language: en-US
Vary: Accept-Encoding
Content-Encoding: gzip
Strict-Transport-Security: max-age=10886400; includeSubDomains
Keep-Alive: timeout=10, max=249
Connection: Keep-Alive
Transfer-Encoding: chunked

Body

Example for a parcel inside Germany:

{
  "parcels": [
    {
      "timestamp": "2019-01-21T12:22:11",
      "status": "DELIVERED",
      "trackid": "xxx",
      "events": [
        {
          "timestamp": "2019-01-21T12:22:11",
          "description": "Das Paket wurde erfolgreich zugestellt.",
          "location": "Mainz-Hechtsheim",
          "country": "DE",
          "code": "3.0"
        },
        {
          "timestamp": "2019-01-21T12:22:10",
          "description": "Das Paket wurde an GLS übergeben.",
          "location": "Mainz-Hechtsheim",
          "country": "DE",
          "code": "0.0"
        },
        {
          "timestamp": "2019-01-21T11:51:37",
          "description": "Die Paketdaten wurden im GLS IT-System erfasst; das Paket wurde noch nicht an GLS übergeben.",
          "location": "Wesel",
          "country": "DE",
          "code": "0.100"
        }
      ],
      "references": [
        {
          "type": "UNITNO",
          "name": "Paketnummer:",
          "value": "xxx"
        },
        {
          "type": "UNIQUENO",
          "name": "Track ID",
          "value": "xxx"
        },
        {
          "type": "CUSTREF",
          "name": "Kundeneigene Empfängernummer.",
          "value": "Abed-01"
        },
        {
          "type": "CUSTREF",
          "name": "Kundeneigene Referenznummer - pro TU",
          "value": "Cancellation_02_2"
        }
      ]
    }
  ]
}

Example for a parcel inside Denmark:

{
  "parcels": [
    {
      "timestamp": "2019-02-03T17:02:58",
      "status": "INDELIVERY",
      "trackid": "[reference]",
      "events": [
        {
          "timestamp": "2019-02-19T07:49:43",
          "description": "The parcel is expected to be delivered during the day.",
          "location": "Taastrup",
          "country": "DK",
          "code": "11.0"
        },
        {
          "timestamp": "2019-02-19T07:49:42",
          "description": "The parcel was handed over to GLS.",
          "location": "Taastrup",
          "country": "DK",
          "code": "0.0"
        },
        {
          "timestamp": "2019-02-03T17:02:58",
          "description": "The parcel data was entered into the GLS IT system; the parcel was not yet handed over to GLS.",
          "location": "Taastrup",
          "country": "DK",
          "code": "0.100"
        }
      ],
      "references": [
        {
          "type": "UNITNO",
          "name": "Parcel number:",
          "value": "["Customer parcel number"]"
        },
        {
          "type": "GLSREF",
          "name": "Denmark parcel number",
          "value": "["Customer parcel number"]"
        },
        {
          "type": "GLSREF",
          "name": "Denmark parcel number",
          "value": "["Customer parcel number"]"
        },
        {
          "type": "GLSREF",
          "name": "Denmark parcel number",
          "value": "["Customer parcel number"]"
        },
        {
          "type": "CUSTREF",
          "name": "Customer's own reference number",
          "value": "2147180_01161461"
        }
      ]
    }
  ]
}

Track & Trace Response Attributes

Attribute Type Description
.* object The outermost object representing the Track & Trace resource.
Parcels* array An array of parcels.
parcels[n] object A parcel structure.
parcels[n].status* string The current status of the parcel.
parcels[n].timestamp* string (ISO 8601 datetime) The timestamp at which the event occurred that caused the status.
parcels[n].trackid* string The GLS tracking ID.
parcels[n].references* array An array of parcel references.
parcels[n].references[n] object The references object structure.
parcels[n].references[n].name* string The references name.
parcels[n].references[n].values* array of strings An array of references values (strings).
parcels[n].events* array An array of parcel processing events.
parcels[n].events[n] object A parcel processing event structure.
parcels[n].events[n].code* string The event code & reason. A list of possible codes is available in chapter 2.1.6.
parcels[n].events[n].timestamp* string (ISO 8601 datetime) The timestamp at which the event occurred ('creation'-attribute in IP-platform implementation). The most recent event has the most recent timestamp.
parcels[n].events[n].description* string A text describing the event. The description is localized and controlled by the "Accept-Language"-header (see description of headers).
parcels[n].events[n].location* string The location (e.g., city) where the event occurred/was registered. May be determined from the 'locationcode'/'locationno'-attribute of the IP implementation.
parcels[n].events[n].postalcode* string The Postal Code of the location.
parcels[n].events[n].country* string (ISO 3166 2-letter country code) The country in which the event occurred, given in ISO 3166 2-letter code format. Must be determined from the 'locationcode'/'locationno'-attribute of the IP implementation.

Event Codes Description

Event Code No Reason No Event Name
0 0 The parcel was handed over to GLS.
0 100 The parcel data was entered into the GLS IT system; the parcel was not yet handed over to GLS.
1 0 The parcel has left the parcel center.
1 53
1 58 The parcel has left the parcel center.
1 79 The parcel has left the parcel center.
1 101
1 1023 The express parcel has left the start center.
1 1024 The express parcel has left the hub.
2 0 The parcel has reached the parcel center.
2 29 The parcel has reached the parcel center.
2 79 The parcel has reached the parcel center.
2 98 The parcel has reached the parcel center.
2 101 The parcel has reached the parcel center.
2 106 The parcel has reached the parcel center and was sorted manually.
2 107 The parcel has reached the parcel center, the parcel label is not readable.
2 124 The parcel has reached the ParcelShop.
2 235 The parcel has reached the parcel center.
2 240 The parcel has reached the parcel center.
2 286 The parcel has reached the parcel center.
2 360 The parcel has reached the parcel center.
2 379 The parcel has reached the parcel center, it is oversized.
2 1023 The express parcel has reached the destination center.
2 1024 The express parcel has reached the hub.
3 0 The parcel has been delivered.
3 79 The parcel has been forwarded to a GLS partner for delivery.
3 120 The parcel has been delivered / dropped off.
3 121 The parcel has been delivered at the neighbour´s (see signature)
3 122 The parcel has been delivered.
3 124 The parcel has been delivered at the ParcelShop (see ParcelShop information).
3 130 The parcel has been delivered to a post office box.
3 131 The customs documents have been transferred to the customs agent of the consignee.
3 142 The parcel has been delivered at a post office.
3 165 The parcel has been delivered.
3 872 The parcel has been delivered to the GLS parcel station.
3 887 The parcel has been delivered.
3 896 The parcel has been delivered to the parcel box.
3 1019 The express parcel has been delivered.
4 1 The parcel could not be delivered due to traffic problems.
4 24 The parcel could not be delivered as the recipient refused acceptance.
4 25 The parcel could not be delivered as the consignee refused cash payment.
4 26 The parcel could not be delivered as acceptance has been refused due to delayed delivery.
4 30 The parcel could not be delivered as the consignee has moved.
4 31 The parcel could not be delivered due to wrong or incomplete address.
4 32 The parcel could not be delivered as further address information is needed.
4 33 The parcel could not be delivered as further address information is needed.
4 37 The parcel could not be delivered as the reception was closed.
4 38 The parcel could not be delivered as the reception was closed.
4 40 The parcel could not be delivered as the consignee was absent.
4 41 The parcel could not be delivered as the consignee is on holidays.
4 42 The parcel could not be delivered as the reception was closed.
4 43 The parcel could not be delivered due to a strike.
4 44 The parcel could not be delivered due to stocktaking.
4 47 The parcel could not be delivered as the exchange unit was not prepared.
4 48 The parcel could not be delivered as the consignee had no cash available/suitable.
4 55 The parcel could not be delivered due to exceeded time frame.
4 63 The parcel could not be delivered as the consignment is not complete.
4 66 The parcel could not be delivered as the consignee refused to pay charges.
4 69 The parcel could not be delivered due to missing delivery note.
4 80 The parcel could not be delivered as a new delivery date has been agreed.
4 83
4 86 The parcel could not be delivered due to missing CashService/COD data.
4 119 The parcel could not be delivered due to missing delivery data.
4 126 The consignee refused parcel acceptance in the ParcelShop.
4 128 The parcel could not be delivered in the ParcelShop.
4 149 The parcel could not be delivered due to missing documents.
4 152 The parcel could not be delivered as the recipient identity check failed.
4 170 The parcel could not be delivered as the authorised consignee was absent.
4 207 The parcel could not be delivered as the parcel label cannot be scanned.
4 208 The parcel could not be delivered as the recipient identity check failed.
4 209 The parcel could not be delivered due to wrong PIN entry.
4 701 The parcel could not be delivered. It is too big to be placed in the parcel box.
4 897 The parcel could not be delivered as it was not possible to open the parcel box.
4 898 The parcel could not be delivered as access to the parcel box was not possible.
4 899 The parcel could not be delivered as the parcel box was occupied.
5 0 The parcel has been returned to sender.
6 13 The parcel is being delivered as requested.
6 14 The parcel has been forwarded to the desired address to be delivered there.
6 211 The changed delivery option has been saved in the GLS system and will be implemented as requested.
7 56 The parcel was disposed upon shipper´s request.
7 57 The parcel was disposed upon custom´s request.
8 0 The parcel is stored in the parcel center.
8 27 The parcel is stored in the parcel center until the agreed date.
8 32 The parcel is stored in the parcel center. It cannot be delivered as further address information is needed.
8 41 The parcel is stored in the parcel center. It cannot be delivered as the consignee is on holidays.
8 63 The parcel is stored in the parcel center. It cannot be delivered as the consignment is not complete.
8 80 The parcel is stored in the parcel center to be delivered at a new delivery date.
8 83 The parcel is stored in the parcel center to be picked up by the consignee.
8 126 The parcel is stored in the parcel center as the consignee refused acceptance in the ParcelShop.
8 149 The parcel is stored in the parcel center. It cannot be delivered due to missing documents.
8 152 The parcel is stored in the parcel center. It cannot be delivered as the recipient identity check failed.
8 168 The parcel is stored at customs.
8 169 The parcel is stored at customs.
8 327 The parcel is stored in the parcel center. It cannot be delivered due to missing documents.
8 328 The parcel is stored in the parcel center. It cannot be delivered due to missing documents.
8 489 The parcel is stored in the parcel center. It cannot be delivered as the authorised consignee was absent.
8 490 The parcel is stored in the parcel center. It cannot be delivered as the authorised consignee was absent.
8 726 The parcel is stored in the parcel center. It cannot be delivered due to exceeded storage capacity of the ParcelShop.
8 731 The parcel is stored in the parcel center. It cannot be delivered as the parcel is not allowed for delivery in the selected Parcel Shop.
8 908 The parcel is stored in the parcel center.
11 0 The parcel is expected to be delivered during the day.
11 79 The parcel is expected to be delivered during the day.
11 256 The driver has received the order to pick up the parcel during the day.
11 1019 The express parcel is in the delivery vehicle and will be delivered at the agreed time.
12 9 The parcel is stored in the parcel center. It cannot be delivered due to public holidays.
12 30 The parcel is stored in the parcel center. It cannot be delivered as the consignee has moved
12 32 The parcel is stored in the parcel center. It cannot be delivered as further address information is needed.
12 33 The parcel is stored in the parcel center. It cannot be delivered as further address information is needed.
12 37 The parcel is stored in the parcel center. It cannot be delivered as the reception is closed.
12 41 The parcel is stored in the parcel center. It cannot be delivered as the consignee is on holidays.
12 42 The parcel is stored in the parcel center. It cannot be delivered as the reception is closed.
12 63 The parcel is stored in the parcel center. It cannot be delivered as the consignment is not complete.
12 69 The parcel is stored in the parcel center. It cannot be delivered as the delivery note is missing.
12 72 The parcel is stored in the parcel center. It cannot be delivered as the goods are excluded from transport by GLS terms & conditions.
12 80 The parcel is stored in the parcel center to be delivered at a new delivery date.
12 83 The parcel is stored in the GLS parcel center. The consignee has agreed to collect the goods himself.
12 149 The parcel is stored in the parcel center. It cannot be delivered due to missing documents.
12 152 The parcel is stored in the parcel center. It cannot be delivered as the recipient identity check failed.
12 170 The parcel is stored in the parcel center. It cannot delivered as the authorised recipient was absent.
13 0 The customs documents are being prepared.
13 64 The customs documents are being prepared.
14 46 Customs clearance is delayed due to missing information of the consignee.
14 53 Customs clearance is delayed due to a customs inspection.
14 60 Customs clearance is delayed due to a missing invoice.
14 61 Customs clearance is delayed due to incomplete documents.
14 62 Customs clearance is delayed until the consignee´s approval is available.
14 63 Customs clearance is delayed as the consignment is incomplete.
14 66 Customs clearance is delayed as the consignee refuses to pay charges.
14 68 Customs clearance is delayed due to missing customs data.
14 69 Customs clearance is delayed due to missing delivery note.
14 70 Customs clearance is delayed due to missing or inaccurate customs documents.
14 72 Customs clearance is delayed as the goods are excluded from transport by GLS terms & conditions.
14 76 Customs clearance is delayed as the consignee´s phone number is not available.
14 149 Customs clearance is delayed due to missing or inaccurate customs documents.
14 162 Customs clearance is delayed due to missing consignee details.
14 164 Customs clearance is delayed due to missing or inaccurate customs documents.
14 166 Customs clearance is delayed awaiting payment of duties.
14 359 Customs clearance is delayed due to missing or inaccurate customs documents.
14 397 Customs clearance is delayed as the consignee refused acceptance.
14 398 Customs clearance is delayed due to a wrong incoterm.
14 464 Customs clearance is delayed until the value of the goods is clarified.
14 573 Customs clearance is delayed, pending release by the customs authorities.
14 908 Customs clearance is delayed.
14 914 Customs clearance is delayed due to missing or inaccurate customs documents.
14 939 Customs clearance is delayed due to missing or inaccurate customs documents.
15 0 The parcel was released by customs.
15 65 The parcel was released by customs. Customs clearance is carried out by the consignee.
15 150 The parcel was released by customs.
15 261 The parcel was released by customs. The documents have been forwarded to the importer´s customs broker.
16 0 The parcel label for the pickup has been produced.
17 0 The parcel has been picked up.
18 32 The parcel has not been picked up as further address information is needed.
18 41 The parcel has not been picked up as the customer is on holidays.
19 32 The parcel could not be picked up as further address information is needed.
19 37 The parcel could not be picked up as the reception was closed.
19 40 The parcel could not be picked up as the customer was absent.
19 41 The parcel could not be picked up as the customer is on holidays.
19 42 The parcel could not be picked up as the reception was closed.
19 71 The parcel pickup failed as there were no goods to be picked up.
19 74 The parcel could not be picked up as the goods to be picked up were not packed.
19 75 The parcel could not be picked up as the customer was not informed about the pickup.
20 19 The pickup request was cancelled as the goods are excluded from transport by GLS terms & conditions.
20 32 The pickup request has been cancelled due to missing address information.
20 56 The pickup request has been cancelled upon shipper´s request.
20 71 The pickup request has been cancelled as there were no goods to be picked up.
20 73 The pickup request has been cancelled as the goods were sent by other means.
27 1010 The parcel will be delivered in the evening.
27 1011 The parcel will be delivered on Saturday.
30 40 The parcel could not be delivered as the consignee was absent.
30 41 The parcel could not be delivered as the consignee is on holidays.
30 42 The parcel could not be delivered as the reception was closed.
31 30 The parcel could not be picked up as the consignee has moved.
31 31 The parcel could not be picked up as further address information is needed.
31 32 The parcel could not be picked up as further address information is needed.
31 33 The parcel could not be picked up as further address information is needed.
31 40 The parcel could not be picked up as the consignee was absent.
31 41 The parcel could not be picked up as the customer is on holidays.
31 42 The parcel could not be picked up as the reception was closed.
31 72 The parcel could not be picked up as the goods are excluded from transport by GLS terms & conditions.
31 74 The parcel could not be picked up as the goods to be picked up were not packed.
31 75 The parcel could not be picked up as the customer was not informed about the pickup.
35 1 The parcel is stored in the final parcel center. It could not be delivered due to traffic problems.
35 24 The parcel is stored in the final parcel center. It could not be delivered as the consignee refused acceptance.
35 25 The parcel is stored in the final parcel center. It could not be delivered as the consignee refused to pay the CashService amount.
35 26 The parcel is stored in the final parcel center. as the acceptance was refused due to delayed delivery.
35 30 The parcel is stored in the final parcel center. It could not be delivered as the consignee has moved.
35 32 The parcel is stored in the final parcel center. It could not be delivered as further address information is needed.
35 37 The parcel is stored in the final parcel center. It could not be delivered as the reception was closed.
35 38 The parcel is stored in the final parcel center. It could not be delivered as the reception was closed.
35 40 The parcel is stored in the final parcel center. It could not be delivered as the consignee was absent.
35 41 The parcel is stored in the final parcel center. It could not be delivered as the consignee is on holidays.
35 47 The parcel is stored in the final parcel center. It could not be delivered as the exchange unit was not prepared.
35 48 The parcel is stored in the final parcel center. It could not be delivered as the consignee had no cash available.
35 63 The parcel is stored in the final parcel center. It could not be delivered as the consignment is incomplete.
35 72 The parcel is stored in the final parcel center. It could not be delivered as the goods are excluded from transport by GLS terms & conditions.
35 73 The parcel is stored in the final parcel center. Delivery and exchange were not possible as the exchange unit was sent by other means.
35 74 The parcel is stored in the final parcel center. Delivery and exchange were not possible as the exchange unit was not packed.
35 75 The parcel is stored in the final parcel center. Delivery and exchange were not possible as the customer was not informed about the pickup.
35 80 The parcel is stored in the final parcel center to be delivered at a new delivery date.
35 83 The parcel is stored in the final parcel center to be picked up by the consignee.
35 86 The parcel is stored in the final parcel center. It could not be delivered due to missing CashService data.
35 119 The parcel is stored in the final parcel center. It could not be delivered due to missing delivery data.
35 126 The parcel is stored in the final parcel center as the consignee refused acceptance in the ParcelShop.
35 128 The parcel is stored in the final parcel center as delivery in the ParcelShop was not possible.
35 149 The parcel is stored in the final parcel center. It could not be delivered due to missing documents.
35 152 The parcel is stored in the final parcel center. It could not be delivered as the recipient identity check failed.
35 170 The parcel is stored in the GLS parcel center. It could not be delivered as the authorised consignee was absent.
35 207 The parcel is stored in the GLS parcel center. The parcel could not be delivered as the parcel label cannot be scanned.
35 208 The parcel is stored in the final parcel center. It could not be delivered as the recipient identity check failed.
35 209 The parcel is stored in the final parcel center. It could not be delivered due to wrong PIN entry.
35 211 The changed delivery option has been saved.
35 253 The parcel is stored in the final parcel center. It could not be delivered as acceptance was denied due to duplicate delivery.
35 482 The parcel is stored in the final parcel center. It could not be delivered as the consignee was absent.
35 483 The parcel is stored in the final parcel center. It could not be delivered as the consignee was absent.
35 484 The parcel is stored in the final parcel center. It could not be delivered as the exchange unit was not prepared.
35 485 The parcel is stored in the final parcel center. It could not be delivered as the exchange unit was not prepared.
35 486 The parcel is stored in the final parcel center. It could not be delivered as the consignee had no cash available.
35 487 The parcel is stored in the final parcel center. It could not be delivered as the consignee had no cash available.
35 488 The parcel is stored in the final parcel center. It could not be delivered due to missing data of hazardous goods.
35 489 The parcel is stored in the final parcel center. It could not be delivered as the authorised consignee was absent.
35 490 The parcel is stored in the final parcel center. It could not be delivered as the authorised consignee was absent.
35 701 The parcel is stored in the final parcel center as it was too big to be placed in the parcel box.
35 897 The parcel is stored in the final parcel center. It could not be delivered as it was not possible to open the parcel box.
35 898 The parcel is being stored in the GLS parcel center. It could not be delivered as access to the parcel box was not possible.
35 899 The parcel is being stored in the GLS parcel center. It could not be delivered as the parcel box was occupied.
43 0 The parcel data have been deleted from the GLS IT system.
67 187 The parcel has been loaded into the transport vehicle by the shipper.
71 0 The parcel returned from customs.
81 0 The parcel has been picked up by GLS.
81 896 The parcel was picked up from the parcel box.
82 37 The parcel could not be picked up as the reception was closed.
82 40 The parcel could not be picked up as the sender was absent.
82 41 The parcel could not be picked up as the sender is on holidays.
82 71 The pickup attempt failed as there were no goods to be picked up.
82 74 The parcel could not be picked up as the goods to be picked up were not packed.
82 700 The pickup failed as there was no parcel for collection in the parcel box.
82 897 The parcel could not be picked up as it was not possible to open the parcel box.
83 19 The pickup request was cancelled as the goods are excluded from transport by GLS terms & conditions.
83 71 The pickup request was cancelled as there were no goods to be picked up.
90 216 Goods are cleared. Payment of customs duties by the consignee is expected.
824 249
829 902
895 0 A claim (%1) has been opened for this parcel.
897 0 The claim has been settled.
941 0 The order for the same day delivery has been received.
941 31 Same day delivery is not possible for the indicated zip code.
941 480 The parcel could not be delivered. A second delivery attempt takes place the next working day.
949 1014
949 1015
950 1016
951 0 The order for evening delivery on the next working day has been received.
951 31 Evening delivery is not possible for the indicated zip code.
951 480 The parcel could not be delivered. A second delivery attempt takes place the next working day.

Retrieves the tracking data referencing a certain parcel.

This resource address is returned when tracking a parcel (in form of the "Location"-header URI).

Name Description
Base URL (prod) https://api.gls-group.eu/public/v1/
Resource tracking/<Replace with valid the tracking id or references>/links

Example: “tracking/references/XXXXXX11,22YYYYYY/links”

Header

GET /public/v1/tracking/references/["Customers reference numbers or tracking ids"]/links 
HTTP/1.1
Host: api.gls-group.eu
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/73.0.3683.86 Safari/537.36
Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Authorization: Basic <Replace with valid credentials> 
Attribute Type Constraint Max Length Description Example
ids* This path string parameter is the tracking references used in other APIs (e.g., when creating a parcel, the tracking ID is returned as a path parameter in the "Location" - header URI).

Multiple references could be provided with a ","
XXXXXX11,
22YYYYYY,
...

* Mandatory

curl 'https://api.gls-group.eu/public/v1/ tracking/["Customers reference numbers or 
tracking ids"]'/links
-H 'Authorization: Basic <Replace with valid credentials>
-H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' 
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/73.0.3683.86 Safari/537.36' 
-H 'Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' 
-H 'Accept-Encoding: gzip, deflate, br' 
-H 'Accept-Language: en-US,en;q=0.9' --compressed
HTTP/1.1 200 OK
Date: Wed, 27 Mar 2019 08:41:56 GMT
Server: Apache
Expires: Wed, 27 Mar 2019 08:46:55 GMT
Last-Modified: Wed, 27 Mar 2019 08:41:55 GMT
Cache-Control: max-age=300, must-revalidate, proxy-revalidate, no-transform, private
Content-Type: application/json;charset=UTF-8
Content-Language: en-US
Vary: Accept-Encoding
Content-Encoding: gzip
Strict-Transport-Security: max-age=10886400; includeSubDomains
Keep-Alive: timeout=10, max=249
Connection: Keep-Alive
Transfer-Encoding: chunked

Body

Example:

{
  "links": [
    {
      "parcelId": "xx1",
      "webLink": "https://gls-group.eu/track/xx1"
    },
    {
      "parcelId": "xx2",
      "webLink": "https://gls-group.eu/track/xx2"
    },
    {
      "parcelId": "xx3"
    }
  ]
}
Attribute Type Description
. object The outermost object representing the Track & Trace resource.
Links* array An array of parcels.
links[n] object A structure of the link object.
links[n].parcelId* string The current status of the parcel.
links[n].webLink string Web link to track the parcel.

* Mandatory