Content
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
...
If you wish to track a batch of shipments and get live updates for all new tracking events use the push service Parcel events push notification.
We reserve the right to limit users who misuse this service.
Setup
Example | |
---|---|
Username (see Authentication section) | wsfoobar |
Password (see Authentication section) | a-very-very-long-password |
The user is a web service user
The user has access to the web service for
Parcel Tracking
Environments / endpoints
TEST
|
| ||||||||
---|---|---|---|---|---|---|---|---|---|
PRODUCTION
|
|
Authentication
This endpoint requires the user to be authenticated. Refer to the documentation here for more information on how to obtain a valid token to use in your request.
...
Info |
---|
|
Request header
key | value example | comment | ||
---|---|---|---|---|
Authorization |
| |||
Content-Type | application/json |
Path parameters
parameter | example | description |
---|---|---|
identifier | 370724760010119754 | Shipment or item identifier |
locale | NO | Language code. eventDescription will be translated to locale. Supported languagecodes are currently:
|
onlyLastEvent | false | If set to true only the last registered event is returned. Last registered is decided based on eventTime. If false, all available events are returned |
Curl request example
Code Block |
---|
curl --request GET --url https://staging-ws.di.no/ws/json/parcel/tracking/v-1/fetch/370724760120000898/NO/false \ --header "Authorization: Bearer $SECRET_WS_TOKEN" \ --header 'Content-Type: application/json' \ |
...
The API will respond with a list of shipments relevant for the request. The response may contain events for one or several parcels. The respons will contain events for several parcels if the shipment number specified in the request contains several parcels/items or if one of the parcels has had a change of delivery method (freightproduct). If the same physical parcel/item changes delivery method it will receive a new tracking reference and shipment number, and the IDs will be linked with the original identifications.
Name | Type | Description |
---|---|---|
list of events | List of events |
Events
Name | Type | Example | Max Length | Mandatory | Description |
---|---|---|---|---|---|
shipmentNumber | string | (401)70712190172720651 | 35 | Globally unique identifier for the shipment. Typically a GINC code. | |
trackingReference | string | (00)370724760010119754 | 35 |
| Tracking reference for the item, typically a SSCC gs1 code. |
eventTime | string | 2017-08-22 13:55:13 | 19 |
| Time of the event registered in originating system. Datetime format yyyy-MM-dd HH:mm:ss |
lat | double | 59.911096 | 9 | Latitude for the location of the event | |
lon | double | 10.752457 | 9 | Longitude for the location of the event | |
locationContext | string | Osloveien 14, 0288 Oslo | 255 | Address or description of the location/ context of the event | |
locationContextId | string | 34567 | 10 | Unique identification of the locationContext. This is defined/set by the users, and not by the system/default. | |
eventType | eventType object | n/a |
| Description of the event, will be translated to defined locale | |
additionalInfo | additionalInfo object | n/a | Additional description of the event, will be translated to defined locale | ||
eventGroup | eventGroup object | n/a | Groupage of event, e.g. transportation events, communication events etc. | ||
communicationChannel | string | SMS | n/a | Communication channel only used for event types within event group "communication". ComChannelTypes in use:
| |
changeUserId | whole number | 112233 | n/a | Internal user identification responsible for the event taking place. Only returned for callees having the highest access level | |
regSystem | regSystem object | n/a |
| System that registered the event | |
message | string | 255 | Optional message from the system registering the event |
eventType
Name | Type | Example | Max length | Mandatory | Description |
---|---|---|---|---|---|
apiKey | string | 001 | n/a |
| Identifier for the event group |
description | string | Package received | n/a | Static description of the event, will be translated to defined locale | |
i18nKey | string | event.type.pub.shipment.received | n/a |
| Key which can be used to add your own translations |
additionalInfo
Name | Type | Example | Max length | Description |
---|---|---|---|---|
apiKey | string | 001 | n/a | Identifier for the additional info group /tes |
description | string | Package received | n/a | Static description of the event, will be translated to defined locale. Can be concatenated with the Parcel Event Log v1#eventType description for a more detailed description. The formatting is already taken care of |
i18nKey | string | event.type.pub.shipment.received | n/a | Key which can be used to add your own translations |
eventGroup
Name | Type | Example | Max length | Mandatory | Description |
---|---|---|---|---|---|
id | whole number | 1 | n/a |
| identifier for the event group |
name | string | communication | n/a | named classification of the group |
Group id | Description |
---|---|
1 | Information on shipments received/imported in DI |
2 | Information on transportation |
3 | Information on communication |
4 | Information on status updates |
5 | Information on scanning of shipments |
6 | Information for shipments transported by others |
7 | Information from/relating to external systems |
8 | Information on internal processing |
regSystem
Name | Type | Example | Max length | Description |
---|---|---|---|---|
id | whole number | 1 | n/a | identifier for the originating system |
name | string | Postnord | n/a | named classification of the originating system |
List of possible events
Access level determines the first part of translation key (i18nKey). It can be either one of:
...
In addition to HTTP status there may be more details in the errorKey field. Error Keys can be added at a later stage, clients should handle this as well as an empty value for errorKey
.
HTTP Status code | Text | Description |
---|---|---|
400 | Client or Validation Error | The request body/query string is not in the correct format. |
401 | Authentication Failure | Indicates that the Authorization header is either missing or incorrect. You can learn more about the Authorization header here. |
403 | Access denied | This indicates that the agent whose credentials were used in making this request was not authorized to perform this API call. It could be that you do not have access to the shop or transportsolution you provided in your request. If you believe this is a mistake, please reach out to your contact so it can be rectified. |
405 | Method not allowed | This API request used the wrong HTTP verb/method. For example a PUT request will result in this error. |
4xx | Client error | Generally receiving an error code that starts with 4 indicates that the client needs to change something. |
500 | Unexpected Server Error | Oops! This may indicates an error on our side. Please try again, if the error continues notify your contact person |
Error response
In addition to the HTTP status code, most errors will also return a response body that contains more information to help you debug the error. A sample error response is shown below. The format of the error response body is explained after the example.
...
Code Block |
---|
{ "statusCode": 401, "errorKey": "authentication.missing", "errorMap": {} } |
Field | Description |
---|---|
statusCode | The HTTP code associated with this error. |
errorKey | A machine parseable error code. |
errorMap | Additional details pertaining to the error. |