Docs βΊ Getting started
Sandbox vs. production
dfk_test_ and dfk_live_ keys, simulated deliveries.
The sandbox and production use the same base URL and the same API. The key decides which one you're talking to.
| Sandbox | Production | |
|---|---|---|
| Key prefix | dfk_test_ | dfk_live_ |
| How to get one | POST /v1/signup with "sandbox": true (instant) | Approval, see Getting access |
| Drivers | Simulated, nobody moves | Real professional drivers |
| Billing | Never | Your account's rate card |
dispatchedTo | sandbox | cartwheel, onfleet, internal or dragonfly_routing |
| Webhooks | Fired by the simulation | Fired by the real delivery |
The simulated lifecycle
A sandbox order advances by age each time it's read:
| After | Status | Webhook |
|---|---|---|
| 0 s | PENDING | delivery.created |
| ~30 s | ASSIGNED | delivery.assigned_driver |
| ~90 s | PICKED_UP | delivery.pickup_complete |
| ~3 min | DELIVERED | delivery.dropoff_complete |
Note: the simulation advances when the order is read (
GET /v1/orders/{externalId}). Poll once a minute in tests to see every transition.Moving to production
Nothing in your code changes except the key. Run the Go-live checklist first.
Something unclear or missing? Tell us.