Ready2order Webhook API
Webhooks push events to your application automatically — no polling required. **Available Events** | Event | Description | Payload | |-------|-------------|---------| | `coupon.created` | A new voucher or gift card is issued | Full object | | `coupon.updated` | A voucher's properties change (value, validity, linked customer, etc.) | Full object | | `couponTransaction.created` | A transaction is recorded on a voucher (charge, redeem, correction, bonus, payout) | Full transaction object | | `customer.created` | A new customer profile is added to the account | Full object | | `customer.updated` | A customer profile's details are updated (name, address, contact info, etc.) | Full object | | `customer.deleted` | A customer profile is deleted from the account | Resource ID | | `invoice.created` | An invoice or receipt is finalised — also fires for the storno document when an invoice is cancelled | Full object | | `invoice.cancelled` | Fired for the **original** invoice when it is cancelled — use this to mark the original as cancelled in your system; use `invoice.created` to receive the storno document | Full object | | `orderItem.created` | One or more items are placed on an open table order | Resource IDs | | `orderItem.cancelled` | One or more open table order items are voided before billing | Resource IDs | | `orderItem.transferred` | Open table order items are moved from one table to another | Transfer metadata (source/target table, order IDs) | | `product.created` | A new product is added to the catalogue | Full object | | `product.updated` | A product's details change — not triggered by `product_sortIndex` updates | Full object | | `product.deleted` | A product is removed from the catalogue | Resource ID | | `productGroup.created` | A new product category is created | Full object | | `productGroup.updated` | A product category's properties change (name, description, sort order, etc.) | Full object | | `productGroup.deleted` | A product category is removed | Resource ID | **Processing Webhooks** Respond to webhook requests with HTTP 202 and process the payload asynchronously in a background worker. This keeps your endpoint fast and avoids delivery failures from timeouts, which may trigger retries. **Setup** 1. [Register your webhook URL](#operation/webhookUpdateWebhookUrl) 2. [Subscribe to events](#operation/webhookUpdateWebhookEvent)