Dispatch a delivery from your order push
OrderOut can send a courier for orders placed on your platform. You get a quote, then push the order with that quote. There is no separate "create delivery" call.
There is no sandbox for dispatch
api.orderout.codispatches real couriers. Getting quotes and cancelling are safe to test, but pushing an order withdelivery.quote_idsends a real driver. If you don't cancel before a driver is assigned, there is a $10 cancellation fee, for you and for OrderOut. Contact us before your first dispatch test.
Before you start
- Create an account with Onboarding (or Create restaurant) and store the restaurant id.
- Your channel is connected to the restaurant (
destination.storeIdin the push). - The restaurant's integration is enabled in the OrderOut dashboard. Otherwise pushes return
410.
1. Get quotes
Call Get Quotes (POST /v2/delivery/quotes):
{
"restaurant_id": 5208499903266816,
"dropoff_street": "12 Main St",
"dropoff_city": "Kingston",
"dropoff_state": "NY",
"dropoff_zip": "12401",
"dropoff_country": "US",
"dropoff_instructions": "Leave at the door",
"pickup_minutes": 15
}pickup_minutes(default10) is when the courier should pick up, in minutes from now. Set it to your prep time.- Choose a quote from the response.
priceis in cents (499= $4.99). Quotes are valid for 7 days and can be used for one order, for the restaurant they were issued for.
2. Push the order with the quote
Call Push Order (POST /api/channel/order/push) with orderType: "DELIVERY" and the quote id in payload.order.delivery.quote_id:
{
"destination": { "storeId": "<your store id for this restaurant>" },
"source": {
"orderNumber": "A-1042",
"placedOn": "2026-10-15T12:30:01-0400",
"additionalInfo": ""
},
"payload": {
"customer": {
"customerName": "Jane Doe",
"phoneNumber": "5552221234",
"streetName": "12 Main St",
"city": "Kingston",
"state": "NY",
"zipCode": "12401",
"deliveryNotes": "Leave at the door"
},
"order": {
"orderType": "DELIVERY",
"delivery": { "quote_id": 6569738449453056 },
"subtotal": 24.99,
"tax": 2.00,
"deliveryFee": 4.99,
"driverTip": 3.00,
"total": 34.98,
"payment": { "status": "PAID", "mode": "CREDIT_CARD" },
"items": [
{ "id": "burger", "name": "Burger", "price": 24.99, "quantity": 1, "total": 24.99, "modifiers": [] }
]
}
}
}- Money is in dollars.
customer.phoneNumbermust be a 10-digit number without the country code. An invalid phone stops the dispatch.- The pickup and drop-off addresses come from the quote. The customer name and phone,
subtotalanddriverTipcome from the order. - The response's
order_idis the OrderOut order id. Keep it to cancel. - The push response confirms the order. The courier is dispatched right after; dispatch failures are not reported back yet.
3. Cancel if needed
Call Cancel Order (POST /v2/delivery/orders/{order_id}/cancel) with {"reason": "CustomerCancelled", "reason_comments": "Customer called to cancel"}, using the OrderOut order id from the push response. reason is one of the courier network's reason codes (listed on the Cancel Order page); reason_comments is optional free text. Cancel before a driver is assigned to avoid the $10 fee.
Status updates
Not available yet. See Webhook Statuses.
Updated 5 days ago
