Skip to main content
Use um endpoint de Flow quando precisar carregar telas dinamicamente ou processar dados enviados por um usuário do WhatsApp. Configure sua URL pública HTTPS como endpointUri ao criar um Flow ou atualizar seus metadados. Este guia descreve as requisições em JSON simples que a YCloud encaminha para o seu endpoint. Ele não descreve uma conexão direta com o endpoint de dados criptografados da Meta. Consulte Gerenciar WhatsApp Flows para criação, pré-visualização, publicação e gerenciamento do ciclo de vida de Flows.

Antes de começar

  • Disponibilize um endpoint público HTTPS que aceite requisições POST.
  • Retorne o JSON em até 15 segundos.
  • Defina as telas e seus campos de dados no JSON do seu Flow.
  • Gere um flow_token ao enviar a mensagem do Flow para poder correlacionar a interação com a sessão da sua aplicação.
  • Use validação no lado do servidor antes de aceitar os dados enviados.

Fluxo de requisição

  1. O usuário abre ou interage com um Flow no WhatsApp.
  2. A YCloud encaminha uma requisição JSON para o endpoint configurado.
  3. Seu endpoint lê action e processa a requisição.
  4. Sua resposta JSON seleciona uma tela e fornece seus dados, ou conclui o Flow.

Processar uma verificação de integridade (health check)

Um health check contém action: ping:
Retorne:
Mantenha esse caminho leve. Não execute transações de negócio durante um health check.

Processar uma notificação de erro

As notificações de erro incluem data.error e data.error_message. Elas podem usar INIT ou data_exchange como a ação. Verifique a existência desses dados de erro antes de rotear requisições comuns por ação.
Registre o erro para investigação e retorne uma confirmação:

Processar a troca de dados

Processe cada ação de acordo com as telas que você definiu:
O screen deve existir no JSON do seu Flow. Seu esquema de dados declarado deve aceitar os campos em data.

Retornar um erro de validação

Permaneça na tela atual e retorne um campo de erro que sua tela exibe:

Concluir o Flow

Retorne screen: SUCCESS com extension_message_response.params. Inclua o flow_token original e quaisquer campos de resultado adicionais que desejar na mensagem de resposta do Flow.
Isso encerra o Flow e envia uma mensagem de resposta do Flow para a conversa. Analise o resultado a partir do webhook de resposta de Flow recebida.

Exemplo de implementação

Este exemplo em Express processa todas as três categorias de requisição. Faça a correspondência dos IDs de tela e campos de resposta com o seu próprio JSON do Flow. Configure quaisquer controles de acesso ao endpoint utilizados pela sua implantação antes deste manipulador.

Verificar o endpoint

Teste ping, confirmação de erro, INIT sem screen ou data, envios válidos e inválidos, BACK e conclusão com SUCCESS. Verifique o limite de resposta de 15 segundos e confirme se o webhook de conclusão transporta o seu flow_token original. Visualize o Flow antes de publicá-lo.