Webhook Notification Payload Examples

Supported Message Types

Meta supports a range of webhook notifications for WhatsApp Business Account (WABA) to facilitate user interactions. These notifications are sent to your webhook URL when users send messages to your business account. Below, we outline the types of messages you can receive, along with examples of webhook notification payloads.

Text Messages

When a user sends a text message, the webhook notification contains the message content and metadata such as timestamp and sender information.

{
  "owner": "[email protected]",
  "date": "2022-12-06T11:13:55.908937523Z",
  "processId": 1348,
  "origin": "1923847583",
  "externalId": "[email protected]_32118",
  "callback": "https://webhook.example/1234",
  "id": "35678765432347284737272",
  "text": "What is my order ID?",
  "user": "5500000000",
  "extraInfo": {
    "SAMWELL_WEBHOOK_NAME": "test webhook",
    "MSGI_SOURCE_CAMPAIGN": "EliPackage",
    "type": "text",
    "contacts": [
      {
        "profile": {
          "name": "John Doe"
        },
        "wa_id": "5500000000"
      }
    ]
  }
}

Media Messages

Users can send media files such as images, videos, and documents.

{
  "owner": "[email protected]",
  "date": "2022-12-06T11:14:32.911652119Z",
  "processId": 1347,
  "origin": "1923847583",
  "externalId": "[email protected]_3558",
  "callback": "https://webhook.example/1234",
  "id": "4567876543473736251",
  "text": "",
  "user": "5500000000",
  "extraInfo": {
    "SAMWELL_WEBHOOK_NAME": "test webhook",
    "MSGI_SOURCE_CAMPAIGN": "EliPackage",
    "attachments": [
      {
        "fileName": "newimage.jpg",
        "shaData": "ertyuhgf456789876ghjhg",
        "url": "https://whatsapp-mo-attachments.s3.amazonaws.com/testing_space.com_file/newimage.jpg",
        "caption": ""
      }
    ],
    "type": "image",
    "contacts": [
      {
        "profile": {
          "name": "John Doe"
        },
        "wa_id": "5500000000"
      }
    ]
  }
}

Sticker Messages

Meta supports stickers, but only if they adhere to Meta’s specifications. If a user sends a sticker, and it meets Meta’s supported formats, your webhook will receive a payload specifically for the sticker.

{
  "owner": "[email protected]",
  "date": "2022-12-06T11:20:58.786725956Z",
  "processId": 2020,
  "origin": "1923847583",
  "externalId": "[email protected]_3438",
  "callback": "https://webhook.example/1234",
  "id": "456789876543245678",
  "text": "",
  "user": "5500000000",
  "extraInfo": {
    "SAMWELL_WEBHOOK_NAME": "test webhook",
    "MSGI_SOURCE_CAMPAIGN": "EliPackage",
    "sticker": {
      "fileName": "newsticker.webp",
      "shaData": "b77c614a24a075f0d59c030c",
      "url": "https://whatsapp-mo-attachments.s3.amazonaws.com/testing_space.com_file/newsticker.webp",
      "caption": ""
    },
    "type": "sticker",
    "contacts": [
      {
        "profile": {
          "name": "John Doe"
        },
        "wa_id": "5500000000"
      }
    ]
  }
}

Location Messages

These messages allow users to share their geographic location with your business. Meta supports these messages, and the webhook will send a notification with details about the shared location.

{
  "owner": "[email protected]",
  "date": "2025-01-22T15:38:38.374199828Z",
  "processId": 1818,
  "origin": "1923847583",
  "externalId": "[email protected]_3435",
  "callback": "https://webhook.example/1234",
  "id": "87654678909283472771",
  "text": "",
  "user": "5500000000",
  "extraInfo": {
    "SAMWELL_WEBHOOK_NAME": "test webhook",
    "MSGI_SOURCE_CAMPAIGN": "EliPackage",
    "location": {
      "longitude": "-99.128059387207",
      "latitude": "19.292819976807",
      "name": "EliPackage Company",
      "address": "Tlalpan, Mexico City"
    },
    "type": "location",
    "contacts": [
      {
        "profile": {
          "name": "John Doe"
        },
        "wa_id": "5500000000"
      }
    ]
  }
}

Contacts Messages

These messages allow users to share their contact information with your business. When a user sends a contact message, the payload includes the shared contact’s details, such as name and phone number.

