Integrating Our API with Your Delivery Platform
A practical guide for developers and product teams
Our RESTful API gives you end-to-end control of the locker workflow—from locker discovery to driver drop-off and user pickup. Below you’ll find the complete integration flow, broken into Instant Delivery and Grocery (Nominated-Day) Delivery use-cases. Each step references key endpoints, required payloads, and decision logic so you can build quickly and confidently.
🗺️ Shared Core Flow (Applies to Both Use-Cases)
| Step | Purpose | Primary Endpoints | 
|---|---|---|
| Locker Discovery | Capture user coordinates or postcode → fetch lockers in radius. | GET /lockers/search?lat={}&lng={} | 
| Range Validation & Filtering | Capture user coordinates or postcode → fetch lockers in radius. | POST /lockers/filter | 
| Availability & Queue Check | Check real-time compartment availability + queue length. | GET /lockers/{id}/availability | 
| Checkout Confirmation / Address Switch | Check real-time compartment availability + queue length. | (client-side) | 
| Basket Submission & Age/Space Verification | Partner posts basket JSON (items, dims, temp, age flag). API returns pass/fail and size match. | POST /orders/validate | 
| Locker Reservation & Code Assignment | Reserve compartments, receive pickup + driver codes. | POST /orders/reserve | 
| Driver Drop-Off | Driver opens locker via QR / PIN; API logs event. | POST /orders/{id}/deposit | 
| User Pickup / Expiry Logic | User opens locker; expiry timers and reminders trigger. | POST /orders/{id}/pickup | 


⚡ Instant Delivery Flow
- 
Real-Time Locker Scoring
Use the optional&eta=parameter in/lockers/searchto rank lockers by driver travel time. - 
Auto-Assignment Endpoint
POST /orders/auto-assignlets your dispatch engine send multiple orders; our AI returns optimal locker IDs + compartment types in <300 ms. - 
Driver App Integration
EmbedGET /orders/{id}/driver-tokento pull a one-time QR code for seamless door-to-locker routing. - 
Exception Handling
If a locker becomes full en-route, callPOST /orders/{id}/reassignto receive the next-best locker recommendation. 
🛒 Grocery (Nominated-Day) Delivery Flow
- 
Time-Slot Reservation
Passdelivery_window_startanddelivery_window_endin/orders/validate. The API blocks compartments for that slot only. - 
Bulk Basket Validation
Send an array of up to 200 orders to/orders/bulk-validatefor carton-level temperature and volume checks. - 
Split-Basket Logic
If frozen + ambient items can’t fit one compartment, the API returnssplit:truewith compartment IDs per temperature zone. - 
Route Export
CallGET /routes/download?date=YYYY-MM-DDto pull a CSV/JSON of all lockers, compartments, and driver codes for your nightly line-haul. 
🛠️ Developer Best Practices
- 
Metadata Matters – Always include
item_dimensions,temp_requirement, andage_checkflags; they drive AI accuracy. - 
Idempotent Calls – Use the
X-Request-IDheader to safely retry network-flaky calls. - 
Webhooks – Subscribe to
locker.status,order.expiring, andorder.picked_upevents for real-time UI updates. - 
Sandbox First – Generate keys at dashboard → Developers → Create Sandbox Token before hitting production.
 
🚀 Next Steps
- 
Time-Slot Reservation
Passdelivery_window_startanddelivery_window_endin/orders/validate. The API blocks compartments for that slot only. - 
Bulk Basket Validation
Send an array of up to 200 orders to/orders/bulk-validatefor carton-level temperature and volume checks. - 
Split-Basket Logic
If frozen + ambient items can’t fit one compartment, the API returnssplit:truewith compartment IDs per temperature zone. - 
Route Export
CallGET /routes/download?date=YYYY-MM-DDto pull a CSV/JSON of all lockers, compartments, and driver codes for your nightly line-haul. 

