Skip to main content
Mirakl

Fetch Mirakl Carriers in Odoo: what the button does and which errors it gives

The Fetch Mirakl Carriers button asks Mirakl for your instance's list of carriers, processes it and leaves the result in the chatter. It is always visible on the Mirakl Instances screen. If the response contains at least one carrier, it shows an on-screen notice and posts the full list in the chatter; if there are no carriers or no endpoint responds, it posts the reason in the chatter and shows a warning notice; if the request fails with any other error, it stops with an error message.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 5 November 2026

Key facts

Module
Mirakl
Versions
Odoo 17, 18, 19 and 20
Checked
in the connector's source code, version 20.0 · against the sources linked at the end
Reading time
5 min

Before you press it: where it is and what to look at

Instance records open from the menu Mirakl › Configuration › Marketplaces. The Fetch Mirakl Carriers button is on the Mirakl Instances screen and does not depend on any view condition: it is always visible, in Odoo 17, 18, 19 and 20.

  • Open the instance record from Mirakl › Configuration › Marketplaces. The button works on a single instance, the one you have open.
  • Check that your Odoo is version 17, 18, 19 or 20: the module is published on Odoo Apps for those four and the button is in all of them.
  • Look at the Endpoint Shipping Carriers field, on the record, Carriers tab, Carrier Sync group. Its help text reads: Mirakl SH21 endpoint used to retrieve available shipping carriers when supported by the operator. The default value in the code is /shipping/carriers.
  • Confirm that your FlexigoTech Cloud subscription is active. The connection goes through that service and, without a subscription or with the service suspended, whatever the subscription provides stops; your data stays in your Odoo.
Same stock on every Mirakl marketplace, sent from Odoo
Video: Same stock on every Mirakl marketplace, sent from Odoo

What the button does when pressed, in order

  • It queries Mirakl: it sends a read request (GET) to a carriers endpoint. If there are several candidate endpoints, it tries them one after another.
  • If an endpoint answers with a 404 error, it moves on to the next candidate.
  • If the error is of any other kind, the action stops with Could not fetch carriers from Mirakl: …, where the dots stand for the error received. Because the action stops, what it was going to change is not saved and no notice is shown.
  • If FlexigoTech Cloud does not let the request through (no subscription, or the service is paused), the action stops and nothing is marked.
  • If no endpoint returns a response, it posts in the chatter and in a warning notice This operator does not expose generic Mirakl carriers via SH21. Tried: …. The dots stand for the endpoints tried.
  • If the endpoint that answered differs from the one in Endpoint Shipping Carriers, the module writes the one that answered into that field.
  • It reads the response. If it cannot interpret it as a list of carriers, the action stops with Unexpected response format from Mirakl carriers endpoint.
  • It processes the list and gets two figures: how many carriers there are and how many carrier maps were updated.
  • If, after processing the response, there are no carriers, it posts in the chatter and in a warning notice The operator responded to … but returned no carriers. Carrier mapping remains optional for this instance. The gap is the endpoint that answered.
Diagram made with code, not an Odoo screen: the Marketplaces menu, the fetch Mirakl carriers button in Odoo 17, 18, 19 and 20, and beside it the messages that can stop it
Diagram made with code from the module's published code: menu, button and two of the messages that can appear when you press it.

What you should see when it works

The success notice only appears when, after processing the response, there is at least one carrier.

  • An on-screen notice titled Mirakl Carriers with the text … carriers available from …. … map(s) updated. See chatter for full list. The gaps are, in order, the number of carriers, the endpoint that answered and the number of maps updated. The notice does not stay fixed on screen.
  • Open the instance's chatter: the module posts a message there with the endpoint, how many carriers are available, the list with each carrier's code and its name in brackets, and how many carrier maps were updated.
  • Look at Endpoint Shipping Carriers again: if a different endpoint from the configured one answered, the field now holds the value of the one that did.

When it does not work: what to check in each case

  • Could not fetch carriers from Mirakl: … appears when you press the button and a request fails with an error that is not a 404. What to do: read the detail after the colon, which is the error received. If you doubt the connection to Mirakl, see what the connection test button does.
  • Unexpected response format from Mirakl carriers endpoint. appears when you press the button and the response arrives but the module cannot read it as a list of carriers. What to do: check the value of Endpoint Shipping Carriers and remember what its help text says, that it is the SH21 endpoint used to retrieve available shipping carriers when supported by the operator.
  • This operator does not expose generic Mirakl carriers via SH21. Tried: …. appears in the chatter and in a warning notice when no endpoint returns a response. What to do: look at the endpoints listed after Tried and compare them with Endpoint Shipping Carriers.
  • The operator responded to … but returned no carriers. Carrier mapping remains optional for this instance. appears in the chatter and in a warning notice when no carriers are left after processing the response. What to do: the text itself says that carrier mapping remains optional for that instance.
  • If FlexigoTech Cloud does not let the request through (no subscription, or the service is paused), the action stops and nothing is marked: check that your subscription is active.

The button label in each language

Odoo languageButton label
EnglishFetch Mirakl Carriers
SpanishFetch Mirakl Carriers
GermanMirakl-Versanddienstleister abrufen
FrenchRécupérer les transporteurs Mirakl
ItalianRecupera corrieri Mirakl
PortugueseObter Transportadoras Mirakl
Diagram made with code, not an Odoo screen: the button label in Spanish, German, French, Italian and Portuguese
Diagram made with code from the module's published translations: what the button is called depending on the Odoo language.

What you need and how FlexigoTech can help

Mirakl Connector is a one-off purchase per version and needs a FlexigoTech Cloud subscription: the Conector plan, €49 a month or €490 a year excluding VAT, with up to 3 platform accounts. The price for each Odoo version is on the Odoo Apps page.

FlexigoTech implements Odoo 17, 18, 19 and 20 and develops custom connectors and integrations. If you would like us to review your Mirakl instance, see the module page.

Keep reading

Mirakl Connector: ‘Set the Mirakl API key before testing the connection’When Mirakl Connector for Odoo asks you to set the Mirakl API key before testing the connection: the exact condition behind it and how to fix it.Mirakl Connector: «This binding has no Mirakl instance configured.»When Mirakl Connector says a binding has no Mirakl instance configured: the exact condition behind the message and what to do when it appears.What the Mirakl Connector Test Connection button does, step by stepWhat the Test Connection button in Mirakl Connector does in Odoo: when it appears, what it checks, what it saves on the record and which errors it can give.
Checked in the connector's source code (version 20.0) and the linked sources

Sources