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> |
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. |
GET - Retrieve Track & Trace links
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”
Track & Trace links Request
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>
Track & Trace links 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 links Request Curl Example
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
Track & Trace links Response
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"
}
]
}
Track & Trace links Response Attributes
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