Webhooks
Order Updated
Webhook event fired when an existing order is modified in Phasio
Overview
The Order Updated event fires whenever an existing order is modified in Phasio. This is the most frequently triggered webhook event, as it covers a wide range of order state changes.
When it triggers
This webhook fires when:
- An order's details are updated (e.g., parts added/removed, quantities changed, pricing adjusted).
- An order's status changes (e.g., moved to a different workflow state).
- An order's payment status changes (e.g., marked as paid, partially paid).
- An order is moved to a different Kanban column.
- An order is committed — in addition to the Order Created event, the Order Updated event also fires when an order is committed.
- Orders are updated in batch (e.g., bulk status changes). A separate webhook is fired for each order in the batch.
- A customer or manufacturer modifies the order through the platform.
Payload
The payload structure is identical to the Order Created event. The decrypted payload is a JSON object with the following fields:
| Field | Type | Nullable | Description |
|---|---|---|---|
orderId | number | No | Unique identifier for the order. |
threadId | number | Yes | Conversation thread ID associated with the order, if any. |
quoteNumber | string | No | The quote number (e.g., "Q-001"). |
orderNumber | string | Yes | The order number (e.g., "ORD-001"). null for uncommitted orders. |
customerOrganisationId | number | No | ID of the customer organisation that placed the order. |
customerOrganisationName | string | No | Name of the customer organisation. |
createdDate | string | No | ISO 8601 date-time when the order was originally created. |
kanbanColumnName | string | Yes | Name of the Kanban column the order is currently in. |
kanbanColumnSequence | number | Yes | Sequence number of the Kanban column. |
paymentStatus | string | Yes | Current payment status (e.g., "PAID", "UNPAID", "PARTIALLY_PAID"). |
actorType | string | Yes | The type of actor that triggered this event (e.g., "MANUFACTURER", "CUSTOMER"). |
customReference | string | Yes | Custom reference string set by the manufacturer or customer. |
parts | array | No | List of parts in the order. See Part object. |
expenses | array | No | List of additional expenses. See Expense object. |
pricing | object | No | Pricing breakdown. See Pricing object. |
shipping | object | Yes | Shipping details. See Shipping object. null if no shipping is configured. |
For detailed documentation of nested objects (parts, expenses, pricing, shipping, address), see the Order Created event page.
Example payload
The payload reflects the current state of the order at the time the event was fired -- not a diff of what changed.
{
"orderId": 12345,
"threadId": 9876,
"quoteNumber": "Q-001",
"orderNumber": "ORD-001",
"customerOrganisationId": 678,
"customerOrganisationName": "Acme Manufacturing",
"createdDate": "2025-06-15T10:30:00",
"kanbanColumnName": "Shipped",
"kanbanColumnSequence": 4,
"paymentStatus": "PAID",
"actorType": "MANUFACTURER",
"customReference": "PO-2025-0042",
"parts": [
{
"id": 1,
"specificationId": "550e8400-e29b-41d4-a716-446655440000",
"name": "Bracket Assembly",
"technology": "CNC Machining",
"material": "Aluminum 6061",
"quantity": 100,
"pricePerPart": 12.50,
"color": null,
"infill": null,
"precision": "Standard",
"volume": 42.75,
"area": 128.30,
"width": 50.00,
"height": 30.00,
"depth": 10.00,
"minBoundingBoxVolume": 15000.00,
"minimumWallThickness": 1.20,
"convexHullVolume": 48.50,
"shrinkWrapVolume": 45.10,
"postProcessings": [
{
"name": "Anodizing",
"price": 2.00
}
],
"productionSteps": [
{
"name": "Machining",
"sequence": 1
},
{
"name": "Anodizing",
"sequence": 2
},
{
"name": "Quality Check",
"sequence": 3
}
]
}
],
"expenses": [
{
"id": 1,
"name": "Setup Fee",
"price": 50.00
}
],
"pricing": {
"currency": "USD",
"totalPrice": 1375.00,
"totalLocalPrice": 1375.00,
"shippingFee": 25.00,
"taxPercentage": 10.00,
"taxAmount": 125.00,
"applyTaxToShipping": true,
"discountPercentage": 5.00,
"paymentDueDate": "2025-07-15",
"topUpAmount": null
},
"shipping": {
"shippingMethod": "FedEx Ground",
"address": {
"id": "addr-001",
"street1": "123 Industrial Ave",
"street2": "Suite 400",
"city": "Austin",
"state": "TX",
"country": "US",
"zip": "73301",
"name": "Acme Manufacturing",
"phone": "+1-555-0100",
"email": "receiving@acme.com",
"residential": false
}
}
}Last updated on