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 existing order is modified in Phasio. Specific trigger conditions are not yet documented.

Payload

The payload structure is identical to the Order Created event. The decrypted payload is a JSON object with the following fields:

FieldTypeNullableDescription
orderIdnumberNoUnique identifier for the order.
threadIdnumberYesConversation thread ID associated with the order, if any.
quoteNumberstringNoThe quote number (e.g., "Q-001").
orderNumberstringYesThe order number (e.g., "ORD-001"). null for uncommitted orders.
customerOrganisationIdnumberNoID of the customer organisation that placed the order.
customerOrganisationNamestringNoName of the customer organisation.
createdDatestringNoISO 8601 date-time when the order was originally created.
kanbanColumnNamestringYesName of the Kanban column the order is currently in.
kanbanColumnSequencenumberYesSequence number of the Kanban column.
paymentStatusstringYesCurrent payment status (e.g., "PAID", "UNPAID", "PARTIALLY_PAID").
actorTypestringYesThe type of actor that triggered this event (e.g., "MANUFACTURER", "CUSTOMER").
customReferencestringYesCustom reference string set by the manufacturer or customer.
partsarrayNoList of parts in the order. See Part object. Each part includes a workOrders array (production runs) — see Work order object.
expensesarrayNoList of additional expenses. See Expense object.
pricingobjectNoPricing breakdown. See Pricing object.
shippingobjectYesShipping details. See Shipping object. null if no shipping is configured.

For detailed documentation of nested objects (parts, workOrders, expenses, pricing, shipping, address), see the Order Created event page.

The part-level productionSteps field reflects the first work order's routing and is empty until a work order exists. Read production steps from workOrders[].productionSteps.

Example payload

The payload reflects the current state of the order at the time the event was fired.

{
  "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
        }
      ],
      "workOrders": [
        {
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "name": "Run 1",
          "quantity": 100,
          "productionSteps": [
            {
              "name": "Machining",
              "sequence": 1
            },
            {
              "name": "Anodizing",
              "sequence": 2
            },
            {
              "name": "Quality Check",
              "sequence": 3
            }
          ]
        }
      ],
      "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

On this page