# Tipos de mensagem WhatsApp não suportados

WhatsApp transporta conteúdo que o API do Bird não modela, de pedidos de catálogo a avisos do sistema sobre a conversa. Em vez de descartar a mensagem ou entregá-la vazia, Bird a registra com um braço `unsupported` que nomeia o tipo de conteúdo WhatsApp. A mensagem fica visível no [log do WhatsApp](/docs/guides/whatsapp/message-log) e chega ao seu webhook como qualquer outra.

## O que uma mensagem não suportada carrega

`unsupported.type` carrega a string de tipo própria do WhatsApp para o que chegou, e esse é o único conteúdo da mensagem. O envelope ao redor permanece inalterado:

```json
{
  "id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "unsupported": { "type": "order" },
  "created_at": "2026-08-25T09:31:20Z"
}
```

| `type`        | O que o contato enviou                                                                                          |
| ------------- | --------------------------------------------------------------------------------------------------------------- |
| `interactive` | Conteúdo interativo cuja forma de resposta o API não conseguiu ler como um toque                                |
| `button`      | Um toque em botão que o API não conseguiu ler como uma resposta                                                 |
| `order`       | Um carrinho ou pedido feito a partir de um catálogo de produtos                                                 |
| `system`      | Um aviso do sistema sobre a conversa, como um contato alterando seu número de telefone                          |
| `unsupported` | O tipo `unsupported` próprio do WhatsApp, para uma mensagem que seus próprios clientes não conseguem renderizar |

`unsupported` não é um valor temporário nessa tabela. WhatsApp reporta um tipo de conteúdo próprio com esse nome quando um de seus clientes envia algo que os outros não conseguem exibir, e isso chega como esse valor.

A lista é aberta. WhatsApp adiciona tipos de conteúdo ao longo do tempo, então trate um `type` que você não reconhece como um tipo futuro, e não como um erro: registre-o e siga em frente em vez de falhar a leitura.

## O payload do webhook

`whatsapp.received` dispara para uma mensagem não suportada também, carregando o mesmo braço:

```json
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:31:20.774Z",
  "data": {
    "whatsapp_id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "unsupported": { "type": "order" },
    "tags": null,
    "metadata": null
  }
}
```

Um endpoint que faz switch no campo de conteúdo encontrado deve ter um branch padrão, e esse braço é o que cai nele. Confirme o webhook com um `2xx` de qualquer forma: tentar novamente não muda nada, já que o conteúdo não vai se tornar modelado entre as tentativas.

## O que uma mensagem não suportada ainda faz

A mensagem conta como uma mensagem recebida em todos os aspectos que não dependem do seu conteúdo:

- **Ela reinicia a janela de atendimento ao cliente** para 24 horas completas, então um pedido feito a partir do seu catálogo reabre respostas de formato livre.
- **Ela aparece na lista de mensagens e no log do WhatsApp**, com seu tipo exibido em vez de uma linha em branco.
- **Ela nunca é cobrada.** Nenhuma mensagem recebida tem custo.

O que você não pode fazer é ler o conteúdo. Um pedido não traz o carrinho, e um aviso do sistema não diz o que mudou. Quando esse detalhe importa, pergunte ao contato por mensagem, ou use um [botão de resposta ou menu de lista](/docs/guides/whatsapp/message-types/interactive) para que a resposta chegue em um braço modelado no qual você possa agir.

## Pontos de atenção

- **Não trate o braço como um erro.** A mensagem foi recebida com sucesso; apenas seu conteúdo não é modelado. Gerar alerta sobre isso significa gerar alerta toda vez que um contato faz um pedido.
- **Um tipo `system` pode significar que o contato mudou de número.** A Meta documenta uma mudança de número de telefone como um dos eventos que gera uma mensagem de sistema, e ela regenera o [ID de usuário com escopo de negócio](/docs/guides/whatsapp/business-scoped-user-ids) do contato ao mesmo tempo. O braço nomeia o tipo e nada mais, então trate-o como um sinal para restabelecer com quem você está falando.
- **Uma reação com emoji não é uma mensagem não suportada.** Ela não é uma mensagem recebida, então não chega a nenhum webhook e não aparece em nenhuma lista de mensagens: cada alteração é registrada no log de reações da própria mensagem reagida, coberto em [eventos do WhatsApp](/docs/guides/whatsapp/events#reaction-events).
- **Armazene o tipo literalmente.** Um tipo futuro se resolve em um nome para o qual você ainda não tem código, e manter o valor bruto é o que permite encontrar essas mensagens quando tiver.

## Próximos passos

- [Como o recebimento funciona](/docs/guides/whatsapp/receiving-whatsapp): o envelope de entrada, busca de mídia e o webhook `whatsapp.received`
- [Recebendo respostas interativas](/docs/guides/whatsapp/receiving-whatsapp/interactive-replies): os toques que chegam como conteúdo modelado
- [Log do WhatsApp](/docs/guides/whatsapp/message-log): navegando pela conversa no dashboard
- [Eventos do WhatsApp](/docs/guides/whatsapp/events): a lista completa de eventos, via API ou webhooks

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
