Advance a test order (sandbox only)
POST/v1/sandbox/orders/{id}/advance
scope orders.writesandbox only — 404 in production
404 in production. Plays the buyer and the courier: walks the order to the next step, or straight to the one you name, in seconds instead of days. It behaves like production — the order's own status only goes pending → accepted; after that the courier steps add courier events to the AWB (booking the sandbox courier first if nobody has) and the order stays accepted. Follow the parcel on GET /v1/orders/{id}/tracking; delivered also stamps delivered_at and starts the return window, as a real courier's delivery does.
Request body#
| Field | Type | Required | Description |
|---|---|---|---|
status | string | optional | Where to move the order to. Omit it to advance exactly one step. Steps run FORWARDS only: accepted, then the courier's picked_up, in_delivery, delivered (jumping ahead writes the steps in between too). A step behind the current one gives already_past (409), advancing an order already delivered gives already_final (409), an unrecognised name gives invalid_status (409). settled goes past delivery and releases the money into your wallet, which is how you get something to withdraw without waiting out the real hold.Accepts |
Example
{
"status": "delivered"
}Response#
| Field | Type | Description |
|---|---|---|
from | string | The status it was in before this call. |
to | string | The status it is in now. Compare the two: with no status in the body it moves exactly one step, and this is how you see where it landed. |
order | object | The order after the move, in full. |
Example
{
"from": "in_delivery",
"to": "delivered",
"order": {
"id": 711,
"reference": "SBXORD-SJP6NHXY",
"status": "accepted",
"can_accept": false,
"has_awb": true,
"total": {
"amount": 359800,
"currency": "RON"
},
"refunded": {
"amount": 0,
"currency": "RON"
},
"items": [
{
"id": 1123,
"product_id": 237224,
"external_id": "ERP-1001",
"sku": "MTB-29-001",
"title": "Bicicleta MTB Hardtail 29 inch",
"quantity": 2,
"quantity_ordered": 2,
"quantity_short": 0,
"unit_price": {
"amount": 179900,
"currency": "RON"
},
"total_price": {
"amount": 359800,
"currency": "RON"
}
}
],
"awb": {
"number": "SBX0000000711",
"tracking_url": "https://sandbox-api.biklo.com/track/SBX0000000711"
},
"is_dropshipping": false,
"created_at": "2026-09-11T09:20:14Z",
"updated_at": "2026-09-11T10:02:47Z",
"accepted_at": "2026-09-11T10:02:47Z",
"delivered_at": null,
"expires_at": "2026-09-13T09:20:14Z",
"notes_from_buyer": "Please call before delivery.",
"courier_id": 1,
"seller_invoice": null,
"fees": {
"platform_fee": 17990,
"shipping": 2500,
"currency": "RON"
},
"delivery": {
"recipient": "John Doe",
"phone": "07xxxxxxxx",
"city": "Craiova",
"county": "Dolj",
"postcode": "200000",
"country": "RO",
"is_locker": false
},
"refunds": [],
"parcels": [
{
"id": 4012,
"sequence_no": 1,
"weight_kg": 2.4,
"length_cm": 40,
"width_cm": 30,
"height_cm": 20,
"is_seller_declared": true,
"items": [
{
"order_item_id": 1123,
"quantity": 2
}
]
}
]
}
}