Sign inGet Started

Tipos de mensagem WhatsApp não suportados

Algumas mensagens funcionam no app WhatsApp, mas não podem ser lidas pela API. Bird registra essas mensagens como recebidas com um campo unsupported. Você pode ver quem enviou a mensagem e quando, mas não pode ler o conteúdo no painel ou pela API. Peça ao remetente para reenviar a informação como texto ou outro tipo de mensagem suportado.

Por que uma mensagem recebida pode ter um erro

A Meta pode incluir o erro 131051 em uma notificação de mensagem recebida quando a WhatsApp Cloud API não suporta aquele conteúdo. Um recurso pode funcionar no app WhatsApp e ainda assim estar indisponível pela Cloud API.

Bird registra essa notificação com direction: inbound e status: received. O campo last_error da mensagem pode conter meta_error_code: "131051", mesmo que Bird não tenha tentado enviá-la. Nesse caso, o erro descreve o conteúdo recebido indisponível. Ele não indica uma falha de envio.

O campo normalizado last_error.code pode ter o valor undeliverable nesse registro recebido. Verifique direction, status e last_error.meta_error_code juntos antes de tratar um registro como falha de entrega.

A Meta também usa 131060 para uma mensagem que está indisponível no momento. Isso pode ocorrer quando alguém envia a primeira mensagem para uma empresa usando um número de app WhatsApp Business conectado. Esse erro tem um significado diferente do erro de conteúdo não suportado 131051. Consulte a referência de mensagens não suportadas da Meta para essas notificações.

Leia o tipo da mensagem

O campo unsupported.type identifica o conteúdo com a maior precisão que a notificação permite:

  • Quando a Meta fornece unsupported.type, Bird preserva seu valor, como poll_creation, pin ou edit.
  • Quando a Meta omite unsupported.type, Bird mantém o tipo de nível superior da mensagem nesse campo. Um valor como unsupported ou unknown não identifica a ação que o remetente realizou.
  • Quando a Meta fornece conteúdo que a API de Bird não modela, Bird registra o tipo aqui também, como order ou system.

O nome do tipo não inclui o conteúdo ausente. Por exemplo, poll_creation não fornece a pergunta nem as opções, e edit não fornece o texto de substituição. Mantenha valores de tipo não reconhecidos ao armazenar mensagens para que sua integração possa aceitar novos tipos.

Bird suporta imagens, respostas de botão, respostas de lista e reações. Uma notificação não suportada com um desses nomes descreve aquela notificação específica; não significa que o recurso inteiro não é suportado. Consulte recebimento de imagens, respostas interativas e webhooks de reação.

Trate o webhook recebido

Uma mensagem não suportada emite whatsapp.received com data.unsupported.type. O webhook recebido não inclui o last_error do registro da mensagem; recupere a mensagem pela API quando precisar desse diagnóstico.

Trate unsupported explicitamente antes de processar o conteúdo. Mostre que o conteúdo está indisponível, armazene o tipo e confirme o webhook com uma resposta 2xx depois de tratá-lo. Reenviar a mesma notificação não recupera o conteúdo ausente. Consulte entrega de webhooks para comportamento de confirmação e nova tentativa.

O registro permanece visível no log de WhatsApp. Bird o trata como uma mensagem recebida para a janela de atendimento ao cliente.

Exemplos para testar

Estes são exemplos de valores de unsupported.type. Se o seu app WhatsApp oferece a ação correspondente na conversa que você está testando, você pode experimentá-la e inspecionar o registro resultante:

Mensagem ou açãounsupported.type
Criar uma enquetepoll_creation
Votar em uma enquetepoll_update
Fixar uma mensagempin
Editar uma mensagem enviadaedit
Manter uma mensagem temporária no chatkeep_in_chat
Enviar um convite de grupogroup_invite
Mensagem não identificadaunknown

A disponibilidade depende do aplicativo, da conversa e da conta. Você pode receber um tipo genérico ou nenhuma notificação de mensagem recebida para uma ação. Compare o remetente, o timestamp e o unsupported.type com a ação que você realizou. Se o tipo for genérico, não é possível identificar a ação apenas a partir desse registro.

Próximos passos