{
"name": "Accept Order",
"trigger": {
"type": "http",
"config": {
"method": "POST",
"path": "/orders"
}
},
"nodes": [
{
"id": "validate",
"type": "request",
"config": {
"source": "request.body",
"schema": {
"customer_id": "required|string",
"items": "required|array",
"items.*.product_id": "required|string",
"items.*.quantity": "required|integer|min:1"
}
}
},
{
"id": "create_order",
"type": "http",
"config": {
"method": "POST",
"url": "https://api.example.com/orders",
"body": {
"customer_id": "{{request.body.customer_id}}",
"items": "{{request.body.items}}",
"status": "pending"
}
}
},
{
"id": "enqueue_processing",
"type": "enqueue",
"config": {
"handler": "order-processor",
"message": {
"order_id": "{{create_order.output.body.id}}",
"customer_id": "{{request.body.customer_id}}",
"created_at": "{{now}}"
}
}
},
{
"id": "respond",
"type": "response",
"config": {
"status": 202,
"body": {
"accepted": true,
"order_id": "{{create_order.output.body.id}}",
"message_id": "{{enqueue_processing.output.message_id}}"
}
}
}
]
}