Die Entwicklerdokumentation ist auf Englisch verfügbar.
Go-live checklist
What to check before you switch your integration from a test key to a live key.
Test keys and live keys use the same base URL, payloads, and events. Switching means replacing the key and registering live webhook endpoints. Before you do, go through this list.
Keys#
- Create a separate live key per system that calls Maxmove, with only the permissions it needs (
quotes:create,deliveries:read,deliveries:write,webhooks:manage). See Security. - Store the key in your secret manager or environment, never in code, a mobile app, or a browser.
- Note who owns the key and when it expires, if you set an expiry date.
Workspace#
- Your workspace is approved for invoice billing. Without approval, live deliveries fail with
403 invoice_billing_not_enabled; contact Maxmove support. - Every pickup and dropoff you plan to serve lies in the Maxmove service area. Outside it, requests fail with
400 service_area_unavailable. - Your pickup locations have a
contactwith a phone number that someone answers during pickup hours.
Requests#
- Every create request sends an
Idempotency-Keythat is stable per order, and retries reuse it. See Idempotency. - Every address comes with the coordinates of your address search.
- If you quote first, you book with the same route and
scheduled_atwithin about 5 minutes, and handlequote_expiredby quoting again. - Your code branches on
error.code, never on the message, and logsrequest_idwith every failed call. - Retries:
429,502, and503are retried with backoff, honoringRetry-After.409 request_in_progressis retried shortly. Other4xxresponses are not retried until the request is fixed. See Errors.
Webhooks#
- A live endpoint is registered with your live key. Test endpoints only receive test events.
- Your receiver verifies the signature over the raw body and rejects old timestamps. See Verify signatures.
- It answers
2xxwithin 5 seconds and does the work afterwards. - It deduplicates on the event
idand readsdata.statusinstead of relying on arrival order. - You know how to replay failed events after an outage with
POST /v1/webhooks/{webhookId}/replay. See Retries.
Rehearse in test mode#
- A full test delivery reaches
deliveredin your system, including proof of delivery. - Both failure scenarios (
test_scenario: courier_cancelledanddelivery_failed) end ascancelledin your system and reach a person. - Cancelling before pickup works, and cancelling after pickup shows the
409 not_cancellablepath.
First live deliveries#
- Book the first live deliveries during business hours, with a short route you can watch on the tracking page.
- Keep an eye on failed requests and webhook errors in your logs for the first days.
Fleet orders have no test mode. POST /v1/fleet/orders needs a live key and creates real orders on your dispatch board.
Hat das Ihre Frage beantwortet?