# Código QR e código de barras: geração e reconhecimento

## Geração de QR code

Para gerar um código, você precisa usar a função <https://store.mavibot.ai/function/qrcode\\_generator&#x20>;

#### Parâmetros:&#x20;

**text\_for\_qr** - texto que precisa ser codificado \
**api\_key** - chave de acesso da API nas configurações do projeto

![Você pode gerar um código nas configurações do projeto](https://lh6.googleusercontent.com/G3P9JaFTZGHPGvVwzzehQy0mdgSHib6jodk5ABNL426isLQtkDmfduUrAmufT2ExI9ecJXPlTGdhywYGP5X6oGxTTu_QbsqTIE1A9RE4Qr5kVQIpkR8O3mL0-NTKuasuf2o73Kga_LD6s_hc7w)

{% hint style="info" %}
Altere #{api\_key} para o token das configurações
{% endhint %}

#### Exemplo:

No campo "URL request" cole: <https://store.mavibot.ai/function/qrcode\\_generator>

No campo "Stored values" cole as variáveis que você quer salvar (a URL necessária está em *qr\_image\_url*):

*status->status;*&#x20;

*qr\_image\_url->qr\_image\_url*

Em "JSON parameters" digite

*{"text\_for\_qr":"Texto para codificação","api\_key":"8629fe13ba9efebefd27a7afd701767f"}*

<figure><img src="/files/efed0cba2920b7f5ea17dbfcacad14728aa326d6" alt="" width="563"><figcaption></figcaption></figure>

A função retorna json com os parâmetros *status* e *qr\_image\_url*

![O QR code que você obtém](https://lh6.googleusercontent.com/eSuVmN8FWyY6t7zXmyghnfXLbSy4S5u_Di4oryW3beBhQNZVXLXMPdve7wpx3fvqmbvYAL8J3XWn4gNff9R5pVFp04OjhgOqfJnS-kbC_kZnCV6iPO2JlJeL11TYUJ-mRij7eWVllrLlGeRZsA)

## Geração de código de barras

Para gerar um código, você precisa usar a função <https://store.mavibot.ai/function/barcode\\_generator&#x20>;

#### Parâmetros:&#x20;

**text\_for\_qr** - texto que precisa ser codificado \
**api\_key** - chave de acesso da API nas configurações do projeto

![Você pode gerar uma chave de acesso à API nas configurações do projeto](https://lh5.googleusercontent.com/cWMoOIdWMMRt6-EDnJvQXFRSsEZaTJNUnXZwcVBrBUmK19nZ_coUel3BXdrxT1sBn6L5qitVUu1-xbYuks6qsC8mxsEUGJ1u6ctNoYkFQaoLRLO4X32XupBFtVDxKuMSIY6G-Wsj_VcMqVrZPA)

**classe** - a classe de código que você precisa gerar. Por padrão, é ea13. Pode receber estes valores: *'code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin', 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca'*

**sem\_texto** - (um parâmetro opcional) se você fornecê-lo com qualquer valor, o código de barras será exibido sem o texto, como mostrado na imagem abaixo.

![](https://lh5.googleusercontent.com/VXAHILxb5iktDtp4u8t6DzuQ3mfCWi-UX-XuPQ_cuSd9lvQTMEMgrcH8q7ZuqnJjRsHT5czWg_ra1RGxAVSm7OJe3nQeSI5Yu5zrvSQSxBBNB6wR-zzfuy9XEVRxTBlyv41nvKk8aaxt0fUJrQ)

{% hint style="info" %}
Altere #{api\_key} para o token das configurações
{% endhint %}

Exemplo: *{"text":"#{barcode}","api\_key":"#{api\_key}", "class": "ean13"}*&#x20;

A função retorna json com os parâmetros *status* e *qr\_image\_url* se tiver sucesso e *mensagem\_de\_erro* se não tiver sucesso

![](https://lh5.googleusercontent.com/d5iQRmdgfMrKI5_lnMzriTnyMcWm_slw4Mj5kArjxkOcGJzm5OIlRflLzqrwOe8OUdwyVl12fHC5yWQAs26g6cWuMTJoreO3cIE4HBFbBKrgZvrykg8onW4xZBIMaBGtUkhUbvXmVQLDJ-MaJw)

{% hint style="info" %}
O texto de exemplo é armazenado na variável barcode, e a variável image\_url é usada para enviá-lo como uma imagem.
{% endhint %}

![Um exemplo da solicitação sem texto](https://lh6.googleusercontent.com/LOJir5XWjFLkuValhnA6WDmsDIDfXS_RZ-dtSuuN5ZJBrnTdSPmXU1SqtVcKab6yEpsLi-ZsuIRQhjbZuM3XJt9HuGf7bd_stOygSXYLPh2FJFoxEONy9ZZJOmR_R1X-nsHBdFk47_FFo_lFpA)

## Reconhecimento de código de barras a partir de uma imagem

Você pode usar isso para criar um bot que lê códigos de produtos. Um recurso útil é o fato de que ele também pode ler QR codes.

O endereço da função que reconhece um código de barras em uma imagem é <https://store.mavibot.ai/function/cv2barcode&#x20>;

Para escanear uma imagem, você precisa enviar estes parâmetros do bloco:

*{"photo":"o link para o código de barras/QR code ou a variável com o link","api\_key":"chave de acesso da API nas configurações"}*

Por exemplo, para enviar uma imagem para escaneamento, você precisa enviar estes parâmetros:

![](https://lh6.googleusercontent.com/xbJz5HRo4PX_phHU5OW0j9GGANrH6sconYSdOwIW7iE-BtJwYibjv3DMZ0-UqebJaZ54TrCxH2sCFxcF3mEMEQFqdWDj4OHIf9_D5lmKn47Ye3rQ7cd6wZO6bPFfTm6OIbe90qUFBC_CYPCPgA)

Na seta no campo "User enters data" insira a variável #{attachments}.

Exemplo de código:

`{"photo":"#{attachments}","api_key":"8629fe13ba9efebefd27a7afd701767f"}`&#x20;

`foto` é o link para a imagem do código de barras; no nosso caso, é a variável que contém o link para a imagem enviada ao bot.

O próximo parâmetro é **api\_key** - chave de acesso da API nas configurações do projeto

![](https://lh6.googleusercontent.com/acBPr_Z1ewC3iC32xGYyy-l1LItVnkfdtIByxUYCbujBANi7KTfcce9mnBMl9jA4foxKv6Z75dp7fCiNBVFOKVE60EFOnhdrh2wH_eEDesvWQTO-mDYVUXCxeZTHoLv4p8RHhrr0qhhXnMmOqQ)

A função funciona assim:

O cliente envia uma foto do código de barras, a função a escaneia e, se tiver sucesso, retorna o número do código de barras com o status da operação definido como "ok".

barcode -> "4500000000567" status -> "ok"

O status da leitura pode ser:

* **ok** — o código de barras foi reconhecido
* **código de barras não reconhecido** — como o nome sugere, o código de barras não pôde ser reconhecido
* **erro na leitura da imagem** — houve um erro ao ler a imagem
* **erro de assinatura** — este recurso não está disponível no seu plano de assinatura atual

A variável status pode ser usada como condição em uma seta para direcionar o cliente ao bloco apropriado.

Por exemplo, se a condição de uma seta verificar se status é igual a "código de barras não reconhecido", você pode exibir a mensagem "O código não foi reconhecido, por favor tente novamente" e solicitar que o cliente envie a foto novamente.


---

# Agent Instructions: 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:

```
GET https://docs.mavibot.ai/doc/pt/recursos-especiais/codigo-qr-e-codigo-de-barras-geracao-e-reconhecimento.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
