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

# Enviar Botões Interativos

> Enviar mensagem com botões de ação rápida (resposta, cópia, chamada ou URL)

Botões interativos permitem que o usuário execute ações rápidas diretamente na conversa. Você pode criar até 3 botões por mensagem com diferentes tipos de ação.

## Tipos de Botões

> **Botão de Resposta**
>
> Envia uma resposta de texto quando clicado.
>
> **Formato:** `"texto"` ou `"texto|id"`
>
> Exemplo: `"Sim, aceito|aceito"` ou `"Não, obrigado"`

> **Botão de Cópia**
>
> Copia um código ou texto para a área de transferência.
>
> **Formato:** `"texto|copy:código"`
>
> Exemplo: `"Copiar Cupom|copy:DESCONTO20"`

> **Botão de Chamada**
>
> Inicia uma chamada telefônica.
>
> **Formato:** `"texto|call:+número"`
>
> Exemplo: `"Ligar Agora|call:+5511999999999"`

> **Botão de URL**
>
> Abre um link no navegador.
>
> **Formato:** `"texto|https://url"`
>
> Exemplo: `"Ver Site|https://zapclass.com.br"`

> [!WARNING]
>
> **Importante:** Ao combinar botões de resposta com outros tipos (call, url,
> copy) na mesma mensagem, será exibido aviso no WhatsApp Web para visualizar no
> celular.

### Authorization

**api\_key** `string` *required*

Chave de autenticação da sua conexão, utilizada no header Authorization como
**Bearer** Token. \\

Você encontra sua API Key no botão **API** da sua conexão no painel ZapClass. \\

A chave sempre começa com o prefixo `zc_`. \\

Exemplo: `zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP`

### Body Parameters

**number** `string` *required*

Número do destinatário no formato internacional. \\

Deve incluir código do país DDI + DDD + número. \\

Exemplo: `5511999999999`

**title** `string` *required*

Título principal da lista exibido acima do botão. \\

Exemplo: `Confira nosso catálogo completo`

**choices** `array` *required*

Lista de botões interativos. \\

Exemplo: `["Falar com Atendente|atendente", "Ver Catálogo|https://zapclass.com.br",
    "Copiar Cupom|copy:DESC10"]`

**description** `string`

Descrição exibida abaixo do título. \\

Exemplo: `Preços sujeitos a alteração`

**button\_image** `string`

URL ou Base64 da imagem exibida acima dos botões. \\

Recomendado para deixar a mensagem mais visual. \\

Exemplo: `https://placehold.co/600x400.png`

**delay** `integer`

Atraso em milissegundos antes do envio. \\

Durante o atraso aparecerá "Digitando...". \\

Exemplo: `1000`

**message\_reply\_id** `string`

Identificador da mensagem para responder. \\

Exemplo: `5511999999999:1AB2C3DEFG4H56I78JKL9M`

**message\_source** `string`

Origem do envio da mensagem. \\

Normalmente usado para rastreamento da mensagem. \\

Exemplo: `typebot`

**message\_id** `string`

Identificador do envio da mensagem. \\

Combinado com o `message_source` pode ser usado para rastreamento. \\

Exemplo: `5511999999999:1AB2C3DEFG4H56I78JKL9M`

**mentions** `string`

Relação de números de telefone a serem mencionados na mensagem. \\

O números devem ser separads por vírgula. \\

Exemplo: `5511999999999,5511888888888`

**read** `boolean`

Marca a conversa como lida após o envio. \\

Exemplo: `true`

**read\_messages** `boolean`

Marca as últimas mensagens como lidas após o envio. \\

Exemplo: `true`

```bash cURL theme={null}
curl -X POST https://zapclass.com.br/api/messages/menu-button \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP" \
  -d '{
    "number": "5511999999999",
    "title": "Promoção exclusiva! Use o cupom DESCONTO20",
    "choices": [
      "Copiar Cupom|copy:DESCONTO20",
      "Ver Produtos|https://zapclass.com.br",
      "Ligar para Loja|call:+5511999999999"
    ],
    "footer_text": "Válido até 31/12/2024",
    "button_image": "https://placehold.co/600x400.png",
  }'
```

```javascript JavaScript theme={null}
const response = await fetch(
  "https://zapclass.com.br/api/messages/menu-button",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
    },
    body: JSON.stringify({
      number: "5511999999999",
      title: "Promoção exclusiva! Use o cupom DESCONTO20",
      choices: [
        "Copiar Cupom|copy:DESCONTO20",
        "Ver Produtos|https://zapclass.com.br",
        "Ligar para Loja|call:+5511999999999",
      ],
      footer_text: "Válido até 31/12/2024",
      button_image: "https://placehold.co/600x400.png",
    }),
  }
);
```

```php PHP theme={null}
<?php
$ch = curl_init('https://zapclass.com.br/api/messages/menu-button');

$payload = [
    "number" => "5511999999999",
    "title" => "Promoção exclusiva! Use o cupom DESCONTO20",
    "choices" => [
        "Copiar Cupom|copy:DESCONTO20",
        "Ver Produtos|https://zapclass.com.br",
        "Ligar para Loja|call:+5511999999999"
    ],
    "footer_text" => "Válido até 31/12/2024",
    "button_image" => "https://placehold.co/600x400.png",
];

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);
?>
```

```json 200 theme={null}
{
  "success": true,
  "id": "5511999999999:1AB2C3DEFG4H56I78JKL9M",
  "chat_id": "5511999999999@s.whatsapp.net"
}
```

```json 400 theme={null}
{
  "success": false,
  "message": "Token de autenticação inválido"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.