{
  "owner": "[email protected]",
  "date": "2025-01-22T15:45:13.637933811Z",
  "processId": 3435,
  "origin": "1923847583",
  "externalId": "[email protected]_4041",
  "callback": "https://webhook.example/1234",
  "id": "876546789345432211",
  "text": "",
  "user": "5500000000",
  "extraInfo": {
    "SAMWELL_WEBHOOK_NAME": "test webhook",
    "MSGI_SOURCE_CAMPAIGN": "EliPackage",
    "contact": [
      {
        "name": {
          "first_name": "Elizabeth Smith",
          "formatted_name": "Elizabeth Smith"
        },
        "phones": [
          {
            "phone": "+52 55 0101 0101",
            "type": "CELL",
            "wa_id": "525501010101"
          }
        ]
      }
    ],
    "type": "contacts",
    "contacts": [
      {
        "profile": {
          "name": "John Doe"
        },
        "wa_id": "5500000000"
      }
    ]
  }
}

Unsupported Message Types

When a user sends a type of message not supported by Meta, the payload will include a placeholder indicating that the message type is not supported. This allows your application to identify and gracefully handle unsupported content without breaking functionality. That is, unsupported message types occur when a user sends content that is not recognized or supported by Meta’s API. These messages do not conform to the API’s predefined structure and cannot be processed or displayed by your application.

Therefore, It's possible to receive an unknown message callback notification. For example, a customer could send you a message that's not supported, such as a disappearing message (in which case we'd notify the customer that the message type is not supported).

Here is an example of an unsupported message type received, your webhook receives a notification with the following key details:

{
  "owner": "[email protected]",
  "date": "2025-01-22T15:53:34.938220399Z",
  "processId": 9845,
  "origin": "1923847583",
  "externalId": "[email protected]_5455",
  "callback": "https://webhook.example/1234",
  "id": "7374664646372828",
  "text": "The message type is not currently supported by Meta",
  "user": "5500000000",
  "extraInfo": {
    "SAMWELL_WEBHOOK_NAME": "test webhook",
    "MSGI_SOURCE_CAMPAIGN": "EliPackage",
    "type": "unsupported",
    "contacts": [
      {
        "profile": {
          "name": "John Doe"
        },
        "wa_id": "5500000000"
      }
    ]
  }
}

The common causes of unsupported message types are the following:

  1. Unsupported Media Formats: Files with uncommon or proprietary formats that are not included in Meta’s list of supported types (e.g., some video codecs or rare document formats, media size).

  2. Third-Party Stickers: Stickers that do not meet WhatsApp’s specifications (e.g., incorrect format, size, or resolution).

  3. Non-Standard Interactive Elements: Custom interactive features outside the scope of WhatsApp’s API, such as buttons or lists not defined by the API.

  4. Polls: This type of message will not be supported if the user sends a survey as an attachment.

  5. Reactions: this type of message will not be supported if the user responds to messages with emojis instead of typing out a full message. For example:

    {
      "owner": "[email protected]",
      "date": "2025-01-22T16:02:36.050350125Z",
      "processId": 9534,
      "origin": "1923847583",
      "externalId": "[email protected]_7272",
      "callback": "https://webhook.example/1234",
      "id": "73746261525342519873",
      "text": "The message type is not currently supported: Reaction",
      "user": "5500000000",
      "extraInfo": {
        "SAMWELL_WEBHOOK_NAME": "test webhook",
        "MSGI_SOURCE_CAMPAIGN": "EliPackage",
        "type": "reaction",
        "contacts": [
          {
            "profile": {
              "name": "John Doe"
            },
            "wa_id": "5500000000"
          }
        ]
      }
    }
    
  6. Unrecognized Message Types: New or experimental message formats introduced by users using unofficial WhatsApp versions or third-party tools.

  7. Corrupted Messages: Messages that were improperly transmitted due to network errors or user-side issues.

📘

NOTE

When navigating to Messaging Logs in the Digital Engagement Platform, users can verify the details of incoming WhatsApp messages by clicking in the Details icon. In cases where a user sends a message type that is not currently supported by Meta, the phone visualizer displays the next message "The Message type is not currently supported by Meta".


This indicates that the platform has successfully received the message, but the specific type of message is not recognized or supported by Meta.