Get Shipping Routing
GET/api/odoo-3pl/:integration_instance/shipping-methods/routing
Shipping routing decides which Odoo 3PL carrier a fulfillment order dispatches with. Four layers resolve in order, first match wins:
- Method override — an explicit choice pinned to one shipping method.
- Carrier family — the default for a whole shipping-carrier family, so a catalog of 40+ methods is routable in a handful of decisions.
- Text rules — ordered rules matched against the free-text shipping method an order carries when it has no structured shipping method. This is the only layer configurable for text that has never been seen.
- Fallback — the instance-wide catch-all.
Every response returns the WHOLE refreshed configuration, because the layers interact: a family default changes what its un-overridden methods send, and a new rule can claim text the fallback used to catch. Each row reports resolved_by — the layer that decided it.
Authentication: requires a Bearer token.
Returns the carrier families with their members, the ordered text rules, the fallback, the synced catalog, and the free text actually observed on recent shipments (each resolved through the live chain so you can see which layer handled it).
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.