Place an Order
Create a delivery order from a pre-registered store. Pickup location is derived from the store_code.
curl -X POST https://hlbackend.staging.shadowfax.in/api/v2/stores/orders/ \
-H "Authorization: Token your_api_token" \
-H "Content-Type: application/json" \
-d '{
"pickup_contact_number": "9711076015",
"store_code": "STORE_CODE",
"order_details": {
"scheduled_time": "2026-03-12 16:00:00",
"order_value": "380.00",
"paid": false,
"client_order_id": "150340000010725",
"store_manager_number": "1111111111",
"delivery_geofence_radius": 500,
"rain_flag": false,
"delivery_instruction": {
"drop_instruction_text": "Please come to the first floor.",
"take_drop_off_picture": true,
"drop_off_picture_mandatory": true
}
},
"customer_details": {
"address_line_1": "106 charms solitaire, ahinsa khand-2",
"city": "Ghaziabad",
"contact_number": "9986321214",
"address_line_2": "Makanpur",
"name": "Aakriti",
"latitude": 12.387487873,
"longitude": 77.78787878
},
"misc": {
"type": "slotted",
"pickup_otp": "1234",
"return_otp": "9876",
"delivery_otp": "7412",
"promised_delivery_time": "2019-04-16T12:00:00Z",
"weight": 15
},
"product_details": [
{
"id": 12095247,
"weight": 0.5,
"quantity": 1,
"name": "Rajma Jammu",
"price": 130
}
]
}'
Order Types
misc.type | Description |
|---|
express | Default. Order acted on immediately |
slotted | Scheduled for future delivery. Use scheduled_time as slot start and promised_delivery_time as slot end |
Pickup OTP
- COID validation — last four digits of
client_order_id
- Custom OTP — pass
pickup_otp in the misc object
Edit an Order
Edit payment mode, items, and total amount. Order is identified by sfx_order_id in the request body. Editable until rider pickup.
curl -X PUT https://hlbackend.staging.shadowfax.in/api/v1/stores/edit-order/ \
-H "Authorization: Token your_api_token" \
-H "Content-Type: application/json" \
-d '{
"store_code": "STORE_CODE",
"sfx_order_id": 9228119,
"COID": "150340000010725",
"amount": 420,
"paid": false,
"product_details": [
{
"id": 12095247,
"name": "Rajma Jamu",
"price": 130,
"quantity": 1,
"weight": 0.5
}
]
}'
Get Order Details
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"
}'
Dispatch Ready Indicator
Notify Shadowfax when the shipment is ready for pickup.
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"
}'
Stop Re-attempt
Cancel a next-day re-attempt for an order enabled for reattempt.
curl -X POST https://hlbackend.staging.shadowfax.in/api/v2/orders/stop-reattempt/ \
-H "Authorization: Token your_api_token" \
-H "Content-Type: application/json" \
-d '{
"order_id": 74125893
}'
If triggered before the rescheduled time, the reattempt flag is disabled. If triggered after, the order status is updated to Cancelled.
API Reference
Last modified on