Bring

Integration with Bring for shipment booking in Omnium.

Omnium integrates with Bring for shipment booking, return handling, and pickup point services in the Nordic region.

Bring API Documentation


Configuration Steps

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

Required Settings

FieldDescriptionExample
NameInternal provider nameBring
Display NameName shown to usersBring
Shipping ProviderSelect provider typeBring
Merchant IDX-MyBring-API-Uid (typically email)user@company.no
API TokenX-MyBring-API-Keyyour-api-key
Customer NumberBring customer numberPARCELS_NORWAY-20000873008
Base URLBring API endpointhttps://api.bring.com/
Is TestEnable test modetrue or false

Shipment Options

Adding shipment options for each market

Configure shipping options under each market:

FieldDescription
Shipping ProviderSet to Bring
Delivery TypeDelivery (sent to customer) or Pickup (pickup point)
Display NameUser-friendly name
Shipping MethodInternal name for mapping (e.g., Bring_SERVICEPAKKE)
Shipment ProductBring product code (e.g., SERVICEPAKKE, PICKUP_PARCEL)
Shipment Return ProductProduct code for return bookings
Get Service PointsEnable for pickup point validation

Default Package Configuration

Configure default package dimensions on the shipment option:

{
  "DefaultPackage": {
    "WeightInKg": 1,
    "DefaultDimensions": {
      "LengthInCm": 20,
      "WidthInCm": 20,
      "HeightInCm": 20
    }
  }
}

Store Configuration

Customer Number Override

Override the customer number per store using External IDs:

Provider NameDescription
BringStore-specific Bring customer number

If no store-level customer number is configured, the provider-level CustomerNumber setting is used.


Pickup Points

Lookup by Postal Code

GET {BaseUrl}pickuppoint/api/pickuppoint/{countryCode}/postalCode/{postalCode}

Optional: Add street address for more accurate results:

GET {BaseUrl}pickuppoint/api/pickuppoint/{countryCode}/postalCode/{postalCode}?street={address}

Lookup by Service Point ID

GET {BaseUrl}pickuppoint/api/pickuppoint/{countryCode}/id/{servicePointId}

Pickup Point Data

Returned data includes:

  • Service point ID and name
  • Full address
  • Opening hours (day, opening time, closing time)
  • Latitude/longitude coordinates
  • Distance from search location
  • Google Maps and Posten Maps links

Booking Process

Request Format

Bookings are sent as JSON to:

POST {BaseUrl}booking/api/booking

Headers

HeaderValue
X-MyBring-API-UidMerchant ID (email)
X-MyBring-API-KeyAPI Token
X-Bring-Client-URLSite URL
X-Bring-Test-Indicatortrue or false
Acceptapplication/json

Booking Request Structure

{
  "testIndicator": false,
  "schemaVersion": 1,
  "consignments": [
    {
      "correlationId": "order-id",
      "shippingDateTime": "2024-01-15T10:00:00Z",
      "parties": {
        "sender": { ... },
        "recipient": { ... }
      },
      "product": {
        "id": "SERVICEPAKKE",
        "customerNumber": "PARCELS_NORWAY-20000873008",
        "services": {
          "recipientNotification": {
            "email": "customer@email.com",
            "mobile": "+4712345678"
          }
        }
      },
      "packages": [ ... ]
    }
  ]
}

Booking Response

Successful bookings return:

  • Consignment number (tracking number)
  • Labels URL (PDF)
  • Tracking URL
  • Expected delivery date
  • Earliest pickup time

Return Shipments

Configuration

  1. Set Shipment Return Product on the shipment option
  2. Optionally disable customer notifications for returns

Disable Return Notifications

Add to shipment option properties:

{
  "key": "DisableCustomerEmailNotification",
  "value": "true"
}

When enabled, the return sender email is not sent to Bring, preventing automatic customer notifications.


Recipient Notifications

Enable recipient notifications via the shipment option's ProviderNotification setting:

Notification TypeDescription
EmailSend tracking email to customer
SMSSend tracking SMS to customer mobile

Notifications are configured in the product.services.recipientNotification section of the booking request.


Package Handling

Weight and Dimensions

  • Weights are specified in grams in the API
  • Dimensions come from shipment packages or default to shipment option defaults
  • If packages are not specified, a default package is created

Validation

  • Zero weights are replaced with default weight from shipment option
  • Zero dimensions are filled from default dimensions
  • At least one package is always created

Error Handling

Error Key

Error KeyDescription
BringBookingErrorBooking failure

Error Storage

Errors are stored on the Order entity:

  • Removed on successful booking
  • Contains API error messages for debugging

Supported Products

Common Bring product codes:

ProductDescription
SERVICEPAKKEService parcel to pickup point
PICKUP_PARCELPickup parcel
PA_DORENHome delivery
KLIMANØYTRAL_SERVICEPAKKEClimate neutral service parcel

Supported Features

FeatureSupported
Outbound shipment bookingYes
Return shipment bookingYes
Pickup point lookupYes
Pickup point by IDYes
Recipient notificationsYes
Label generationYes
Tracking URLYes
Direct printingNo
Label downloadNo
Shipment statusNo
Available products queryNo

Troubleshooting

Common Issues

  1. Missing customer number: Ensure CustomerNumber is set in provider settings or as store External ID.

  2. Invalid product code: Verify ShipmentProduct matches a valid Bring product for the destination country.

  3. Pickup point not found: Enable Get Service Points on shipment option and provide valid postal code.

  4. Authentication errors: Verify MerchantId (API UID) and ApiToken (API Key) are correct.