# Mensagens de serviço WhatsApp

Uma **mensagem de serviço** é qualquer coisa que você envia e que não seja um template pré-aprovado: o conteúdo livre que uma empresa envia dentro de uma conversa aberta. `POST /v1/whatsapp/messages` carrega exatamente um dos nove tipos de conteúdo de mensagem de serviço, ou um template. Esta página cobre o que os nove tipos têm em comum; a página de cada tipo cobre seu formato no fio e seus próprios limites.

## Os tipos de conteúdo

| Tipo                                                                     | Campo           | O que carrega                                                                                        | Use quando                                                                        |
| ------------------------------------------------------------------------ | --------------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [Texto simples](/docs/guides/whatsapp/message-types/plain-text)          | `text`          | Um corpo de até 4.096 caracteres, com uma pré-visualização de link opcional                          | você estiver enviando uma mensagem sem anexo                                      |
| [Imagens](/docs/guides/whatsapp/message-types/images)                    | `image`         | Uma URL pública de imagem e uma legenda opcional                                                     | você estiver enviando uma foto ou um gráfico                                      |
| [Vídeo](/docs/guides/whatsapp/message-types/video)                       | `video`         | Uma URL pública de vídeo e uma legenda opcional                                                      | você estiver enviando um clipe de vídeo                                           |
| [Áudio](/docs/guides/whatsapp/message-types/audio)                       | `audio`         | Uma URL pública de áudio, opcionalmente exibida como nota de voz                                     | você estiver enviando uma mensagem de voz ou um clipe de áudio                    |
| [Stickers](/docs/guides/whatsapp/message-types/stickers)                 | `sticker`       | Uma URL pública de imagem WebP                                                                       | você estiver enviando um sticker                                                  |
| [Documentos](/docs/guides/whatsapp/message-types/documents)              | `document`      | Uma URL pública de arquivo, uma legenda opcional e um nome de arquivo opcional                       | você estiver enviando um PDF, uma planilha ou outro arquivo                       |
| [Localização](/docs/guides/whatsapp/message-types/location)              | `location`      | Latitude e longitude, com um nome e endereço opcionais                                               | você estiver enviando um pin, como um ponto de retirada                           |
| [Cartões de contato](/docs/guides/whatsapp/message-types/contact-cards)  | `contact_cards` | De um a cinco cartões de contato, cada um com nome e quaisquer números, e-mails, sites ou endereços  | você estiver compartilhando os dados de alguém, como o número de um colega        |
| [Mensagens interativas](/docs/guides/whatsapp/message-types/interactive) | `interactive`   | Texto do corpo mais um botão, um menu, um link, um card ou uma solicitação de localização ou contato | você quiser que o destinatário toque em algo em vez de digitar uma resposta livre |

Uma solicitação carrega exatamente um entre `template` ou um desses nove campos. Uma solicitação que não carrega nenhum deles, ou que carrega mais de um, é recusada com um `422`.

## A janela de atendimento ao cliente

Uma mensagem de serviço, ou seja, qualquer um dos nove tipos acima, é entregue apenas dentro de uma janela de atendimento ao cliente de 24 horas aberta. O contato abre essa janela ao enviar uma mensagem ou ligar para o número da sua empresa, e cada nova mensagem dele reinicia o prazo para 24 horas.

Uma mensagem de serviço enviada para uma janela fechada é recusada na hora: a solicitação retorna um `422` [`E15044`](/docs/api/errors/E15044) `WhatsAppServiceWindowClosed`, e nada é criado ou cobrado. Envie um template aprovado em vez disso; ele alcança o contato independentemente da janela, e a resposta do contato a reabre. Uma janela que fecha no instante entre a aceitação e o despacho ainda falha, mas de forma assíncrona: a mensagem chega a `failed` com `service_window_expired` em `last_error`.

