> 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/resposta/binario.md).

# Binário

## 💾 Módulo Binary

O módulo **Binary** permite que o seu chatbot envie uma resposta estruturada para um sistema externo durante a execução do fluxo. Com ele, você define o código de status da resposta, os cabeçalhos e o conteúdo do corpo — ideal para situações em que o fluxo é acionado por uma requisição externa e precisa devolver dados em formato binário (como arquivos, imagens ou conteúdo bruto não formatado como JSON).

**📷 Inserir print:** visão geral do nó Binary no canvas do Builder

***

### 🗂️ Como acessar

1. No menu lateral, clique em **Aplicativo**.
2. Em seguida, clique em **Fluxos**.
3. Abra o fluxo desejado ou crie um novo.
4. No canvas do Builder, clique no botão **+** para adicionar um novo nó.
5. Localize e selecione **Binary** na lista de módulos disponíveis.

**📷 Inserir print:** lista de módulos com o item "Binary" destacado

{% hint style="warning" %}
**Pré-requisito:** Este módulo é utilizado em fluxos acionados por sistemas externos via requisição HTTP. Certifique-se de que o fluxo está configurado para receber chamadas externas antes de adicionar o módulo Binary.
{% endhint %}

***

### 🧩 Conhecendo o módulo

Ao adicionar o módulo ao fluxo, um painel de configuração é aberto. Nele, você define o código de status da resposta, os cabeçalhos HTTP e o conteúdo do corpo. Todos os campos de texto aceitam variáveis do fluxo, permitindo que a resposta seja montada de forma dinâmica com informações coletadas durante a conversa.

**📷 Inserir print:** painel de configuração do módulo Binary aberto

***

### 🔧 Configurações do módulo

#### 📌 Campos do painel de configuração

| Campo                | O que preencher                                                                                                                                           |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nome do módulo**   | Nome interno para identificar o bloco no fluxo (ex.: `Binary - Resposta de Arquivo`). Visível apenas no canvas do Builder.                                |
| **Código de status** | Informe o código HTTP que indica o resultado da resposta (ex.: `200` para sucesso, `400` para erro de validação). Valor padrão: `200`. Campo obrigatório. |
| **Headers**          | Informe os cabeçalhos da resposta em formato JSON (pares de chave e valor). Aceita variáveis do fluxo.                                                    |
| **Body**             | Informe o conteúdo do corpo da resposta. Aceita variáveis do fluxo para personalização dinâmica.                                                          |

**📷 Inserir print:** painel de configuração com os campos de código de status, Headers e Body preenchidos

{% hint style="info" %}
Os editores de **Headers** e **Body** suportam variáveis do fluxo com a sintaxe `{{nome.da.variavel}}`. Use esse recurso para montar respostas dinâmicas com dados coletados ao longo da conversa, como identificadores, nomes ou URLs de arquivos.
{% endhint %}

***

### ⚙️ Recursos do módulo

#### 1️⃣ Código de status da resposta

**🎯 Propósito**

Indicar ao sistema externo se a requisição foi processada com sucesso ou se ocorreu algum problema, seguindo os padrões de resposta HTTP.

**✅ Como fazer na tela**

1. No campo **Código de status**, digite o número correspondente ao resultado esperado.
   * Use `200` para indicar que o processamento foi concluído com sucesso.
   * Use `400` para sinalizar um erro de validação nos dados recebidos.
   * Use `500` para indicar falha interna no processamento.
2. Clique em **Salvar alterações** para confirmar.

**📷 Inserir print:** campo "Código de status" preenchido com o valor 200

**📌 Resultado esperado**

O sistema externo receberá a resposta com o código de status informado, podendo interpretar o resultado do processamento e agir de acordo.

***

#### 2️⃣ Cabeçalhos da resposta (Headers)

**🎯 Propósito**

Enviar metadados junto com a resposta HTTP, como o tipo de conteúdo, permissões de acesso ou informações de controle que o sistema externo precisa interpretar.

**✅ Como fazer na tela**

1. No editor **Headers**, escreva os cabeçalhos no formato JSON, usando pares de chave e valor. Exemplo:

   ```json
   {
     "Content-Type": "application/octet-stream",
     "Content-Disposition": "attachment; filename=\"arquivo.pdf\""
   }
   ```
2. Para incluir informações dinâmicas, use variáveis do fluxo com a sintaxe `{{nome.da.variavel}}` dentro dos valores.
3. Clique em **Salvar alterações** para confirmar.

**📷 Inserir print:** editor de Headers com exemplo de cabeçalhos configurados

**📌 Resultado esperado**

Os cabeçalhos configurados serão incluídos na resposta enviada ao sistema externo, permitindo que ele identifique corretamente o tipo e as características do conteúdo recebido.

***

#### 3️⃣ Corpo da resposta (Body)

**🎯 Propósito**

Definir o conteúdo principal que será enviado na resposta ao sistema externo — como dados de um arquivo, um identificador de recurso ou qualquer conteúdo em formato binário.

**✅ Como fazer na tela**

