> 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/integracao/qrcode-codigo-de-barras.md).

# QRCode/Código de barras

## 🔲 Módulo QRCode/Barcode

O módulo **QRCode/Barcode** permite que o seu chatbot gere imagens de QR codes e códigos de barras durante um fluxo de conversa. Com ele, você informa o conteúdo a ser codificado, escolhe o formato desejado entre mais de 120 tipos disponíveis e, se necessário, ajusta opções avançadas de codificação. O resultado é uma imagem em formato base64 que pode ser usada nas próximas etapas do fluxo.

<figure><img src="/files/mD44fUEXiNXQElKzmWi5" alt=""><figcaption><p>Imagem 1 - Visão geral do nó QRCode/Barcode no canvas do Hyperflow Integrações.</p></figcaption></figure>

***

### 🗂️ 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 **QRCode/barcode to image** na lista de módulos disponíveis.

<figure><img src="/files/UpKWeoFYBp4jbTm07JFD" alt=""><figcaption><p>Imagem 2 - Lista de módulos com o item "QRCode/barcode to image" destacado.</p></figcaption></figure>

***

### 🧩 Conhecendo o módulo

Ao adicionar o módulo ao fluxo, um painel de configuração é aberto. Nele, você escolhe o tipo de código (QR code, Code 128, EAN, PDF417, entre outros), informa o conteúdo a ser codificado — que pode usar variáveis do fluxo — e, opcionalmente, define opções avançadas de geração em formato JSON.

<figure><img src="/files/RBS4px7sF5dzEbTcln9b" alt=""><figcaption><p>Imagem 3 - Painel de configuração do módulo QRCode/Barcode aberto.</p></figcaption></figure>

***

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

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

| Campo                | O que preencher                                                                                                                                                           |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tipo**             | Selecione o formato do código a ser gerado (ex.: QR Code, Code 128, EAN-13, PDF417). Obrigatório.                                                                         |
| **Conteúdo**         | Informe o dado que será codificado na imagem (ex.: uma URL, um número de produto, um texto). Aceita variáveis do fluxo com a sintaxe `{{nome.da.variavel}}`. Obrigatório. |
| **Opções avançadas** | Seção expansível com um editor JSON para configurações adicionais de geração do código. Opcional.                                                                         |

<figure><img src="/files/xG5wE6NIZemff4JMu8k6" alt=""><figcaption><p>Imagem 4 - Painel de configuração com os campos "Tipo" e "Conteúdo" preenchidos.</p></figcaption></figure>

***

### ⚙️ Recursos do módulo

#### 1️⃣ Escolha do tipo de código

**🎯 Propósito**

Definir o formato do código de barras ou QR code que será gerado. O módulo suporta mais de 120 formatos diferentes, desde QR codes comuns até padrões industriais, postais e de saúde.

**✅ Como fazer na tela**

1. No campo **Tipo**, clique para abrir a lista de opções.
2. Navegue pelas opções ou digite parte do nome para filtrar.
3. Clique no formato desejado para selecioná-lo.

<figure><img src="/files/0O5zkx7UY9Ap2GKh3Vbv" alt=""><figcaption><p>Imagem 5 - Campo "Tipo" aberto com a lista de formatos disponíveis.</p></figcaption></figure>

**📌 Resultado esperado**

O formato selecionado aparece no campo. O módulo usará esse formato para gerar a imagem ao executar o fluxo.

{% hint style="info" %}
**Principais formatos disponíveis por categoria:**

* **QR Codes:** QR Code, Micro QR Code, GS1 QR Code, Swiss QR Code
* **Códigos lineares comuns:** Code 128, Code 39, Code 93, Code 25, Interleaved 2 of 5, ITF-14
* **EAN / ISBN:** EAN-8, EAN-13, EAN-14, ISBN, ISSN, ISMN
* **PDF417:** PDF417, Compact PDF417, MicroPDF417
* **Data Matrix:** Data Matrix, Data Matrix Rectangular e variantes GS1
* **Postais:** USPS POSTNET, USPS PLANET, Royal Mail, Japan Post, AusPost, KIX
* **Outros:** Aztec Code, MaxiCode, DotCode, Han Xin Code, Ultracode, Channel Code e mais
  {% endhint %}

***

#### 2️⃣ Conteúdo a codificar

**🎯 Propósito**

Informar o dado que o módulo vai transformar em imagem. Pode ser um texto fixo, um número, uma URL ou qualquer informação coletada durante a conversa — tudo usando variáveis do fluxo.

**✅ Como fazer na tela**

1. Clique no campo **Conteúdo**.
2. Digite o valor que deseja codificar (ex.: `https://meusite.com/pedido/123`).
3. Para usar um dado coletado na conversa, escreva o nome da variável no formato `{{nome.da.variavel}}` (ex.: `{{input.codigoProduto}}`).

<figure><img src="/files/20kcfTP2rCkZx4mpj1OW" alt=""><figcaption><p>Imagem 6 - Campo "Conteúdo" preenchido com uma variável do fluxo.</p></figcaption></figure>

**📌 Resultado esperado**

O conteúdo configurado será codificado no momento em que o fluxo passar por este módulo. Variáveis serão substituídas pelos valores reais da conversa antes da geração da imagem.

***

#### 3️⃣ Opções avançadas

