Simulator Playground
Use the interactive playground below to test the full delivery lifecycle without
writing a single line of backend code. Paste your ilv_test_… sandbox key and fire
requests directly from your browser.
What happens
| Tab | Endpoint | Description |
|---|---|---|
| Auto-Progress | POST /v1/test/simulator/orders/auto | Creates a test order and automatically progresses it through accept → pickup → deliver with configurable delays. All webhooks fire at each step. |
| Create Order | POST /v1/test/simulator/orders | Creates a test order only. You manually trigger rider actions. |
| Rider Action | POST /v1/test/simulator/rider-action | Simulates a single rider action (accept, pickup, or deliver) on an existing test order. |
Try it
Full lifecycle in one call. Creates a test order and automatically simulates accept → pickup → deliver with configurable delays. All webhooks fire at each step.
Quick Start (cURL)
If you prefer cURL, paste this into your terminal — it creates a test order and auto-delivers it in ~9 seconds:
curl -sS -X POST 'https://api.ideliver.ng/v1/test/simulator/orders/auto' \
-H 'Authorization: Bearer ilv_test_YOUR_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"external_order_id": "demo-001",
"pickup_address": "12 Marina Road, Lagos Island",
"dropoff_address": "45 Admiralty Way, Lekki Phase 1",
"customer_name": "Jane Tester",
"customer_phone": "+2348000000000",
"step_delay_ms": 3000
}'Webhook Timeline
When you use the Auto-Progress endpoint with step_delay_ms: 3000 (default), webhooks fire on this schedule:
| Time | Event | Description |
|---|---|---|
| T+0s | order.created | Order inserted into database |
| T+3s | order.rider_assigned + order.accepted | Virtual rider accepts the order |
| T+6s | order.picked_up + order.status_updated | Rider picks up the package |
| T+9s | order.delivered + order.status_updated | Delivery completed |
Set step_delay_ms: 0 for instant (all webhooks fire within ~100ms).
Prerequisites
- Generate a sandbox key — Dashboard → API Keys → check “Sandbox (test orders)”
- Configure your webhook URL — Dashboard → Webhooks → paste your endpoint (e.g.,
https://webhook.site/your-uuid) - CORS — The API must include
https://docs.ideliver.nginCORS_ORIGINSfor browser requests to succeed
Sandbox Test Driver
All simulator orders are automatically assigned to the Sandbox Test Rider:
| Field | Value |
|---|---|
| Rider ID | 00000000-0000-4000-8000-000000000001 |
| Phone | 08000000000 |
| OTP | 000000 (always valid) |
You can log into the Rider Mobile App with these credentials (enable Sandbox Mode first) to see orders arrive in real-time. See Sandbox Test Driver Account for full details.
Response Format
{
"ok": true,
"order_id": "a1b2c3d4-...",
"is_test": true,
"simulator_rider_id": "00000000-0000-4000-8000-000000000001",
"auto_progress": true,
"step_delay_ms": 3000,
"timeline": [
{ "event": "order.created", "fires_at": "2026-04-15T10:00:00.000Z" },
{ "event": "order.accepted + order.rider_assigned", "fires_at": "2026-04-15T10:00:03.000Z" },
{ "event": "order.picked_up", "fires_at": "2026-04-15T10:00:06.000Z" },
{ "event": "order.delivered", "fires_at": "2026-04-15T10:00:09.000Z" }
],
"message": "Test order created. Auto-progress will fire accept in 3000ms, pickup in 6000ms, deliver in 9000ms."
}