1. No editor **Body**, insira o conteúdo do corpo da resposta.
2. Para incluir dados dinâmicos do fluxo, use variáveis com a sintaxe `{{nome.da.variavel}}`. Exemplo:

   ```json
   {
     "arquivo": "{{input.urlArquivo}}",
     "protocolo": "{{input.numeroProtocolo}}"
   }
   ```
3. Clique em **Salvar alterações** para confirmar.

**📷 Inserir print:** editor de Body com conteúdo e variáveis do fluxo inseridas

**📌 Resultado esperado**

O conteúdo configurado no **Body** será enviado como corpo da resposta ao sistema externo no momento em que o módulo for executado no fluxo.

***

### 🔀 Saída do módulo no fluxo

O módulo Binary possui uma saída de continuação do fluxo:

| Saída       | Quando acontece                                                                                      |
| ----------- | ---------------------------------------------------------------------------------------------------- |
| **Próximo** | Caminho opcional que pode ser conectado para continuar a execução do fluxo após o envio da resposta. |

{% hint style="info" %}
A saída **Próximo** é opcional. Se não estiver conectada a nenhum outro módulo, o fluxo será encerrado nesse ponto após o envio da resposta.
{% endhint %}

**📷 Inserir print:** nó Binary no canvas com a saída "Próximo" conectada a um módulo subsequente

***

### 💡 Dicas úteis

* **Nomeie o módulo com clareza:** Use nomes como `Binary - Sucesso` ou `Binary - Arquivo PDF` para facilitar a identificação no canvas quando o fluxo tiver vários módulos do mesmo tipo.
* **Use variáveis nos campos:** Todos os campos aceitam variáveis do fluxo (`{{nome.da.variavel}}`), o que permite montar respostas personalizadas e dinâmicas sem precisar de valores fixos.
* **Defina o tipo de conteúdo nos Headers:** Sempre que possível, informe o cabeçalho `Content-Type` com o tipo correto do conteúdo que está sendo enviado (ex.: `application/octet-stream` para arquivos binários genéricos, `image/png` para imagens PNG).
* **Use junto com caminhos de erro:** Adicione um módulo Binary em cada caminho do fluxo (sucesso e erro), com códigos de status diferentes, para que o sistema externo receba respostas padronizadas em qualquer cenário.
* **Diferença entre Binary e JSON:** Use o módulo **JSON** quando a resposta for um objeto JSON estruturado. Use o módulo **Binary** quando precisar enviar arquivos, dados brutos ou conteúdo em formatos não estruturados como JSON.

***

### 📋 Caso de uso

**Cenário:** Uma empresa usa um chatbot para processar solicitações de documentos enviadas por um sistema de gestão externo. Quando o sistema envia uma requisição ao chatbot, o fluxo processa os dados, gera o documento e responde com o arquivo em formato binário junto com os metadados da solicitação.

**Configuração principal:**

1. **Adicionar o módulo ao fluxo:**
   * No fluxo de processamento de documentos, após o nó que gera o arquivo, adicione o módulo **Binary**.
2. **Configurar o código de status:**
   * No campo **Código de status**, informe `200` para indicar que o processamento foi concluído com sucesso.
3. **Configurar os cabeçalhos:**
   * No editor **Headers**, informe:

     ```json
     {
       "Content-Type": "application/pdf",
       "Content-Disposition": "attachment; filename=\"{{input.nomeDocumento}}.pdf\""
     }
     ```
4. **Configurar o corpo da resposta:**
   * No editor **Body**, informe os dados do documento gerado:

     ```json
     {
       "protocolo": "{{input.numeroProtocolo}}",
       "urlArquivo": "{{input.urlDocumentoGerado}}",
       "dataProcessamento": "{{input.dataAtual}}"
     }
     ```
5. **Conectar a saída:**
   * Conecte a saída **Próximo** ao módulo de encerramento do fluxo, caso seja necessário executar outras ações após o envio da resposta.

**Resultado esperado no fluxo:** Ao final do processamento, o sistema externo recebe automaticamente uma resposta com o código `200`, os cabeçalhos corretos indicando o tipo de arquivo PDF e o corpo com o protocolo e a URL do documento gerado — tudo sem intervenção manual.

***

### ✅ Resumo

* O módulo **Binary** permite que o chatbot envie respostas HTTP estruturadas a sistemas externos, com código de status, cabeçalhos e corpo configurados diretamente no fluxo.
* Os editores de **Headers** e **Body** aceitam variáveis do fluxo com a sintaxe `{{nome.da.variavel}}`, permitindo respostas dinâmicas e personalizadas.
* Use o campo **Código de status** para indicar o resultado do processamento (`200` para sucesso, `400` para erro, etc.) e padronizar a comunicação com o sistema externo.
* Informe o cabeçalho `Content-Type` nos **Headers** para que o sistema externo identifique corretamente o formato do conteúdo recebido.
* A saída **Próximo** é opcional: conecte-a ao próximo módulo para encadear ações após o envio, ou deixe sem conexão para encerrar o fluxo nesse ponto.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.hyperflow.global/docs/builder-hyperflow/gerenciamento-de-aplicativos/fluxos/resposta/binario.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
