# QR-код і штрихкод: генерація та розпізнавання

## Генерація QR-коду

Щоб згенерувати код, потрібно використати функцію <https://store.mavibot.ai/function/qrcode\\_generator&#x20>;

#### Параметри:&#x20;

**text\_for\_qr** - текст, який потрібно закодувати \
**api\_key** - ключ доступу API з налаштувань проєкту

![Ви можете згенерувати код у налаштуваннях проєкту](https://lh6.googleusercontent.com/G3P9JaFTZGHPGvVwzzehQy0mdgSHib6jodk5ABNL426isLQtkDmfduUrAmufT2ExI9ecJXPlTGdhywYGP5X6oGxTTu_QbsqTIE1A9RE4Qr5kVQIpkR8O3mL0-NTKuasuf2o73Kga_LD6s_hc7w)

{% hint style="info" %}
Змініть #{api\_key} на токен із налаштувань
{% endhint %}

#### Приклад:

У полі "URL request" вставте: <https://store.mavibot.ai/function/qrcode\\_generator>

У полі "Stored values" вставте змінні, які ви хочете зберегти (потрібна URL-адреса є в *qr\_image\_url*):

*status->status;*&#x20;

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

У "JSON parameters" введіть

*{"text\_for\_qr":"Текст для кодування","api\_key":"8629fe13ba9efebefd27a7afd701767f"}*

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

Функція повертає json із параметрами *status* та *qr\_image\_url*

![Отриманий вами QR-код](https://lh6.googleusercontent.com/eSuVmN8FWyY6t7zXmyghnfXLbSy4S5u_Di4oryW3beBhQNZVXLXMPdve7wpx3fvqmbvYAL8J3XWn4gNff9R5pVFp04OjhgOqfJnS-kbC_kZnCV6iPO2JlJeL11TYUJ-mRij7eWVllrLlGeRZsA)

## Генерація штрихкоду

Щоб згенерувати код, потрібно використати функцію <https://store.mavibot.ai/function/barcode\\_generator&#x20>;

#### Параметри:&#x20;

**text\_for\_qr** - текст, який потрібно закодувати \
**api\_key** - ключ доступу API з налаштувань проєкту

![Ви можете згенерувати ключ доступу API в налаштуваннях проєкту](https://lh5.googleusercontent.com/cWMoOIdWMMRt6-EDnJvQXFRSsEZaTJNUnXZwcVBrBUmK19nZ_coUel3BXdrxT1sBn6L5qitVUu1-xbYuks6qsC8mxsEUGJ1u6ctNoYkFQaoLRLO4X32XupBFtVDxKuMSIY6G-Wsj_VcMqVrZPA)

**class** - клас коду, який потрібно згенерувати. За замовчуванням це ea13. Може приймати такі значення: *'code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin', 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca'*

**without\_text** - (необов’язковий параметр) якщо ви вкажете будь-яке значення, штрихкод буде відображатися без тексту, як показано на зображенні нижче.

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

{% hint style="info" %}
Змініть #{api\_key} на токен із налаштувань
{% endhint %}

Приклад: *{"text":"#{barcode}","api\_key":"#{api\_key}", "class": "ean13"}*&#x20;

Функція повертає json із параметрами *status* та *qr\_image\_url* якщо успішно та *error\_message* якщо неуспішно

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

{% hint style="info" %}
Приклад тексту зберігається у змінній barcode, а змінна image\_url використовується, щоб відправити його як зображення.
{% endhint %}

![Приклад запиту без тексту](https://lh6.googleusercontent.com/LOJir5XWjFLkuValhnA6WDmsDIDfXS_RZ-dtSuuN5ZJBrnTdSPmXU1SqtVcKab6yEpsLi-ZsuIRQhjbZuM3XJt9HuGf7bd_stOygSXYLPh2FJFoxEONy9ZZJOmR_R1X-nsHBdFk47_FFo_lFpA)

## Розпізнавання штрихкоду з зображення

Ви можете використати це для створення бота, який сканує коди товарів. Корисна особливість полягає в тому, що він також може сканувати QR-коди.

Адреса функції, яка розпізнає штрихкод на зображенні: <https://store.mavibot.ai/function/cv2barcode&#x20>;

Щоб відсканувати зображення, потрібно надіслати ці параметри з блоку:

*{"photo":"посилання на штрихкод/QR-код або змінна з посиланням","api\_key":"ключ доступу api з налаштувань"}*

Наприклад, щоб надіслати зображення на сканування, потрібно надіслати такі параметри:

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

У стрілці в полі "User enters data" введіть змінну #{attachments}.

Приклад коду:

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

`фото` це посилання на зображення штрихкоду; у нашому випадку це змінна, яка містить посилання на зображення, надіслане боту.

Наступний параметр — **api\_key** - ключ доступу API з налаштувань проєкту

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

Функція працює так:

Клієнт надсилає зображення штрихкоду, функція сканує його і, якщо успішно, повертає номер штрихкоду зі статусом операції, встановленим на "ok."

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

Статус сканування може бути таким:

* **ok** — штрихкод було розпізнано
* **штрихкод не розпізнано** — як і випливає з назви, штрихкод не вдалося розпізнати
* **помилка читання зображення** — сталася помилка під час читання зображення
* **помилка підписки** — ця функція недоступна у вашому поточному тарифному плані

Змінну status можна використовувати як умову на стрілці, щоб направити клієнта до відповідного блоку.

Наприклад, якщо умова стрілки перевіряє, чи дорівнює status значенню “barcode not recognized”, ви можете показати повідомлення "Код не було розпізнано, спробуйте ще раз" і попросити клієнта надіслати фото ще раз.


---

# 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/uk/osoblivi-mozhlivosti/qr-kod-i-shtrikhkod-generaciya-ta-rozpiznavannya.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.
