Saltar para o conteúdo principal

O que é

Inscreva-se em whatsapp.echo_message.created. Você recebe este evento quando a YCloud registra um eco de saída para um Meta Business Agent integrado por meio da Public REST API. Leia o conteúdo no formato de mensagem padrão em whatsappMessage; não use este evento para mensagens de entrada de clientes. O contrato atual mantém o nome do evento inalterado enquanto expõe o eco como uma mensagem padrão do WhatsApp. Campos de agente, handover e roteamento da Inbox não fazem parte deste payload.

Antes de começar

  1. Faça a integração do agente por meio da Public REST API.
  2. Inscreva um endpoint de webhook ativo na mesma conta em whatsapp.echo_message.created.
  3. Verifique o YCloud-Signature em relação ao corpo bruto da requisição, aceite cada evento de forma duradoura e processe-o de maneira idempotente.
Agentes criados pelo console não emitem este webhook de cliente. A sincronização da Inbox deles é um fluxo separado.
Consulte Configurar webhooks para configuração do endpoint.

Como funciona

Todos os exemplos usam identificadores de espaço reservado. Faça o roteamento pelo type externo e leia whatsappMessage, não whatsappMetaBusinessAgent, whatsappEchoMessage ou data. Desduplique entregas repetidas com o id externo. O createTime externo é o horário do evento do webhook; os campos de horário da mensagem aninhados são horários de origem no formato RFC 3339.
  • Use id ou wamid para correlacionar eventos de status posteriores.
  • Leia o texto de text.body. Para mídia, inspecione type e o objeto de conteúdo correspondente. Os IDs de mídia não são URLs públicas de download.
  • O telefone do cliente e o BSUID são independentes. Quando o callback de origem fornece ambos, o evento inclui to junto com recipientUserId ou parentRecipientUserId. Identidades ausentes são omitidas e não são inferidas umas das outras.
  • from é o número de telefone de exibição da empresa quando o callback de origem fornece um número de telefone válido. Ele não é derivado de phoneNumberId.
  • O contexto de resposta é normalizado para o contrato padrão de mensagem. Por exemplo, a origem context.id é exposta como context.message_id.
  • Campos de agente, handover, roteamento, preços e conversa não são incluídos.
  • status é o status armazenado quando o eco é processado; não há garantia de que seja sent.
  • Mensagens de entrada de clientes usam whatsapp.inbound_message.received. Ecos do aplicativo comercial usam whatsapp.smb.message.echoes.

Requisição

A YCloud envia estes corpos JSON em requisições HTTP POST para o URL de Webhook configurado.

Resposta

Retorne uma resposta 2xx após aceitar cada evento de forma duradoura. Processe tarefas lentas de forma assíncrona.

Eco de texto de saída

Requisição

Armazene o texto de whatsappMessage.text.body. id e wamid vinculam eventos de status subsequentes.

Resposta

Explicação

Leia o texto ecoado de whatsappMessage.text.body. Use id ou wamid para correlacionar eventos de status posteriores.

Eco de imagem de saída

Requisição

O conteúdo da mensagem varia de acordo com o tipo. Trate os IDs de mídia como referências do provedor, não como URLs públicas de download.

Resposta

Explicação

Use type para selecionar o objeto de conteúdo correspondente. Trate o id de mídia como uma referência do provedor.

Exemplos relacionados