> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heybot.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Mensajes de botones de respuesta interactivos

Los mensajes de botones de respuesta interactivos te permiten enviar hasta tres respuestas predefinidas que los usuarios deben seleccionar.

Para responder un mensaje, los usuarios pueden seleccionar uno de los botones predefinidos, lo que activa un webhook de mensajes que describe su selección.

<img src="https://mintcdn.com/heybot/V-xiw4Dp5VkEstVO/images/quick_1.png?fit=max&auto=format&n=V-xiw4Dp5VkEstVO&q=85&s=1e6fb5b88e4d74c7ce11b51c19fce7ac" width="400" data-path="images/quick_1.png" />

<img src="https://mintcdn.com/heybot/V-xiw4Dp5VkEstVO/images/quick_2.png?fit=max&auto=format&n=V-xiw4Dp5VkEstVO&q=85&s=a1215c1f3d8c530476896dfaf550babf" width="300" data-path="images/quick_2.png" />

<ParamField body="to" type="string" required>
  The recipient's phone number or WhatsApp ID.
</ParamField>

<ParamField body="type" type="string" required default="interactive">
  The overall type of message being sent.
</ParamField>

<ParamField body="interactive" type="object" required>
  The interactive message payload configuration.

  <Expandable title="interactive properties" defaultOpen={true}>
    <ParamField body="type" type="string" required default="button">
      The specific type of interactive message you are sending.
    </ParamField>

    <ParamField body="header" type="object">
      Optional header content. Supports text or media (document, image, video).

      <Expandable title="header properties">
        <ParamField body="type" type="string" required>
          The header type (e.g., `text`, `image`, `document`, `video`).
        </ParamField>

        <ParamField body="text" type="string">
          The text content (required if header type is `text`).
        </ParamField>

        <ParamField body="[media_type]" type="object">
          An object keyed by the media type (e.g., `"image": { "id": "..." }`).

          <Expandable title="media properties">
            <ParamField body="id" type="string">
              The ID of the uploaded media asset (recommended).
            </ParamField>

            <ParamField body="link" type="string">
              The hosted URL of the media asset.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="body" type="object" required>
      The main content of the message.

      <Expandable title="body properties">
        <ParamField body="text" type="string" required>
          The primary text content. URLs are automatically hyperlinked (Maximum 1024 characters).
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="footer" type="object">
      Optional smaller text displayed beneath the main body.

      <Expandable title="footer properties">
        <ParamField body="text" type="string">
          The footer text content (Maximum 60 characters).
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="action" type="object" required>
      The configuration for the reply buttons.

      <Expandable title="action properties">
        <ParamField body="buttons" type="array" required>
          An array defining the buttons attached to the message (maximum of 3 buttons).

          <Expandable title="button object">
            <ParamField body="type" type="string" required default="reply">
              The type of button.
            </ParamField>

            <ParamField body="reply" type="object" required>
              The configuration for the reply button.

              <Expandable title="reply properties">
                <ParamField body="id" type="string" required>
                  A unique identifier for the button. This is returned via webhook when a user taps it (Maximum 256 characters).
                </ParamField>

                <ParamField body="title" type="string" required>
                  The label text displayed on the button. Must be unique across all buttons (Maximum 20 characters).
                </ParamField>
              </Expandable>
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## Ejemplo

MESSAGE\_HEADER Opcional

```json theme={null}
{
  "type": "image|document|video",
  "image": {
      "link": "https://www.luckyshrub.com/media/workshop-banner.png"
    }
}
```

```json theme={null}
{
  "type": "text",
  "text": "Workshop Details"
}
```

***

```json theme={null}
{
  "to": 5219876543210,
  "type": "interactive",
  "interactive": {
    "type": "button",
    "header": {<MESSAGE_HEADER>},
    "body": {
      "text": "<BODY_TEXT>"
    },
    "footer": {
      "text": "<FOOTER_TEXT>"
    },
    "action": {
      "buttons": [
        {
          "type": "reply",
          "reply": {
            "id": "<BUTTON_ID>",
            "title": "<BUTTON_LABEL_TEXT>"
          }
        }
        <!-- Additional buttons would go here (maximum 3) -->
      ]
    }
  }
}
```
