The purpose of the API is to return last or all events registered for a parcel
Content
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Use of service
The event Event log API v1 is used to get receive all tracking events registered for a specified shipment or parcel. tracking reference or shipment number. 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 event log
Environments / endpoints
...
TEST
Status | ||||
---|---|---|---|---|
|
...
get meta data about the parcel (shop, delivery method ect.) in addition to the events, use the more extensive version https://jira-di.atlassian.net/wiki/pages/resumedraft.action?draftId=1883144376.
Events are static data points and do not contain personal.
There are three access levels for the event log API. The level is configured per web service user, ask you contact person if you have questions about your access.
The different levels give access to different events, and may have different wording (description
) for the same event to communicate
Public access
Web shop access
Distribution access
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' \ |
Response
...
Name
...
Type
...
Description
...
...
list of events
...
List of events
Events
-Type: application/json' \ |
Response
Info |
---|
|
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 |
(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
eventType
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 |
|
Description of the event, will be translated to defined locale
additionalInfo
identifier for the event group | |||
name | string | communication | n/a |
named classification of the |
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:
SMS
EMAIL
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
...
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
...
communcation
...
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
...
title | List of APIkeys |
---|
Access level determines start of translation key. Can be either one of:
event.type.pub
event.type.shopadmin
event.type.distr
event.type.
For example: event.type.distr.shipment.received
...
apikey
...
i18nkey - translation key
...
Description
...
Final status
...
001
...
.import.edi.information.received
...
Parcel arrival notified
...
002
...
.shipment.received
...
Parcel has been received
...
003
...
.shipment.forwarded
...
Parcel is being loaded for transport
...
004
...
.shipment.under.transport
...
Parcel is in transit
...
005
...
.shipment.forwarded.to.servicepoint
...
Parcel is being transferred to a service point
...
006
...
.shipment.arrived.at.servicepoint
...
Parcel has arrived at local service point
...
007
...
.requested.consignee.addresscollect
...
Address Collector sent to recipient
...
008
...
.consignee.notification.response
...
The recipient has submitted the address collector form
...
009
...
.consignee.order.confirmation
...
An order confirmation has been sent to the recipient
...
010
...
.consignee.package.on.its.way
...
"Parcel on it's way" sent to recipient
...
011
...
.consignee.delivery.notification
...
"Parcel delivered" sent to the recipient
...
012
...
.consignee.transport.change.notification
...
"Parcel will be delivered by a partner carrier" sent to recipient
...
013
...
.shipment.delivered
...
Parcel delivered
...
...
015
...
.returned.to.sender
...
Parcel bound for return processing
...
...
016
...
.shipment.scanned.ok
...
Parcel has been scanned
...
017
...
.scanned.missing.package.data
...
No EDI-information received for this shipment
...
018
...
.scanned.wrong.station
...
Parcel scanned at wrong station. Please change station and scan again
...
019
...
.scanned.no.alias
...
The parcel has not been assigned a route (no alias). Notify the manager of this station
...
020
...
.scanned.unknown.station
...
Parcel (address) is connected to Posten. Connect parcel to a route or scan at return-station
...
021
...
.scanned.invalid.tracking.number
...
Tracking reference is invalid. Notify the manager of this station
...
022
...
.scanned.wrong.location
...
Parcel sorted for wrong location. Please scan this parcel on a return-station
...
023
...
.scanned.return.rescan
...
Scanned, sort this parcel again
...
024
...
.scanned.ok.return.scan
...
Return-scan ok
...
025
...
.scanned.ok.return.scan.destruction
...
Parcel is scanned for return and should be destructed
...
026
...
.shipment.exported
...
Parcel will be delivered by a partner carrier
...
...
027
...
.support.ticket.created
...
A support ticket was created for this parcel
...
028
...
.retry.delivery
...
New activation in the electronic delivery guide
...
029
...
.retry.pickup
...
New activation for the electronic delivery guide
...
030
...
.shipment.lost
...
Parcel lost
...
...
031
...
.unable.to.pickup
...
Parcel not picked up
...
032
...
.shipment.retrieved
...
Parcel picked-up
...
...
034
...
.return.not.found
...
Could not find parcel for pick-up
...
035
...
.returned.cannot.deliver
...
Parcel is returned to store/sender
...
036
...
.shipment.unknown.external.code
...
Unknown status notification from external transporter
...
038
...
.pickup.confirmation.consignee
...
"Parcel has been picked-up" sent to recipient
...
039
...
.pickup.confirmation.consignor
...
"Parcel has been picked-up" sent to the sender
...
040
...
.pickup.reject.consignor
...
"Parcel not picked-up" sent to sender
...
041
...
.pickup.reminder
...
"Reminder of scheduled pick-up" sent to sender
...
042
...
.pickup.not.found.consignor
...
"Parcel not found, with option to set new pick-up date" sent to sender
...
043
...
.import.ready.for.delivery
...
Parcel is ready to be delivered to the recipient
...
045
...
.registered.complaint.a
...
A complaint (type A) was registered for this shipment
...
046
...
.registered.complaint.k
...
A complaint (type K) was registered for this shipment
...
047
...
.registered.complaint.x
...
A complaint (type X) was registered for this shipment
...
048
...
.registered.complaint.y
...
A complaint (type Y) was registered for this shipment
...
056
...
.consignor.updated.pickup
...
The sender has changed pick-up date
...
057
...
.shipment.not.delivered
...
Parcel not delivered
...
060
...
.pickup.cancelled
...
Pick-up of parcel has been cancelled
...
...
061
...
.wanted
...
Enquired parcel. This parcel should not be delivered. Return to store/sender
...
062
...
.loaded
...
The shipment has been loaded for transport
...
063
...
.unloaded
...
Parcel has been unloaded from car
...
064
...
.registered.complaint.r
...
A complaint (type R) was registered for this shipment
...
065
...
.registered.complaint.ae
...
A complaint (type Æ) was registered for this shipment
...
066
...
.registered.complaint.l
...
A complaint (type L) was registered for this shipment
...
067
...
.registered.complaint.p
...
A complaint (type P) was registered for this shipment
...
068
...
.not.delivered
...
Parcel not delivered
...
069
...
.unacknowledged
...
Parcel not acknowledged
...
058
...
.consignee.notification.response.same.address
...
Recipient has confirmed that delivery address is correct
...
059
...
.consignee.notification.response.wrong.address
...
Recipient has submitted a new delivery address. If possible the parcel will be delivered by one of our partner carriers
...
070
...
.closed.complaint
...
Complaint closed
...
071
...
.consignor.delivery.notification
...
"Parcel delivered" sent to sender
...
072
...
.shipment.export.no.tracking.notification
...
Parcel will be delivered without tracking within 2-6 working days.
...
073
...
.admin.order.cancelled
...
Order has been cancelled
...
074
...
.consumer.order.cancelled
...
Order has been cancelled
...
075
...
.admin.changed.shipment.date
...
Store admin has changed shipment date
...
076
...
.consumer.changed.shipment.date
...
The customer has changed date for shipment
...
077
...
.delivery.deactivated
...
New activation in EDG has been cancelled as the parcel has received a final status
...
092
...
.shipment.under.customs.clearance
...
Parcel is under customs clearance
...
093
...
.shipment.incorrectly.sorted
...
Parcel has been sorted incorrectly and will unfortunately be slightly delayed
...
078
...
.consignee.refund.delivery.unsuccessful
...
"Delivery failed, amount is reimbursed" sent to recipient
...
079
...
.consignee.delivered.gift
...
"Gift delivered" sent to recipient
...
080
...
.consignor.delivered.gift
...
"Gift delivered" sent to sender
...
081
...
.consignor.not.delivered.gift
...
"Gift not delivered" sent to sender
...
082
...
.consignee.awaiting.processing
...
"Awaiting processing" sent to recipient
...
083
...
.consignor.processing.gift.order
...
"Gift order is being processed" sent to sender
...
084
...
.consignor.gift.order.final.status
...
"Gift order with final status" sent to sender
...
085
...
.consignee.gift.order.final.status
...
"Gift order with final status" sent to recipient
...
086
...
.consignee.order.partially.delivered
...
"Order partially delivered" sent to recipient
...
087
...
.consignee.order.final.status
...
"Order with final status" sent to recipient
...
088
...
.consignee.gift.order.partially.delivered
...
"Gift order partially delivered" sent to recipient
...
089
...
.consignee.paper.notification
...
A written notice has been sent to recipient
...
090
...
.consignee.sms.notification
...
A SMS has been sent to recipient
...
091
...
.consignee.mail.notification
...
A notification has been sent to the recipient by email
...
094
...
.generated.label
...
Label has been generated
...
096
...
.pickup.reject.consignor.new.pickup
...
"Parcel not picked-up, with option to set new pick-up date" sent to sender
...
097
...
.pickup.not.found.consignor.new.pickup
...
"Parcel not found, with option to set new pick-up date" sent to sender
...
095
...
.shipment.not.picked.up.returned.to.sender
...
"Parcel not picked up at service point and will be returned to sender"
...
100
...
.order.changed
...
The order has been changed
...
101
...
.delivery.ordered
...
Delivery to household is ordered for this parcel
...
102
...
.order.deviation
...
Unfortunately, the parcel may be delayed due to a deviation.
...
103
...
.order.notification.sent
...
Delivery notification sent to customer
...
098
...
.pickup.ready
...
099
...
.destination.change.re.labeled
...
Re-labeled after destination change
...
104
...
.delivered.at.service.point
...
Parcel delivered to service point
...
105
...
.parcel.delivered.to.shop
...
Parcel is delivered to a store
...
106
...
.load.carrier.scanned.ok
...
Load carrier has been scanned and closed
...
107
...
.load.carrier.received
...
Load carrier has been received and is beeing loaded for transport
...
108
...
.consignor.order.confirmation
...
"Order confirmation" sent to sender
...
109
...
.consignee.parcel.under.processing
...
"Parcel in process" sent to recipient
...
110
...
.shipment.forwarded.to.external.system
...
Parcel information sent to external system
...
111
...
.system.delivered
...
Delivered (system message)
...
112
...
.parcel.destination.changed
...
Destination has been changed
...
113
...
.delivery.activated
...
Parcel activated
...
114
...
.consignor.order.receipt
...
Receipt sent to sender
...
115
...
.scanned.wrong.mode
...
Parcel has been scanned in outgoing mode
...
116
...
.parcel.arrived.at.end.station
...
Parcel has arrived at end station
...
117
...
.package.arrived
...
"Parcel ready for pick-up" sent to recipient
...
118
...
.package.reminder
...
"Reminder parcel ready for pick-up" sent to recipient
...
119
...
.package.pickupextension
...
"Pick-up period extended" sent to recipient
...
120
...
.package.lastreminder
...
"Reminder for parcel ready for pick-up after extended period" sent to recipient
...
121
...
.package.returned
...
"Parcel returned" sent to sender
...
122
...
.parcel.delivered.for.return.servicepoint
...
Parcel delivered for return at servicepoint
...
123
...
.parcel.rerouted.to.servicepoint.notification
...
"Parcel rerouted to service point" sent to recipient
...
124
...
.image.of.delivery.taken
...
Additional information for delivery available
...
125
...
.unwanted
...
The parcel is no longer enquired. To be delivered to the recipient.
...
126
...
.shipment.received.external
...
Partner carrier has recieved the parcel
...
127
...
.shipment.not.delivered.second.attempt
...
"Parcel not delivered after second attempt" sent to recipient
...
128
...
.shipment.not.delivered.first.attempt
...
"Parcel not delivered after first attempt" sent to recipient
...
129
...
.return.package.reminder
...
"Reminder to return item" sent to recipient
...
131
...
.package.first.scan
...
"Parcel in value chain" sent to recipient
...
title | List of additionalinfoAPIkeys |
---|
An additionalinfoAPIkey must always be considered in the context of a main event.
Access level determines start of translation key. Can be either one of:
event.type.ai.pub
event.type.ai.shopadmin
event.type.ai.distr.
For example: event.type.ai.distr.cannot.deliver.customer.absent
...
additionalinfoAPIkey
...
i18nkey - translation key
...
Description
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:
event.type.pub/event.type.ai.pub
event.type.shopadmin/event.type.ai.shopadmin
event.type.distr/event.type.ai.distr.
For example: apiKey 002 event.type.distr.shipment.received
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
An additionalinfo APIkey must be considered in the context of main event. Below is a suggestion of the main event/trigger, but the additional information can be paired with all main events.
|
Examples
Expand | ||
---|---|---|
| ||
|
Error handling
...
API requests that result in errors will return an appropriate HTTP status code to help you identify the type of error. You can use the table below to understand what each code means. og search online with the HTTP status code. The HTTP error keys used are based on the standard, and therefore available online (Tips to search “HTTP code XXX”)
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. |