Event Reference

All outbound webhooks share a common envelope. The data field varies by eventType.

Common envelope

FieldTypeDescription
eventTypestringmessage, status, order, or test
userIdnumberChatYug tenant user ID
wabaIdstringWhatsApp Business Account ID
phoneNumberIdstringPhone number that received or sent the event
eventIdstringIdempotency key (typically Meta message or status ID)
occurredAtstringISO 8601 UTC timestamp when ChatYug dispatched the event
dataobjectEvent-specific payload (see below)

eventType: message

Fired when a customer sends an inbound message.

{
  "eventType": "message",
  "userId": 42,
  "wabaId": "100000000000002",
  "phoneNumberId": "100000000000001",
  "eventId": "wamid.HBgMOTE5ODc2NTQzMjEwFQIAERgSQjAwMDAwMDAwMDAwMDAwAA==",
  "occurredAt": "2026-07-13T07:00:00.000Z",
  "data": {
    "metadata": {
      "display_phone_number": "+91 98765 43210",
      "phone_number_id": "100000000000001"
    },
    "contacts": [
      {
        "profile": { "name": "Rahul Sharma" },
        "wa_id": "919876543210"
      }
    ],
    "message": {
      "from": "919876543210",
      "id": "wamid.HBgMOTE5ODc2NTQzMjEwFQIAERgSQjAwMDAwMDAwMDAwMDAwAA==",
      "timestamp": "1720856400",
      "type": "text",
      "text": { "body": "Hello, I need help with my order" }
    }
  }
}

The message object follows Meta's inbound message schema. Types include text, image, document, interactive (button/list replies), order, and flow submissions (nfm_reply).

eventType: status

Fired when an outbound message status changes.

{
  "eventType": "status",
  "userId": 42,
  "wabaId": "100000000000002",
  "phoneNumberId": "100000000000001",
  "eventId": "wamid.HBgMOTE5ODc2NTQzMjEwFQIAERgSQjAwMDAwMDAwMDAwMDAwAA==",
  "occurredAt": "2026-07-13T07:00:05.000Z",
  "data": {
    "metadata": {
      "display_phone_number": "+91 98765 43210",
      "phone_number_id": "100000000000001"
    },
    "status": {
      "id": "wamid.HBgMOTE5ODc2NTQzMjEwFQIAERgSQjAwMDAwMDAwMDAwMDAwAA==",
      "status": "delivered",
      "timestamp": "1720856405",
      "recipient_id": "919876543210"
    }
  }
}

status.status values include sent, delivered, read, and failed.

eventType: order

Fired when a customer submits a WhatsApp catalog cart order.

{
  "eventType": "order",
  "userId": 42,
  "wabaId": "100000000000002",
  "phoneNumberId": "100000000000001",
  "eventId": "900000000000003",
  "occurredAt": "2026-07-13T07:01:00.000Z",
  "data": {
    "metadata": {
      "display_phone_number": "+91 98765 43210",
      "phone_number_id": "100000000000001"
    },
    "contacts": [
      {
        "profile": { "name": "Rahul Sharma" },
        "wa_id": "919876543210"
      }
    ],
    "order": {
      "catalog_id": "900000000000003",
      "product_items": [
        {
          "product_retailer_id": "SKU-1001",
          "quantity": 2,
          "item_price": 499,
          "currency": "INR"
        }
      ]
    }
  }
}

eventType: test

Sent from Webhook Settings when you click "Send test event".

{
  "eventType": "test",
  "userId": 42,
  "wabaId": "100000000000002",
  "phoneNumberId": "test-phone-number-id",
  "eventId": "test_1720856400000",
  "occurredAt": "2026-07-13T07:00:00.000Z",
  "data": {
    "message": "Webhook test event from Chatyug portal",
    "businessName": "Example Business Pvt Ltd"
  }
}
Meta reference: For full inbound message and status object fields, see Webhook components.