π Order Created Webhook (Inbound to Blend)
π§Ύ Description
This document describes the order_created
event that delivery platforms send to Blend's webhook
when a customer places an order through the delivery app.
Blend receives this order data and processes it internally to show it in the merchant dashboard, kitchen system, etc.
π Direction
Delivery App β Blend
Blend provides the delivery partner with a unique webhook URL to send order creation events to.
π Webhook Endpoint
Blend will provide the delivery partner with a secure HTTP(S) webhook URL.
This is typically shared during onboarding
Example:
POST https://api-staging.tryblend.net/webhooks/order-receive
π§© JSON Payload Example
{
"event": "order_created",
"event_time": "2025-01-01 00:00:00",
"branch_id": "14589",
"payload": {
"id": "order_id",
"payment_method": "cash", // any string u have
"order_type": "DELIVERY", // DINE-IN , PICK-UP
"note": "",
"subtotal": 50,
"tax": 10,
"discount": 10,
"total": 50,
"items": [
{
"id": "1",
"quantity": 2,
"price": 25, // per unit
"note": "",
"options": [
{
"id": "1",
"price": 10, // per unit
"quantity": 2
}
]
},
{
"id": "2",
"quantity": 1,
"price": 25,
"note": "",
"options": []
}
]
}
}
π Field Descriptions
Field | Description |
---|---|
event | Always "order_created" |
event_time | ISO timestamp when the order was placed |
branch_id | ID of the branch receiving the order |
payload.id | Unique order ID |
payload.payment_method | "cash" , "card" , or other values |
payload.order_type | "DELIVERY" , "DINE-IN" , or "PICK-UP" |
payload.note | Optional customer notes |
payload.subtotal | Total before tax and discounts |
payload.tax | Tax applied |
payload.discount | Discount applied |
payload.total | Final total after tax/discounts |
payload.items[] | List of items in the order |
items[].id | Item ID |
items[].quantity | Quantity ordered |
items[].price | Unit price of item (including options) |
items[].note | Optional notes per item |
items[].options[] | Toppings, extras, or modifications |
options[].id | ID of the selected option |
options[].price | Price per unit of the option |
options[].quantity | Quantity of the option selected |
π§ Behavior
- Blend uses the
branch_id
to route the order to the correct user - The order is validated and saved
β
Notes
- This is a one-way inbound event to Blend from the delivery partner
- Delivery platforms should retry in case of non-
200 OK
response - Order ID should be globally unique per partner
- Blend will handle mapping between delivery item IDs and internal products
π Blend Webhook Response
After processing the order, Blend will respond to the delivery platform with a JSON response.
β
Success Response
{
"order_id": "55",
"status": "success"
}
order_id
: The internal Blend order ID assigned after savingstatus
: Always"success"
if the order was processed without issues
β Failed Response
{
"order_id": "",
"status": "failed"
}
order_id
: Empty string indicates the order was not savedstatus
:"failed"
indicates there was a problem with validation or saving the order
π Notes
- Delivery platforms should treat
"success"
as confirmation the order was received and stored by Blend - On
"failed"
response, the delivery platform may retry or alert their support team depending on policy
Updated 24 days ago