Let's talk about Shipping Guide

No applicable services found

When no services are applicable for the requested you've made an empty resultset is returned. Reasons can be that the shipment was too large or too small, or the requested shipment was outside the coverage area of the requested services. Your code should handle these cases, i.e. an empty result, and should not fail because of this.

How can I fix this? You could e.g. use a Cargo product when you want to send large shipments, or you could request other services and see which ones that fits your need and find your service by using What would you like to send?.

Trace messages

Trace messages are meant as debug messages to the developer and are not intended to be parsed by the application. Parsing the trace messages may result in unexpected behaviour since they may change. The new Shipping Guide endpoint supports structured errors so it shouldn't be necessary to parse trace messages, but if you see the need feel free to contact us.

Volume, weight, dimensions and loading meter

Shipping Guide use measurement of the package to calculate price of the Shipment. Shipping Guide accept measurements in Volume, Weight and Dimensions(Length, Width and Height). Either Volume or Weight or Dimensions must be present in the request. It is recommended to request Shipping Guide with accurate measurements to get most precise price. Apart from these measurements, Loading meter is a kind of measurement which can be sent in the request for CARGO services to get more precise price information.

Pre-registered - EDI

It is possible to tell the Shipping Guide API that your parcel is registered using EDI when it is shipped, there is a parameter edi for that. Using this parameter may limit the available services and affect the price of others.

Holidays and Home Delivery

There is no home delivery on bank holidays. It can also happen that Bring will not do home delivery on certain days during Christmas or Easter. The services will not take this into account. This must be handled by clients. End-users should not get delivery dates for holidays.

More than one customer number with JSON

This is now possible with version 2.0. Now we can request for multiple services with multiple customer number in single REST request similar to that SOAP version. Way this has been made possible is to send product along with API customer number delimited with :. More details can be found here

Adjusting prices

We do not support price adjustment in Shipping Guide 2.0. The pricing model is very simple now. It should be very easy to do price adjustment at client side.

Should I handle warnings?

Ideally clients should not parse these warning codes for any logic as they are bound to change. These are supposed to be treated as informational data. More info can be found here.

HTTP status codes in JSON interface

The JSON interface uses HTTP status codes to indicate the success or failure of an API request.

Here are some codes with added context :

  • 400 - Bad Request. If request parameters are bad, or any of the mandatory request parameters is missing.
  • 401 - Unauthorised request. If user has not sent MyBring authentication header or invaild X-MyBring-API-Uid/X-Mybring-API-Key
  • 404 - If the request doesn't come from API domain URL (api.bring.com).

Additional service XXX is not applicable for product YYY

If a requested additional service is not supported on requested product, API will just ignore that additional service for price calculation and return info as a trace message. Supported list of value added services on services can be found here.

Multiple packages(kolli) on rest endpoint

The package parameters supports postfixed indexes to differentiate different packages.

The supported parameters are:

  • width
  • height
  • length
  • weight
  • volumeindm3
  • volumespecial
  • nonstackable
  • numberofpallets
  • loadingmeter

To specify weight for two different packages or kolli you can query like this: weight0=200&weight1=250

A parameter without an index is the same as the zero index
Meaning weight0=200 and weight=200 is specifying weight for the same package.