Die Entwicklerdokumentation ist auf Englisch verfügbar.
Test mode
Build and test your integration with mm_test_ keys: simulated deliveries, the Robocourier, signed webhooks, and forced failure scenarios.
Requests with a test key (mm_test_…) go to the same base URL and accept the same requests as live keys. Test deliveries are never dispatched to a courier and never billed.
The Robocourier#
A simulated courier, the Robocourier, moves every test delivery through the full status sequence, about 20 seconds per step:
| Status | Webhook event sent |
|---|---|
pending | delivery.created when the delivery is created |
courier_assigned | delivery.courier_assigned |
at_pickup | delivery.courier_arrived |
picked_up | delivery.status_updated |
in_transit | delivery.status_updated |
at_dropoff | delivery.courier_arrived |
delivered | delivery.delivered |
The events are signed exactly like live events, so you can test your signature verification end to end. Test events only go to webhook endpoints that were registered with a test key. Test deliveries don't send delivery.eta_updated or delivery.pod_submitted.
On the tracking endpoint, the Robocourier's position moves on a straight line from pickup to dropoff.
Test failure handling#
Create the delivery with test_scenario to make it fail at a fixed point:
test_scenario | What happens |
|---|---|
courier_cancelled | The delivery is cancelled right after courier_assigned. |
delivery_failed | The delivery is cancelled after at_dropoff. |
{
"pickup": { … },
"dropoff": { … },
"vehicle_type_id": "courier",
"test_scenario": "courier_cancelled"
}Live keys reject test_scenario with 400 invalid_request.
You can also cancel a test delivery yourself with POST /v1/deliveries/{deliveryId}/cancel while it is pending, courier_assigned, or at_pickup.
What is separate in test mode#
- Data. Deliveries, quotes, webhook endpoints, idempotency keys, and
external_idvalues of test and live mode are invisible to each other. - Rate limit. Test keys can send 120 requests per minute, live keys 600. See Rate limits.
Fleet orders have no test mode#
Fleet orders always land on your real dispatch board, so there is nothing to simulate. POST /v1/fleet/orders and GET /v1/fleet/orders/{fleetOrderId} answer 403 live_key_required for test keys. See Fleet order ingestion.
Go live#
Create a live key in Settings → API keys and replace the test key. Register your webhook endpoints again with the live key, because endpoints belong to one mode. Live deliveries are billed on your workspace's monthly invoice; see Billing.
Hat das Ihre Frage beantwortet?