**🎯 Propósito**

Personalizar parâmetros de geração do código que vão além da configuração básica, como nível de correção de erro, escala, margens, cores e outros atributos suportados pelo formato escolhido.

**✅ Como fazer na tela**

1. Clique na seção **Opções avançadas** para expandi-la.
2. No editor que aparece, insira as opções no formato JSON.
3. O editor oferece sugestão automática de propriedades. Comece digitando `{` e use as sugestões para preencher os atributos desejados.

<figure><img src="/files/3PfIFeDfT155yQHW8gTS" alt=""><figcaption><p>Imagem 7 - Seção "Opções avançadas" expandida com o editor JSON visível.</p></figcaption></figure>

**📌 Resultado esperado**

As opções configuradas serão aplicadas na geração do código. Se nenhuma opção for informada, o módulo usa os valores padrão do formato escolhido.

{% hint style="warning" %}
As opções disponíveis variam conforme o tipo de código selecionado. Consulte a documentação do formato específico para saber quais parâmetros são aceitos.
{% endhint %}

***

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

O módulo QRCode/Barcode possui duas saídas para controlar o que acontece após a tentativa de geração da imagem:

| Saída    | Quando acontece                                                                                                                                          |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **OK**   | O código foi gerado com sucesso. A imagem em base64 fica disponível como variável para os próximos nós do fluxo.                                         |
| **ERRO** | Ocorreu um erro na geração (ex.: conteúdo inválido para o formato escolhido, opções incorretas). Use esta saída para tratar o erro e informar o usuário. |

<figure><img src="/files/X3KQWXwky2xpZ1BeKLbW" alt=""><figcaption><p>Imagem 8 - Nó QRCode/Barcode no canvas com as saídas "OK" e "ERR" conectadas a nós subsequentes.</p></figcaption></figure>

{% hint style="info" %}
Conecte sempre a saída **ERRO** a um nó de mensagem ou de tratamento de falha para que o fluxo não encerre de forma abrupta em caso de problema na geração.
{% endhint %}

***

### 💡 Dicas úteis

* **Use variáveis no conteúdo:** Com `{{nome.da.variavel}}`, você pode gerar códigos dinamicamente com dados da conversa — número de pedido, CPF, código de rastreio, URL personalizada, etc.
* **Formato base64:** A imagem gerada fica disponível como uma string em base64. Para exibi-la ou enviá-la ao usuário, encaminhe essa variável para um nó de envio de imagem ou arquivo nos próximos passos do fluxo.
* **Verifique a compatibilidade:** Nem todo conteúdo é compatível com todos os formatos. Por exemplo, o EAN-13 aceita apenas 13 dígitos numéricos. Se a saída **ERRO** for ativada com frequência, confira se o conteúdo está no formato esperado pelo tipo selecionado.
* **Opções avançadas são opcionais:** Para a maioria dos usos, deixar as opções avançadas em branco já produz um resultado válido. Use-as apenas quando precisar de controle fino sobre a aparência ou o padrão do código gerado.
* **Pré-visualize antes de publicar:** Teste o fluxo com valores reais para garantir que o código gerado está legível e correto antes de colocar em produção.

***

### 📋 Caso de uso

**Cenário:** Uma loja online usa um chatbot para confirmar pedidos. Ao final de cada compra, o bot gera automaticamente um QR code com o número do pedido e o envia ao cliente pelo chat, permitindo que ele apresente o código para retirada ou rastreamento.

**Configuração principal:**

1. **Adicionar o módulo ao fluxo:**
   * No fluxo de confirmação de pedido, após o nó que registra a compra, adicione o módulo **QRCode/Barcode**.
2. **Configurar o tipo:**
   * No campo **Tipo**, selecione **QR Code**.
3. **Configurar o conteúdo:**
   * No campo **Conteúdo**, insira a variável com o número do pedido:

     ```
     {{input.numeroPedido}}
     ```
4. **Configurar as saídas:**
   * Conecte a saída **OK** a um nó de envio de imagem, passando a variável de resultado (base64) para exibir o QR code ao cliente no chat.
   * Conecte a saída **ERRO** a um nó de mensagem informando que houve um problema e pedindo para o cliente tentar novamente.

**Resultado esperado no fluxo:** Ao finalizar a compra, o cliente recebe no chat um QR code gerado automaticamente com o número do pedido, pronto para ser escaneado na retirada ou no balcão de atendimento — sem nenhuma interação manual da equipe.

***

### ✅ Resumo

* O módulo **QRCode/Barcode** gera imagens de QR codes e códigos de barras em formato base64 diretamente em fluxos de chatbot.
* O campo **Tipo** oferece mais de 120 formatos diferentes, incluindo QR Code, Code 128, EAN, PDF417, Data Matrix, códigos postais e muito mais.
* O campo **Conteúdo** aceita texto fixo e **variáveis do fluxo** com a sintaxe `{{nome.da.variavel}}`, permitindo gerar códigos dinâmicos com dados da conversa.
* A seção **Opções avançadas** (opcional) permite personalizar a geração via JSON para controle fino sobre aparência e padrão do código.
* O módulo possui duas saídas: **OK** (geração bem-sucedida) e **ERRO** (falha na geração), permitindo tratar ambos os cenários no fluxo.
