Tracking events reference
Learn about interpreting Helthjem parcel tracking events — what each event means, how the event object is shaped, and how to consume it reliably in your integration.
Overview
Every scan, status change, communication, and delivery attempt for a parcel is recorded as a discrete event. A tracking lookup returns a shipment, which contains one or more items (parcels), each carrying its own ordered list of events. Events are identified by a unique apiKey, so your integration can react to specific milestones without depending on free-text descriptions.
How to use this page
Start with Event Structure to understand the shape of a shipment/item/event payload, check the Event Catalog for the meaning of a specific event code, and use Code Samples as copy-paste reference payloads pulled directly from real captures.
Language
Event Log API can display events in 3 languages using the path parameter:
-
English (EN),
-
Norwegian (NO)
-
Swedish (SE)
Response
-
Response may include events for multiple parcels if:
-
The shipment contains multiple items.
-
A parcel changes delivery method (new tracking reference linked with original).
-
-
Duplicate events can occur (margin < 0.001%).
-
Clients must tolerate new event IDs or fields being added.
Event structure
A lookup returns an array of shipments. Each shipment has one or more items (parcels) — most shipments have exactly one. Each item carries its own parcelStatus and an ordered array of events. Events are returned newest first; sort explicitly by eventTime if you need chronological order.
Envelope — shipment → item → event
[
{
"shipmentNumber": "XXXXXXXXXXXXXXXXX",
"shopName": "XXXX",
"shopId": XXXX,
"consigneeReference": null,
"consignorReference": null,
"properties": {},
"items": [
{
"trackingNumber": "XXXXXXXXXXXXXXXXX",
"returnCode": null,
"freightProductId": 1,
"freightProductName": "helthjem",
"parcelStatus": "XXXX",
"linkedParcelNumbers": [],
"events": [ /* see below — newest first */ ]
}
]
}
]
Event object shape
{
"eventTime": "2026-08-11 03:04:50",
"eventTimeUtc": "2026-08-11T01:04:50.000904Z",
"lat": null,
"lon": null,
"locationContext": "OSLO",
"locationContextId": null,
"eventType": {
"apiKey": "013",
"description": "Parcel delivered",
"i18nKey": "event.type.distr.shipment.delivered"
},
"additionalInfo": {
"apiKey": "012",
"description": "in the mailbox",
"i18nKey": "event.type.ai.distr.shipment.delivered.mailbox"
},
"eventGroup": {
"id": 4,
"name": "event.type.group.status"
},
"comChannelType": null,
"changeUserId": null,
"changeUsername": "flow-bud",
"regSystem": { "id": 2, "name": "eBudbok" },
"message": null,
"eventData": null
}
Event groups
| ID | GROUP | DESCRIPTION |
|---|---|---|
1 |
import |
Information on shipments received/imported |
2 |
transportation |
Information on transportation |
| 3 | communication |
Information on communication |
| 4 | status |
Information on status updates |
| 5 | scanner |
Information on scanning of shipments |
| 6 | export |
Information for shipments transported by others |
| 7 | external |
Information from/relating to external systems |
| 8 | internal |
Information on internal processing |
| 9 | images |
Information on extra image data on booking |
Event catalogue
Use this table to map codes to UI states and translations. /
eventGroup |
apiKey |
DESCRIPTION | TRIGGER | ADDITIONAL INFO |
|---|---|---|---|---|
import |
001 | Transport of parcel has been booked. | New booking created. | |
import |
158 | Distribution address updated. | System address interpreted and set by DI on home delivery / pick-up. | |
transportation |
002 | Parcel received - getting ready to transport it in our network. | First outbound CargoStream scan | |
transportation |
003 | The parcel is being loaded for transport to its next checkpoint. | Any CargoStream scan. | |
transportation |
004 | The parcel is in transit and should be delivered within a few days. | Transport event received from PostNord and translated by DI. | |
transportation |
006 | Parcel has arrived at local service point and is ready for pick-up. | Parcel registered as ready for pick-up. | |
transportation |
062 | The parcel has been loaded on truck for transport. | Parcel registered into truck. | |
transportation |
063 | Parcel has been unloaded from truck. | Parcel registered off truck. | |
transportation |
104 | Parcel is delivered to service point. | Parcel registered as delivered to Service point. | |
transportation |
148 | Registration of shipment with external carrier failed. | PostNord booking with PN booking API failed | |
communication |
152 | Communication sent. | Successful response from LinkMobility or SES. | |
communication |
153 | Communication failed. | Unsuccessful response from LinkMobility or SES. | |
communication |
155 | Pick-up deadline has been extended | Servicepoint (fp 55) pickup deadline extended | |
status |
013 | Parcel delivered. | Parcel confirmed delivered. | Additionalinfo key issued on home deliveries registered in ebb: ID 011, on doormat ID 012, in mailbox ID 013, mailbox with bag & hook No ID, store delivery or home delivery registered in DI Main / other system |
status |
015 | Your delivery can’t be completed as expected. Ee will notify the recipient with updated information regarding your delivery. | Home delivery registered as not delivered or set to be converted in DI Main / Workbench | Additionalinfo key issued on unsuccessful home deliveries: ID 001, can’t find delivery point ID 002, missing key ID 003, parcel damaged ID 004, incorrect consignee address ID 005, consignee confirmed away ID 014, unsuitable delivery point No ID, no reason given or parcel set to be converted to store delivery |
status |
028 | We will try to deliver your shipment again. | New delivery attempt set after Address collector response received | |
status |
029 | We will try to pick up your shipment again. | New pick-up date set by consignor. | |
status |
030 | We are having problems with the delivery, and are working to locate the parcel. | Home delivery confirmed lost by distribution or customer service. | Additionalinfo key issued on lost home deliveries: ID 006, lost in distribution value chain ID 007, lost before distribution value chain ID 028, stolen No ID, no known reason |
status |
031 | Our carrier attempted to collect your shipment, but was unfortunately unable to do so. | Unsuccessful pick-up of C2X parcel (4 or 26) logged in DI Main / Workbench. | Additionalinfo key issue on failed pick-up attempt: ID 015, parcel not placed outside / not found ID 016, parcel not marked with pick-up code ID 017, parcel not safely packaged ID 018, too big / heavy ID 019, not possible to pick up (can’t get in contact with customer) ID 020, missing key No ID, no known reason |
status |
032 | Parcel has been picked-up by our carrier. | Parcel confirmed picked by courier in ebudbok or pick-up code entered in CargoStream incoming mode. | |
status |
034 | Our carrier attempted to collect your shipment, but was unfortunately unable to locate the shipment. | Unsuccessful pick-up of C2X parcel (4 or 26) logged in ebudbok. | Additionalinfo key issue on failed pick-up attempt: ID 015, parcel not placed outside / not found ID 016, parcel not marked with pick-up code ID 017, parcel not safely packaged ID 018, too big / heavy ID 019, not possible to pick up (can’t get hold of customer?) ID 020, missing key No ID, no known reason |
status |
035 | Parcel will be returned to web shop/sender. | Scan in incoming mode on wanted parcels or final return scan performed. | |
status |
057 | Unfortunately we were not able to deliver your parcel tonight | Home delivery registered as not delivered or set to be converted in ebudbok. | Additionalinfo key issued on unsuccessful home deliveries: ID 001, can’t find delivery point ID 002, missing key ID 003, parcel damaged ID 014, unsuitable delivery point ID 024, courier do not have the parcel No ID, no reason given |
status |
060 | Pick-up of parcel has been cancelled | Planned pick-up cancelled. | |
status |
061 | Parcel marked as wanted. this parcel should be return to store/sender. | Wanted feature activated in DI Main or API. | |
status |
068 | Shipment not delivered. | Parcel registered not delivered. | |
status |
069 | Parcel not acknowledged. | Automatically set after delivery route is completed without a confirmation for the parcel from courier | |
status |
073 | Order has been cancelled. | Pick-up cancelled or parcel flexed / swapped (original booking cancelled) | |
status |
076 | The customer has changed date for shipment. | New pick-up date set. | |
status |
077 | New activation in edg has been cancelled as the parcel has received a final status. | New parcel state (converted, returned) cancels the planned delivery / pick-up (activation in edg) | |
status |
093 | Parcel has been sorted incorrectly and will unfortunately be slightly delayed | PostNord event translated by DI. | |
status |
095 | Parcel not picked up at service point and will be returned to sender. | Service point personell register a Hentepakke (FP 55) that was that not picked up within the deadline. Event 095 occurs on both FP 55 and the unclaimed Hentepakke (FP 58) that is created simultaneously. | |
status |
100 | The order has been changed. | Some booking information has been updated. | |
status |
112 | Destination has been changed. | Flex, set by Helthjem through API. | |
status |
113 | Parcel activated. | B2C: CargoStream scan with activation C2X: Pick-up date set Activation (113) – Parcel is planned to be transported (P&G), delivered (ebb), or picked up (ebb) at a known date. | |
status |
117 | Parcel ready for pick-up sent to consignee. | Communication template sent | |
status |
118 | Reminder parcel ready for pick-up sent to consignee. | Communication template sent | |
status |
119 | Pick-up period extended sent to consignee. | Communication template sent | |
status |
120 | Reminder for parcel ready for pick-up after extended period sent to consignee. | Communication template sent | |
status |
121 | Parcel returned sent to sender. | Communication template sent | |
status |
122 | Parcel delivered for return at servicepoint. | Parcel is registered in Hent selv app. | |
status |
125 | Parcel is no longer wanted. to be delivered as normal. | Wanted feature deactivated in DI Main / API. | |
status |
136 | The shipment item has been cleared by customs. | Set by external party through API. | |
status |
151 | Shipment distribution date changed. | New pick-up date set. | |
status |
154 | Fallback shipment solution was triggered. | Booking resulted in a fallback option. | |
scanner |
016 | Parcel has been scanned. | Successful CargoStream scan in outgoing mode. | |
scanner |
017 | No edi-information received for this parcel. | No EDI found when performing CargoStream scan in outgoing mode. | |
scanner |
018 | Parcel scanned at wrong station. please change station and scan again. | CargoStream scan in outgoing mode, but parcel does not match the station configuration. | |
scanner |
019 | Can not find alias for this parcel, verify correct transport setup or split load carrier. | CargoStream scan in outgoing mode, but parcel does not have a valid destination on the current station | |
scanner |
022 | Parcel is in transit. | Set by Helthjem through API when a Hentepakke (FP 55) arrives at a servicepoint different than the planned one. | |
scanner |
024 | Parcel scanned in return mode. | CargoStream scan (or code typed) performed in incoming mode. | |
scanner |
107 | Load carrier has been received and is being loaded for transport. | Load carrier connected to the parcel ID has been scanned. | |
scanner |
115 | Parcel has return status, it can not be scanned in outgoing mode. | CargoStream scan in outgoing mode performed on a parcel that should be scanned in incoming mode. | |
scanner |
116 | Parcel has arrived at end station. | CargoStream scan in incoming mode performed on a station configured to be the final destination (returns). | |
scanner |
149 | The parcel has been added to the customs report. | CargoStream scan in incoming mode performed on a station configured to add records to the custom report (returns). | |
scanner |
150 | Alias retrieved from cargostream. | Successful CargoStream Alias API request performed. | |
| Export | 026 | Parcel will be delivered by a partner carrier. | B2C home delivery receives a CargoStream scan in incoming mode and will be converted to a store delivery or a booking is created with a partner (FP 62, 89). | |
Export |
147 | Code for return is received/updated. | Code for FP 89 has been successfully received. | |
| External | 036 | Unknown status notification from external transporter. | Event from external transporter that is not translated. | |
| Internal | 094 | Label has been generated. | Label fetched from Flow’s bulk extract feature. | |
| Images | 124 | Additional information for delivery available. | Additional delivery information added (Image from Buddy etc). |
