Skip to main content
All webhook payloads follow a consistent JSON structure.

Standard Payload Structure

{
  "event": "order.created",
  "data": {
    // Event-specific data
  }
}
FieldTypeDescription
eventstringThe event type identifier (e.g., order.created)
dataobjectThe event payload containing relevant data

HTTP Headers

Each webhook request includes the following headers:
HeaderDescription
Content-TypeAlways application/json
webhook-idUnique identifier for this webhook message
webhook-timestampUnix timestamp when the webhook was sent
webhook-signatureSignature for verifying authenticity

Example: Order Created Payload

{
  "event": "order.created",
  "data": {
    "id": "ord_abc123",
    "code": "A1B2",
    "total": 2500,
    "tip": 250,
    "orderType": "Pickup",
    "asap": true,
    "createdAt": "2024-01-15T10:30:00Z",
    "customer": {
      "firstName": "John",
      "lastName": "Doe",
      "email": "[email protected]",
      "phone": "+44123456789"
    },
    "items": [
      {
        "name": "Margherita Pizza",
        "price": 1200,
        "quantity": 1,
        "modifiers": []
      }
    ],
    "venue": {
      "id": 1234,
      "name": "My Restaurant",
      "slug": "my-restaurant"
    }
  }
}

Data Types

  • Monetary values: All monetary values are in the smallest currency unit (e.g., pence for GBP, cents for USD)
  • Timestamps: All timestamps are in ISO 8601 format (UTC)
  • IDs: String identifiers for orders, alphanumeric codes for collection codes