PostNord

Integration with PostNord for shipment booking in Omnium.

Omnium provides integration with PostNord for shipment booking, label generation, and pickup point services.

There are two PostNord provider implementations:

  • PostNordV2 (Recommended) - Uses EDI-based booking API
  • PostNord (Legacy) - Uses OAuth2-based transport booking API

PostNord API Documentation


Configuration

  1. Navigate to: Configuration > Settings > Orders > Shipping Providers > Add New

  2. Add the following details:

FieldDescriptionExample
NameInternal provider namePostNord
Display NameName shown to usersPostNord
ProviderSelect provider typePostNordV2
API TokenAPI key from PostNord portalyour-api-key
Customer NumberCustomer ID from PostNord123456
Customer NameAccount name from PostNordCompany Name
Base URLAPI endpointSee below

Base URLs

EnvironmentURL
Testinghttps://atapi2.postnord.com
Productionhttps://api2.postnord.com

API Endpoint

For shipment booking, Omnium uses:

{BaseUrl}/rest/shipment/v3/edi/labels/pdf

Shipment Options

Adding shipment options for each market

Configure shipping options under each market:

FieldDescription
Shipping ProviderSet to PostNordV2
TemplateStandard for home delivery, PickUp Point for pickup points
Delivery TypeDelivery (sent to customer) or Pickup (collected at store)
Display NameUser-friendly name
Shipping MethodInternal name for mapping order shipments
Shipment ProductBasicServiceCode from PostNord (e.g., 19, 18)
Shipment Return ProductBasicServiceCode for return bookings

Property Tab Options

PropertyDescription
Get Pickup PointsEnable for pickup point services to validate service point
HideFromApiHide this option from Omnium API responses

Store Configuration

Customer Number Override

Override the customer number per store using External IDs:

Provider NameDescription
PostnordStore-specific customer ID for outbound shipments
PostnordReturStore-specific customer ID for return shipments

Country Support

PostNord V2 supports the following countries with specific issuer codes:

CountryCodeIssuer Code
NorwayNOZ13
DenmarkDKZ11
SwedenSEZ12
FinlandFIZ14

Pickup Points (Service Points)

API Version

PostNord V2 uses the businesslocation v5 API for service point lookup.

Endpoint

GET /rest/businesslocation/v5/servicepoint/findNearestByAddress

Parameters

ParameterDescription
apikeyAPI token
returnTypejson
countryCodeTwo-letter country code
postalCodePostal/ZIP code

Response Data

Service points include:

  • Service point ID
  • Name and address
  • Opening hours
  • Distance from search location

Booking Process

EDI Instruction Format

PostNord V2 uses EDI-based booking with the following structure:

EdiInstruction
├── MessageDate (UTC)
├── Application (Name: "Omnium")
└── Shipment[]
    └── ShipmentCustoms
        ├── ShipmentIdentification (OrderNumber)
        ├── References (CU type)
        ├── Service
        │   ├── BasicServiceCode
        │   └── AdditionalServiceCode
        ├── Parties
        │   ├── Consignor (with IssuerCode)
        │   ├── Consignee
        │   └── DeliveryParty (for pickup points)
        └── GoodsItem[] (weight/dimensions)

Label Generation

Labels are returned in PDF format. Storage options:

  1. Direct URL - Use UriStoreLabel from response
  2. Blob Storage - Upload label data to Azure Blob Storage (fallback)

Return Shipments

PostNord V2 has a dedicated return shipment booking method:

  1. Configure Shipment Return Product on the shipment option
  2. Return bookings use separate API endpoint
  3. Addresses are reversed (customer becomes sender)

Error Handling

Error Keys

Error KeyDescription
PostnordBookingErrorStandard booking failure
PostnordReturnBookingErrorReturn booking failure

Errors are stored on the Order entity and contain detailed API error messages.


Supported Features (V2)

FeatureSupported
Outbound shipment bookingYes
Return shipment bookingYes
Label generation (PDF)Yes
Pickup point lookupYes
Multi-country supportYes
Direct printingNo
Label downloadNo
Shipment status trackingNo

PostNord Legacy (V1)

Note

PostNord V1 is a legacy implementation. Use PostNordV2 for new integrations.

Configuration

FieldDescription
ProviderSelect Postnord
Merchant IDClient ID for OAuth2
Merchant SecretClient Secret for OAuth2
Is TestEnable test environment

Authentication

PostNord V1 uses OAuth2 client credentials flow:

  • Tokens are cached for 20 hours
  • Automatic token refresh on expiration

API Endpoints (V1)

EndpointPurpose
/transport-booking/customers/{id}/draftsCreate draft consignment
/transport-booking/customers/{id}/bookingsCreate booking
/rest/businesslocation/v1/servicepoint/findNearestByAddress.jsonPickup points

Booking Workflow (V1)

  1. Create draft consignment
  2. Create consignment within draft
  3. Update consignment with shipment details
  4. Validate products
  5. Create booking

Shipping Products (V1)

V1 supports querying available shipping products:

  • MYPACK_COLLECT (pickup point delivery)
  • MYPACK_HOME (home delivery)

Differences: V1 vs V2

FeatureV1 (Legacy)V2 (Recommended)
AuthenticationOAuth2 Bearer tokenAPI key in URL
Booking FormatDraft > Consignment workflowEDI format
Service Points APIv1 businesslocationv5 businesslocation
ConfigurationComplex (multiple URLs)Simple (single base URL)
Return ShipmentsSame workflow with flagsDedicated method
Product LookupSupportedNot supported

Troubleshooting

Common Issues

  1. Invalid BasicServiceCode: Ensure ShipmentProduct matches a valid PostNord service code for the target country.

  2. Pickup point not found: Enable Get Pickup Points on the shipment option and ensure valid service point ID is provided.

  3. Authentication errors (V1): Check Merchant ID and Merchant Secret. Token cache may need clearing.

  4. Missing labels: Check if blob storage upload succeeded. The system falls back to API URL if upload fails.