Carrier Failover

Overview

In some cases you may have carriers that are less reliable, but who you retain because of low prices or some other advantage. We think of these as best-effort carriers.

If you want to be able to add them into your shipping mix, but you do not want them to prevent associates from shipping packages, then you can mark them as being allowed to fail over when there is an issue calling that carrier.

❗️

Warning! Dangerous feature

This feature should be used with great care. If configured and triggered, it will mean that Shipium is choosing to USE A MORE EXPENSIVE CARRIER if there is a failure on this carrier's part.

Configuring a carrier to allow label failover

The page Shipium Carrier Selection: Adding a Carrier Account describes setting up a new account. The Allow Label Failover option, shown below, allows the carrier to allow label failover. This means that if the carrier was selected and can't be reached, the next-best carrier and ship method will be used. You can view the configuration and change this setting if required.

396

Label Failover Setting

Determining that carrier failover has occurred

If a carrier failover occurs as part of Carrier and Method Selection Flow or Carrier and Method Selection Flow with Label Single Call, it can be identified by an additional set of fields that are not otherwise present. These are:

  • carrierLabel.labelFailoverOccurred - if this is present and set to true, a failover has occurred.
  • an additional block named carrierLabel. labelFailoverDetails - this contains a section called preferredCarrierSelection which shows the carrier and method that were not selected.

Both of these are shown in this example:

{
  ...
  "carrierLabel": {
    ...
    ...
    "labelFailoverOccurred": true,
    "labelFailoverDetails": {
     ...
        "preferredCarrierSelection": {
        "carrier": "string",
                "carrierAccountId": "string",
                "carrierSelectionDateTime": "2021-05-21T17:31:55.765Z",
                "carrierSelectionId": "string",
                "partnerId": "string",
                "serviceMethodName": "string",
                "serviceMethodUrn": "string",
                "totalCost": 0
       }
      ...
    }
  }
}

📘

More information on the API responses

As with all Shipium API responses, this API follows the API Response Codes standards unless otherwise specified.