> For the complete documentation index, see [llms.txt](https://help.hyperflow.global/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.hyperflow.global/docs/builder-hyperflow/gerenciamento-de-aplicativos/fluxos/controle-de-fluxo/whatsapp-flows-decodificacao-codificacao.md).

# WhatsApp Flows Decodificação/Codificação

O **WhatsApp Flows** é um recurso da Meta que permite criar formulários e telas interativas dentro do WhatsApp. Por exigência de segurança da própria Meta, todos os dados trocados entre o WhatsApp e o seu fluxo são criptografados. O módulo **WhatsApp Flows Decodificação/Codificação** cuida dessa parte técnica: ele decodifica os dados que chegam do WhatsApp Flow, e codifica novamente a resposta antes de devolvê-la, seguindo exatamente o padrão de segurança exigido pela Meta.

**📷 Inserir print:** visão geral do módulo WhatsApp Flows Decodificação/Codificação na área de trabalho do fluxo

***

## 🧭 Como acessar

1. No menu lateral, clique em **Gerenciamento de aplicativos**.
2. Em seguida, clique em **Fluxos**.
3. Abra ou crie um fluxo e acesse a área de trabalho do fluxo.
4. No painel de módulos, localize a categoria **Controle de fluxo**.
5. Arraste o módulo **WhatsApp Flows Decodificação/Codificação** para a área de trabalho do fluxo.

**📷 Inserir print:** painel de módulos com a categoria Controle de fluxo expandida e o módulo visível

{% hint style="warning" %}
**Antes de usar este módulo:** você precisa ter um canal do WhatsApp conectado e configurado com um certificado de criptografia para WhatsApp Flows. Consulte a documentação de configuração do canal do WhatsApp para gerar esse certificado.
{% endhint %}

***

## 🔍 Conhecendo o módulo

Ao clicar duas vezes no módulo na área de trabalho do fluxo, um painel de configuração é aberto na lateral da tela, com duas abas: **Descriptografar** e **Criptografar**.

**📷 Inserir print:** painel de configuração do módulo, com as abas Descriptografar e Criptografar visíveis

{% tabs %}
{% tab title="Descriptografar" %}

### 🔓 Aba Descriptografar

Use esta aba para decodificar os dados que chegam do WhatsApp Flow.

* **Certificado do canal** — mantenha esta opção ativada e selecione o **Canal** do WhatsApp já conectado. O módulo usa automaticamente o certificado de criptografia cadastrado nesse canal.
* **Tipo** — escolha o tipo de dado recebido:
  * **JSON** — para os dados de um formulário/tela preenchida pelo usuário. Preencha os campos **Vetor Inicial**, **Chave AES Criptografada** e **Dados Criptografados** com as variáveis recebidas no gatilho do WhatsApp Flow.
  * **Mídia** — para arquivos (fotos, documentos) enviados pelo usuário em uma tela do Flow. Preencha o campo **Objeto de mídia** com a variável recebida.

{% hint style="warning" %}
A opção de informar a chave privada manualmente (desativando "Certificado do canal") não está funcionando corretamente no momento — use sempre **Certificado do canal** para garantir que a decodificação funcione.
{% endhint %}

**📷 Inserir print:** aba Descriptografar preenchida com o tipo JSON selecionado
{% endtab %}

{% tab title="Criptografar" %}

### 🔒 Aba Criptografar

Use esta aba para codificar a resposta antes de devolvê-la ao WhatsApp Flow.

* **Certificado do canal** — mesma lógica da aba anterior: mantenha ativado e selecione o canal.
* **Vetor Inicial** e **Chave AES Criptografada** — repasse os mesmos valores recebidos na etapa de decodificação (normalmente por variável).
* **Dados Criptografados** — apesar do nome, aqui você informa o **JSON de resposta ainda não criptografado** (por exemplo, a próxima tela do Flow a ser exibida). O módulo se encarrega de criptografar esse conteúdo antes de devolvê-lo.

**📷 Inserir print:** aba Criptografar preenchida com o JSON de resposta
{% endtab %}
{% endtabs %}

### 🔀 Saída do módulo

* **Sucesso** — a decodificação ou codificação foi concluída. O resultado (dados decodificados, ou string codificada pronta para responder à Meta) fica disponível para o próximo módulo.
* **Erro** — algo deu errado (chave inválida, dados corrompidos, formato inesperado). O fluxo segue por essa saída com uma mensagem descrevendo o problema.

**📷 Inserir print:** módulo com as saídas Sucesso e Erro conectadas

***

## 💡 Caso de uso

**Cenário:** um WhatsApp Flow envia os dados de um formulário preenchido pelo cliente, e o fluxo precisa processá-los e responder com a próxima tela.

{% stepper %}
{% step %}

### 1. Capturar os dados do gatilho

No gatilho que recebe o evento do WhatsApp Flow, capture os dados criptografados enviados pela Meta.
{% endstep %}

{% step %}

### 2. Decodificar os dados recebidos

Adicione o módulo **WhatsApp Flows Decodificação/Codificação**, na aba **Descriptografar**, com Tipo **JSON**, usando o Certificado do canal.
{% endstep %}

{% step %}

### 3. Processar a resposta

Use os dados decodificados para processar a resposta do cliente no restante do fluxo.
{% endstep %}

{% step %}

### 4. Criptografar a resposta

Antes de responder à Meta, adicione outro módulo **WhatsApp Flows Decodificação/Codificação**, na aba **Criptografar**, informando o JSON da próxima tela a ser exibida.
{% endstep %}

{% step %}

### 5. Enviar a resposta codificada

Use o resultado codificado como resposta do fluxo.
{% endstep %}
{% endstepper %}

**Resultado:** a troca de dados com o WhatsApp Flow acontece de forma segura, seguindo exatamente o padrão de criptografia exigido pela Meta.

***

## 📌 Dicas úteis

* Sempre use a opção **Certificado do canal** — é o caminho compatível e testado.
* Use o mesmo par de módulos (um para decodificar, outro para codificar) em cada troca de dados com o WhatsApp Flow.
* Guarde o **Vetor Inicial** e a **Chave AES Criptografada** recebidos na decodificação, pois eles precisam ser reutilizados na codificação da resposta.
* Este módulo é técnico e exige conhecimento sobre como o WhatsApp Flow troca dados com o seu fluxo — consulte a documentação da Meta sobre "Endpoint Encryption" para WhatsApp Flows se tiver dúvidas.

***

## 📝 Resumo

* O módulo **WhatsApp Flows Decodificação/Codificação** decodifica dados recebidos e codifica respostas trocadas com um WhatsApp Flow.
* Possui duas abas: **Descriptografar** (dados recebidos, tipo JSON ou Mídia) e **Criptografar** (resposta a ser enviada).
* Use sempre a opção **Certificado do canal** para que a criptografia funcione corretamente.
* Possui saídas separadas de **Sucesso** e **Erro**.
