---
title: "Receive WhatsApp inbound message"
method: POST
path: "receive-inbound-whatsapp-messages"
tags: ["channels", "whatsapp", "whatsapp-inbound-messages", "whatsapp-receive-inbound-message"]
---

# Receive WhatsApp inbound message

`POST receive-inbound-whatsapp-messages` (webhook)

Set up logic for processing incoming messages to customize two-way communication. Inbound messages are forwarded in real time to the endpoint. [Set the inbound configuration](/docs/api/platform/numbers/my-numbers/resource-management/manage-inbound-configuration) for the number by specifying your endpoint and we will send inbound WhatsApp messages to you as soon as they are delivered to us.<br/>Name of the default format or renderer for the inbound WhatsApp messages is `MO_OTT_CONTACT`, and is documented in this section.

## Payload

- F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2WhatsAppInboundMessages
  - `results` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InboundMessagePushko[]: Collection of mobile originated messages.
    - `entityId` string: Used when specifying an entity in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
    - `applicationId` string: Used when specifying an application in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
    - `from` string, required: Number which sent the message.
    - `to` string, required: Sender provided during the activation process.
    - `integrationType` string, required: Integration type.
    - `receivedAt` string, date-time, required: Date and time when Infobip received the message. Has the following format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
    - `keyword` string: Keyword extracted from the message text.
    - `messageId` string, required: The ID that uniquely identifies the received message.
    - `pairedMessageId` string: Message ID of paired outgoing message if matched by Infobip platform.
    - `callbackData` string: Callback data sent through ‛callbackData‛ field when sending message.
    - `message` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2WhatsAppInboundContent, required: Message content.
      - `type` 'TEXT' | 'LOCATION' | 'IMAGE' | 'DOCUMENT' | 'AUDIO' | 'VIDEO' | 'VOICE' | 'CONTACT' | 'INFECTED_CONTENT' | 'BUTTON' | 'STICKER' | 'INTERACTIVE_BUTTON_REPLY' | 'INTERACTIVE_LIST_REPLY' | 'INTERACTIVE_FLOW_REPLY' | 'INTERACTIVE_PAYMENT_CONFIRMATION' | 'INTERACTIVE_CALL_PERMISSION_REPLY' | 'INTERACTIVE_IN_THREAD_AUTHENTICATION_REPLY' | 'ORDER' | 'REACTION' | 'UNSUPPORTED', required
    - `price` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2MessagePrice, required: Sent message price.
      - `pricePerMessage` number: Price per one message.
      - `currency` string: The currency in which the price is expressed.
    - `contact` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2WhatsAppInboundContactProfile, required
      - `name` string: Display name of the end user.
      - `phoneNumber` string: Sender's phone number. May be absent if the user has enabled the Meta username feature and you have not exchanged messages with them in the last 30 days.
      - `userId` string: Business-scoped user ID (BSUID) assigned by Meta. Stable identifier for the end user, scoped to the receiving business.
      - `parentUserId` string: Business-scoped user ID valid across all phone numbers in a linked business portfolio. Present only for managed businesses with portfolio linking enabled.
      - `username` string: Meta username of the end user. Present only if the user has a Meta username.
    - `identity` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2Identity
      - `acknowledged` boolean, required
      - `hash` string, required
      - `createdAt` string, date-time, required
  - `messageCount` integer: The number of messages returned in the results array.
  - `pendingMessageCount` integer: The number of messages that have not been pulled in.

## Acknowledgement `200`

Your server returns this code if it accepts the callback.

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
