Skip to main content
Para consultar o catálogo completo derivado do esquema, consulte todos os exemplos.

O que é

Processe eventos de sincronização de histórico do WhatsApp Business App.

Antes de começar

  • Crie um endpoint HTTPS público em sua aplicação.
  • Configure um endpoint de webhook da YCloud para os tipos de eventos necessários.
  • Armazene o segredo de assinatura do endpoint com segurança.
  • Torne o processamento de eventos idempotente.

Como funciona

A YCloud envia uma requisição HTTP POST quando o evento ocorre. Verifique a assinatura, registre o evento de forma durável, retorne uma resposta 2xx e processe tarefas demoradas de forma assíncrona. Para eventos criados a partir de um fragmento (chunk) de histórico da Meta, a YCloud copia o phase e o progress do chunk para o evento de nível superior. Os chunks que contêm mensagens incluem um objeto de mensagem específico da direção. Se tanto threads quanto errors estiverem vazios, a YCloud enviará um evento exclusivo de progresso sem whatsappMessage ou whatsappInboundMessage. As entregas ocorrem pelo menos uma vez (at-least-once) e podem chegar fora de ordem. Elimine duplicatas usando o id do evento; não use phase e progress como chave única de entrega.

Requisição

Os cenários abaixo mostram as requisições entregues na URL do seu webhook. Trate o id do evento como o identificador de entrega e use type para rotear a carga útil (payload).

Resposta

Retorne um status 2xx após aceitar o evento.
Para configuração do endpoint, validação de assinatura e comportamento de novas tentativas, consulte Configurar webhooks.

Mensagem de texto recebida (Inbound)

Neste caso, o endpoint do seu webhook recebeu uma mensagem de texto de entrada:
  • Contém o texto sem formatação que o usuário enviou.
  • Contém as informações da mensagem mencionada em context.
  • Para outros tipos de mensagens, consulte whatsappInboundMessage

Requisição

Resposta

Confirme a entrega após aceitar o evento de forma durável.

Explicação

  • Mensagens recebidas (inbound) são aquelas enviadas por clientes para os números de telefone da sua empresa.
  • O context (opcional) contém as informações da mensagem mencionada, normalmente usada para responder a uma mensagem anterior enviada pelo usuário ou pela sua empresa.
    • context.from é o ID do WhatsApp (número de telefone sem o prefixo ’+’) do usuário que enviou a mensagem mencionada.
    • context.id é o ID original da mensagem mencionada na plataforma do WhatsApp, começando com wamid..

Mensagem de texto enviada (Outbound)

Neste caso, o endpoint do seu webhook recebeu uma mensagem de texto enviada por um cliente empresarial para um usuário do WhatsApp com o aplicativo WhatsApp Business ou dispositivo complementar compatível:

Requisição

Resposta

Confirme a entrega após aceitar o evento de forma durável.

Explicação

Roteie o evento por type, desduplique-o por id e transfira tarefas lentas ou propensas a falhas para um processador assíncrono.

Fragmento (chunk) de histórico apenas de progresso

Quando um chunk de histórico da Meta não contém conversas nem erros, o evento ainda informa seus metadados de sincronização. O evento não contém uma carga útil (payload) de mensagem.

Requisição

Resposta

Explicação

Este evento intencionalmente não possui um objeto de mensagem do WhatsApp. Continue acompanhando o progresso e confirme a entrega como em qualquer outro webhook.