Ready Now (ready_now)
POST https://my-api.example.com/first-delivery/webhook
event: ready_now · current status_v3 is preserved
Sent once when an order is marked ready for pickup. This is an event, not a lifecycle status transition:
- Subscribe with
event_filter: ["ready_now"]. - Route on
event === "ready_now"; do not wait forstatus_v3to becomeready_now. readyAtis the ISO-8601 timestamp when First recorded readiness.statusandstatus_v3describe the order’s current delivery state and can vary.trackerLinkFleetandfleetNameare always present but may benull.
Process idempotently using orderId, event, and readyAt. Acknowledge quickly and reconcile critical state through the order API.
Request body
Section titled “Request body”{ "orderId": "5b1f3c20-0e4a-11f1-8c2d-3f9a7e6b1d42", "orderNumber": 7414, "externalId": "ABC-123456", "status": "Pending", "status_v3": "scheduled", "event": "ready_now", "readyAt": "2026-10-15T16:45:12.000Z", "estimatedPickupTime": "2026-10-15T16:50:00.000Z", "estimatedDropoffTime": "2026-10-15T17:10:00.000Z", "trackerLink": "https://trackdelivery.io/?orderId=5b1f3c20-0e4a-11f1-8c2d-3f9a7e6b1d42", "dspTrackerLink": null, "trackerLinkFleet": null, "fleetName": null}Examples
Section titled “Examples”curl --request POST 'https://my-api.example.com/first-delivery/webhook' \ --header 'Content-Type: application/json' \ --data '{ "orderId": "5b1f3c20-0e4a-11f1-8c2d-3f9a7e6b1d42", "orderNumber": 7414, "externalId": "ABC-123456", "status": "Pending", "status_v3": "scheduled", "event": "ready_now", "readyAt": "2026-10-15T16:45:12.000Z", "estimatedPickupTime": "2026-10-15T16:50:00.000Z", "estimatedDropoffTime": "2026-10-15T17:10:00.000Z", "trackerLink": "https://trackdelivery.io/?orderId=5b1f3c20-0e4a-11f1-8c2d-3f9a7e6b1d42", "dspTrackerLink": null, "trackerLinkFleet": null, "fleetName": null}'const response = await fetch("https://my-api.example.com/first-delivery/webhook", { "method": "POST", "headers": { "Content-Type": "application/json" }, "body": "{\n \"orderId\": \"5b1f3c20-0e4a-11f1-8c2d-3f9a7e6b1d42\",\n \"orderNumber\": 7414,\n \"externalId\": \"ABC-123456\",\n \"status\": \"Pending\",\n \"status_v3\": \"scheduled\",\n \"event\": \"ready_now\",\n \"readyAt\": \"2026-10-15T16:45:12.000Z\",\n \"estimatedPickupTime\": \"2026-10-15T16:50:00.000Z\",\n \"estimatedDropoffTime\": \"2026-10-15T17:10:00.000Z\",\n \"trackerLink\": \"https://trackdelivery.io/?orderId=5b1f3c20-0e4a-11f1-8c2d-3f9a7e6b1d42\",\n \"dspTrackerLink\": null,\n \"trackerLinkFleet\": null,\n \"fleetName\": null\n}"})const data = await response.json()import requests
response = requests.request( "POST", "https://my-api.example.com/first-delivery/webhook", headers={ 'Content-Type': 'application/json'}, data="{\n \"orderId\": \"5b1f3c20-0e4a-11f1-8c2d-3f9a7e6b1d42\",\n \"orderNumber\": 7414,\n \"externalId\": \"ABC-123456\",\n \"status\": \"Pending\",\n \"status_v3\": \"scheduled\",\n \"event\": \"ready_now\",\n \"readyAt\": \"2026-10-15T16:45:12.000Z\",\n \"estimatedPickupTime\": \"2026-10-15T16:50:00.000Z\",\n \"estimatedDropoffTime\": \"2026-10-15T17:10:00.000Z\",\n \"trackerLink\": \"https://trackdelivery.io/?orderId=5b1f3c20-0e4a-11f1-8c2d-3f9a7e6b1d42\",\n \"dspTrackerLink\": null,\n \"trackerLinkFleet\": null,\n \"fleetName\": null\n}",)response.raise_for_status()
