Sync Odoo 3PL Shipments
POST/api/odoo-3pl/:integration_instance/shipments/sync
Queues a refresh of shipments from Odoo 3PL. Each newly shipped order is recorded as a sales order fulfillment with its tracking number and, when enabled, its shipping cost.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
The sync runs in the background. The response returns tracked_job_log_id, which you can use to follow the job's progress and outcome.
Body (all optional):
mode—since_last_update(default; re-pull everything and upsert changes),from_start_date(only rows whose request date is on/after the instance's configured sync start date),date_range(only rows whose request date falls betweendate_fromanddate_to),specific(only rows whose reference, e-commerce order number or tracking number containssearch).date_from— date (Y-m-d); required whenmodeisdate_range.date_to— date (Y-m-d); must be on/afterdate_from.search— string, max 255; required whenmodeisspecific.
Odoo 3PL has no server-side filters, so narrowing is applied as records are ingested.
Requires the integrations.sync permission.
Authentication: Bearer token (Personal Access Token).
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 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
Response Headers
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
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.