> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WhatsApp Flows

> Use telas estruturadas dentro do WhatsApp para formulários, agendamentos e outras tarefas do cliente em várias etapas.

O WhatsApp Flows permite que os clientes concluam tarefas estruturadas dentro do WhatsApp, como escolher um agendamento, enviar uma solicitação ou responder a um questionário rápido.

<Frame caption="Meta example: a message opens a multi-screen Flow for product preferences and selection. This illustrates the customer experience, not YCloud's Flow editor.">
  <img src="https://mintcdn.com/lchnan/3gBf_HfRdWRqXdyx/images/whatsapp-platform/meta-flows-screens.png?fit=max&auto=format&n=3gBf_HfRdWRqXdyx&q=85&s=589ee9b95bca5a27acc2a16e9c3d1779" alt="Exemplo da Meta de telas do WhatsApp Flow, desde o botão de mensagem até as preferências e seleção do produto e a mensagem de acompanhamento." className="bg-white" width="1780" height="640" data-path="images/whatsapp-platform/meta-flows-screens.png" />
</Frame>

Fonte: [Exemplo oficial da Meta](https://developers.facebook.com/docs/whatsapp/flows/introduction/).

## Entenda os elementos fundamentais

Um Flow pertence a uma WABA. Sua definição descreve telas, campos de entrada, navegação e comportamento de conclusão.

Alguns Flows usam dados fornecidos quando a mensagem é enviada. Outros precisam de um endpoint de dados para recuperar informações atuais ou processar seleções durante a interação.

Por exemplo, um Flow de agendamento pode coletar o serviço, a data de preferência e os detalhes de contato. Se precisar exibir disponibilidade em tempo real, o endpoint e seu sistema de agendamento devem coordenar esses dados.

A Meta disponibiliza [guias de Flows](https://developers.facebook.com/docs/whatsapp/flows/guides/) para design de telas, integração de endpoints, criptografia, testes e monitoramento de integridade.

## Um Flow e seu convite são separados

Você envia uma mensagem que abre o Flow:

* Use uma mensagem interativa de Flow suportada dentro de uma janela de atendimento aberta.
* Use um modelo aprovado com um botão de Flow quando um modelo for obrigatório.

A finalidade do Flow não determina automaticamente a categoria do modelo. Um convite promocional e uma atualização de agendamento podem abrir um formulário, mas exigir tratamento de modelo diferente.

Consulte [Componentes e formatos de modelo](/pt/documentation/whatsapp-business-platform/messaging/message-templates/template-components-and-formats) e [Mensagens de serviço](/pt/documentation/whatsapp-business-platform/messaging/service-messages).

## Criar, testar e publicar

O [guia da API de Flows](/pt/api-reference/guides/whatsapp-platform/manage-whatsapp-flows) da YCloud aborda a criação, recuperação, atualização, pré-visualização, publicação e descontinuação de Flows.

Mantenha o trabalho em rascunho enquanto valida a estrutura e testa a jornada do cliente. A publicação é um limite de ciclo de vida; planeje uma versão de substituição ao alterar uma experiência em produção e verifique as regras atuais da API antes de tentar uma alteração direta.

Teste:

* Campos obrigatórios e entradas inválidas.
* Navegação para voltar e abandono.
* Erros de endpoint ou agendamentos indisponíveis.
* Envios duplicados.
* Mensagens de conclusão e a próxima ação de negócios.

Um Flow concluído não é automaticamente um agendamento confirmado, pedido pago ou solicitação aprovada. O seu sistema de negócios precisa validar e concluir essa ação.

## Exemplo: uma solicitação de agendamento

Uma primeira versão útil tem três telas:

| Tela | O cliente fornece | Seu sistema verifica |
| - | - | - |
| Serviço | Um serviço e local. | O local oferece esse serviço. |
| Agendamento | Uma data e horário de preferência. | O horário ainda existe e pode ser reservado. |
| Revisão | Detalhes de contato e confirmação. | Campos obrigatórios, solicitações duplicadas e o resultado final do agendamento. |

Use um Flow estático se você apenas coletar um horário de preferência para um atendente confirmar mais tarde. Use um Flow integrado a endpoint se as opções disponíveis precisarem mudar com o estoque em tempo real. Não exiba uma lista estática como disponibilidade garantida.

Escreva a tela de conclusão de acordo com o resultado. “Solicitação recebida” é apropriado quando a equipe ainda precisa confirmar; “Agendamento confirmado” requer reserva bem-sucedida em seu sistema de agendamento.

## Mantenha os identificadores separados

* O **Flow ID** identifica o formulário reutilizável.
* O **ID da mensagem** identifica um convite e seu envio.
* Um **token de Flow**, quando fornecido pela sua integração, associa a interação ao contexto do seu negócio.
* O seu **ID de agendamento ou solicitação** identifica o registro de negócios resultante.

Um token deve ser uma referência opaca, não uma senha ou informações pessoais do cliente. Valide os valores enviados no seu servidor mesmo que o formulário restrinja as opções disponíveis.

## Diagnostique a etapa correta

| Sintoma | Verifique primeiro |
| - | - |
| Convite rejeitado antes da entrega | Janela de envio, aprovação do modelo, valores de parâmetros e acesso do remetente. |
| A mensagem chega, mas o formulário não abre | Status do Flow, o Flow e a tela referenciados e a compatibilidade do cliente. |
| Uma tela posterior não carrega | Disponibilidade do endpoint, configuração de criptografia e os dados retornados para essa transição. |
| O envio aparece, mas nenhum agendamento existe | Processamento de conclusão, validação e resposta do seu sistema de negócios. |
| Aparecem dois agendamentos | Tratamento de eventos duplicados e se o processamento do envio é idempotente. |

Essas verificações evitam que um problema de entrega seja confundido com um problema de formulário ou agendamento.

## Trate os dados com cuidado

Colete apenas as informações necessárias. Explique seu uso e forneça informações de privacidade relevantes.

Para Flows alimentados por endpoint, siga os requisitos de criptografia e endpoint da Meta. Mantenha segredos fora do JSON do Flow e de pré-visualizações públicas. Use dados sintéticos para testes.

Salve e processe envios no contexto correto do cliente. Projete o tratamento de duplicidades para que um envio repetido não crie dois agendamentos ou cobranças.

## Continuar no YCloud

* [Gerenciar Flows pela API](/pt/api-reference/guides/whatsapp-platform/manage-whatsapp-flows)
* [Criar um Flow](/pt/documentation/whatsapp-business-platform/more-whatsapp-features/whatsapp-flows/create-a-whatsapp-flow)
* [Enviar um Flow](/pt/documentation/whatsapp-business-platform/more-whatsapp-features/whatsapp-flows/send-a-whatsapp-flow)
* [Revisar envios de Flows](/pt/documentation/whatsapp-business-platform/more-whatsapp-features/whatsapp-flows/review-whatsapp-flow-submissions)

Mantenha a entrega do Flow, o envio do formulário e o resultado de negócios como métricas separadas.

## Perguntas frequentes

<AccordionGroup>
  <Accordion title="Preciso de um endpoint de backend para cada Flow?">
    Não. Um Flow estático pode coletar seleções ou informações sem buscar dados em tempo real a cada tela. Use um endpoint quando opções ou validações dependerem de sistemas atuais, como horários de agendamento disponíveis. Você ainda precisará decidir para onde as respostas concluídas vão e quem atuará sobre elas.
  </Accordion>

  <Accordion title="O cliente enviou o formulário. Posso enviar uma mensagem de confirmação de agendamento imediatamente?">
    Apenas se o seu sistema de agendamento reservou o horário com sucesso. Um formulário preenchido pode ser uma solicitação em vez de um agendamento confirmado. Use um ID de solicitação, valide a disponibilidade, trate envios duplicados e certifique-se de que o texto de confirmação corresponda ao resultado real.
  </Accordion>

  <Accordion title="Posso usar o mesmo Flow para respostas de atendimento e abordagens proativas?">
    O formulário e o convite dele são coisas separadas. Use uma mensagem interativa de Flow qualificada durante a janela de atendimento ou um modelo aprovado com um botão de Flow quando um modelo for necessário. A finalidade real do convite determina sua categoria; anexar um formulário não transforma uma mensagem promocional em utilidade.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.