A verificação no momento da aceitação é feita com melhor esforço, não é uma garantia: **a porta falha aberta**, então uma falha de leitura ou de cache deixa o envio passar em vez de bloqueá-lo. Um `202` portanto não é prova de que a janela estava aberta quando o envio saiu; o sinal definitivo é o status da própria mensagem, não a resposta de aceitação.

Toda mensagem de serviço também exige `from`, um número que o seu espaço de trabalho possui. Os números gerenciados de Bird não suportam isso, então uma mensagem de serviço precisa de um número próprio conectado primeiro; veja [Configuração de número de telefone](/docs/guides/whatsapp/phone-number-setup).

Veja [a janela de atendimento ao cliente](/docs/knowledge-base/whatsapp/customer-service-window) para o ciclo de vida completo: como a janela abre, o que a reinicia e como ela é rastreada.

## Envio de mídia por URL

`image`, `video`, `audio`, `sticker` e `document` usam uma `url` apontando para um arquivo que WhatsApp busca no momento do envio, em vez de um arquivo que você envia para Bird. Bird verifica o formato da URL na aceitação, antes de qualquer enfileiramento:

- Não vazia e analisável, com um host e sem espaço bruto
- Esquema é `https`

Uma URL `http` é rejeitada com um `422` na aceitação, embora WhatsApp a buscasse sem problemas. Isso é política de Bird, não um limite que WhatsApp impõe.

Bird não verifica o tamanho do arquivo, seu tipo MIME nem se a URL está acessível. WhatsApp busca a URL quando despacha a mensagem, então uma URL assinada precisa continuar válida após esse momento, não apenas no momento em que você envia a solicitação; uma URL privada ou expirada falha quando WhatsApp tenta buscá-la. WhatsApp também armazena em cache uma URL buscada por aproximadamente 10 minutos, então reenviar a mesma URL dentro dessa janela serve o resultado da primeira busca em vez de buscar novamente.

## Quando a mídia falha

Um envio de mídia segue o mesmo caminho assíncrono de qualquer mensagem WhatsApp: Bird retorna `202` e aceita a mensagem, depois WhatsApp busca a URL quando a despacha. Se essa busca falhar, a mensagem chega a `failed` com `media_rejected` em `last_error`, que é o `131053` da Meta por baixo.

`media_rejected` é um código genérico que cobre um arquivo grande demais, um `404`, uma falha de DNS e um tipo MIME errado igualmente; Bird não o divide além disso, então não espere um código distinto por causa.

Um envio de mídia que falha de forma assíncrona ainda é cobrado. A cobrança acontece quando Bird processa o envio aceito, antes de WhatsApp buscar a URL, e não há caminho de reembolso depois que essa cobrança é registrada. Planeje de acordo: uma mensagem que falha depois em `media_rejected` já custou o mesmo que uma que foi entregue.

## Lendo o que um contato enviou

Uma mensagem de entrada carrega um dos mesmos nove tipos, então o campo que você lê corresponde ao tipo que o contato usou. Cartões de contato são lidos no mesmo campo `contact_cards` tanto quando o contato compartilhou um quanto quando você enviou um. [Recebendo mensagens WhatsApp](/docs/guides/whatsapp/receiving-whatsapp) cobre a leitura de mensagens de entrada pela API, a busca da mídia que um contato enviou e o webhook `whatsapp.received`.

## Próximos passos

- [Enviando mensagens WhatsApp](/docs/guides/whatsapp/sending-whatsapp): o envelope da solicitação, o modelo `202` e retentativas seguras
- [Mensagens interativas](/docs/guides/whatsapp/message-types/interactive): os seis tipos em que o destinatário pode tocar
- [Recebendo mensagens WhatsApp](/docs/guides/whatsapp/receiving-whatsapp): mensagens de entrada, mídia e o webhook `whatsapp.received`
- [Templates WhatsApp](/docs/guides/whatsapp/templates): as mensagens que você ainda pode enviar quando a janela está fechada

## 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)
