Let's talk about Shipping Guide
No applicable products found
When no products 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 products. 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 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
Dimensions(Length, Width and Height). Either
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 products 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 products 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 products 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 products 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
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 addtional services on products can be found here.