Place an Order
Create a delivery order with pickup location, drop location, order items, and order details.
curl -X POST https://hlbackend.staging.shadowfax.in/api/v2/orders/ \
-H "Authorization: Token your_api_token" \
-H "Content-Type: application/json" \
-d '{
"client_code": "merchant001",
"order_details": {
"order_value": 248,
"paid": "false",
"client_order_id": "379984400",
"scheduled_time": "2026-03-12 16:00:00",
"pickup_otp": "1232",
"return_otp": "1234",
"rain_flag": false,
"delivery_instruction": {
"drop_instruction_text": "Please come to the first floor.",
"take_drop_off_picture": true,
"drop_off_picture_mandatory": true
}
},
"pickup_details": {
"city": "Delhi",
"contact_number": "9876543210",
"name": "Store name",
"address": "Store address in plain text",
"latitude": 28.5833332,
"longitude": 77.0563207
},
"drop_details": {
"city": "Delhi",
"contact_number": "9987654321",
"name": "Customer name",
"address": "Customer address in plain text",
"latitude": 28.588891,
"longitude": 77.037531,
"delivery_otp": "7412"
},
"order_items": [
{
"id": "29656019",
"name": "Item name",
"price": 259,
"quantity": 3
}
]
}'
The response includes sfx_order_id, delivery_cost, and track_url for live tracking.
Edit an Order
Edit order_items and order_details only. Other fields must match the original order. Editable until the rider picks up.
curl -X PUT https://hlbackend.staging.shadowfax.in/api/v2/orders/{sfx_order_id}/edit/ \
-H "Authorization: Token your_api_token" \
-H "Content-Type: application/json" \
-d '{ ... }'
Note: client_order_id cannot be updated after placement.
Get Order Details
Retrieve current status and rider location (updated every 60 seconds).
curl https://hlbackend.staging.shadowfax.in/api/v2/orders/{sfx_order_id}/status/ \
-H "Authorization: Token your_api_token"
Cancel an Order
curl -X PUT https://hlbackend.staging.shadowfax.in/api/v2/orders/{sfx_order_id}/cancel/ \
-H "Authorization: Token your_api_token" \
-H "Content-Type: application/json" \
-d '{
"reason": "Seller missing items",
"user": "Seller"
}'
| Field | Description |
|---|
reason | Cancellation reason (max 128 characters) |
user | Who initiated: Customer, Seller, or Rider |
Dispatch Ready Indicator
Notify Shadowfax when the shipment is ready for pickup (e.g. food prepared).
curl -X PUT https://hlbackend.staging.shadowfax.in/api/v2/orders/{coid}/dispatch-ready/ \
-H "Authorization: Token your_api_token" \
-H "Content-Type: application/json" \
-d '{
"shipment_ready_timestamp": "2022-09-14T17:50:00Z"
}'
Use the client order ID (COID) as the path parameter.
MDND (Mark Delivered Not Delivered)
Report orders marked delivered but not physically received. This endpoint always returns 200, even without request body parameters.
curl -X POST https://hlbackend.staging.shadowfax.in/api/v2/{coid}/post_closure_remarks/ \
-H "Authorization: Token your_api_token" \
-H "Content-Type: application/json" \
-d '{
"mdi_claimed": false,
"order_rating": 4.5,
"remarks": ""
}'
API Reference
Last modified on