Посібник із API QR-кодів для розробників
API QR-кодів дозволяє користувачам програмно створювати високоякісні QR-коди або інтегрувати швидке створення великої кількості QR-кодів. Це забезпечує простий та ефективний спосіб створення QR-кодів для різних випадків використання, таких як автоматизовані платежі, інтеграція в додатки, створення етикеток для товарів тощо. API підтримує різноманітні варіанти налаштування, включаючи розмір, колір, форму, рамку, тип тощо. Розробники можуть інтегрувати його у свої додатки, надсилаючи HTTP-запити та використовуючи API-ключ для автентифікації або наші бібліотеки.
API-ключ
Ключ API для вашого облікового запису можна створити на сторінці облікового запису. Ключ API може бути включений у запити як параметр URL, наприклад: https://api.genqrcode.com/public/generate?apikey=YOUR_API_KEY, або в заголовку `GenQRCode-apikey`. У решті цього посібника ми будемо припускати використання заголовка, оскільки це безпечніший варіант, але обидва методи можуть використовуватися взаємозамінно. Ключ API слід вважати секретним, і ви не повинні ділитися ним з ким-небудь.
Обмеження швидкості запитів
Обмеження швидкості запитів запроваджене для забезпечення справедливого використання API. Безкоштовний тарифний план включає 180 токенів на годину. Створення звичайного QR-коду коштує 1 токен, з максимальною межею в 180 токенів на годину, що дорівнює 1 QR-коду кожні 20 секунд. Крім того, швидкі ендпоінти коштують 1/50 токена, що дозволяє генерувати 2,5 QR-коди в секунду. Швидкі ендпоінти рекомендуються для випадків, коли налаштування QR-коду не потрібне. Якщо ліміт токенів перевищено, повертається статус-код 429, що вказує на обмеження швидкості запитів.
Використання кількох облікових записів для обходу цих обмежень заборонено. Якщо потрібні вищі ліміти, зв’яжіться з нами для обговорення тарифів.
Бібліотеки
API статичних QR-кодів
Типи QR-кодів
Тип QR-коду визначає, як дані будуть закодовані та як QR-код поводитиметься при скануванні. Вибір правильного типу є важливим, оскільки він впливає на функціональність вашого QR-коду. Нижче наведено всі доступні типи.
Text
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 0 For a Text QR Code |
| text | String | false | Текст усередині QR-коду. |
WiFi
| Параметр | Тип | Необов’язково | Опис | ||||||
|---|---|---|---|---|---|---|---|---|---|
| type | Int | false | Use 1 For a WiFi QR Code | ||||||
| network | String | false | Назва Wi-Fi мережі. | ||||||
| password | String | true | Пароль Wi-Fi. | ||||||
| hidden | String | true | Чи є Wi-Fi мережа прихованою. | ||||||
| encryption | String | true |
Тип шифрування Wi-Fi мережі.
Можливі значення
|
SMS
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 2 For a SMS QR Code |
| text | String | false | Текстове повідомлення. |
| number | String | false | Номер телефону. |
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 3 For a Email QR Code |
| String | true | Адреса електронної пошти у полі "Кому". | |
| email-cc | String | true | Адреса електронної пошти в полі «Копія». |
| email-bcc | String | true | Адреса електронної пошти в полі «Прихована копія». |
| subject | String | true | Тема електронного листа. |
| message | String | true | Повідомлення електронного листа. |
Phone
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 4 For a Phone QR Code |
| number | String | false | Номер телефону. |
Crypto
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 5 For a Crypto QR Code |
| cryptotype | String | false | Тип криптовалюти для відправлення. |
| address | String | false | Криптовалютна адреса отримувача. |
| amount | String | true | Сума криптовалюти для відправлення. |
vCard
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 6 For a vCard QR Code |
| vc_first_name | String | false | Ім'я для vCard. |
| vc_last_name | String | false | Прізвище для vCard. |
| vc_company | String | true | Компанія. |
| vc_job | String | true | Посада. |
| vc_street | String | true | Вулиця. |
| vc_city | String | true | Місто. |
| vc_state | String | true | Область/штат. |
| vc_zip | String | true | Поштовий індекс. |
| vc_country | String | true | Країна. |
| vc_phone | String | true | Номер телефону. |
| vc_mobile | String | true | Номер мобільного телефону. |
| vc_fax | String | true | Факс. |
| vc_website | String | true | URL вебсайту. |
| vc_email | String | true | Адреса електронної пошти. |
| vc_note | String | true | Примітка. |
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 7 For a Whatsapp QR Code |
| number | String | false | Номер телефону. |
| text | String | true | Текстове повідомлення WhatsApp. |
vEvent
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 8 For a vEvent QR Code |
| ve_summary | String | true | Заголовок події (vEvent). |
| ve_description | String | true | Опис події (vEvent). |
| ve_location | String | true | Місце проведення події (vEvent). |
| ve_timezone | String | true | Часовий пояс для початку та завершення події (vEvent). Наприклад, "Europe/Amsterdam" для часового поясу Амстердама. |
| ve_url | String | true | URL-адреса події (vEvent). |
| ve_start | String | true | Час початку події (vEvent). Наприклад, "20250101T083000" означає 1 січня 2025 року о 8:30. |
| ve_end | String | true | Час завершення події (vEvent). Наприклад, "20250101T093000" означає 1 січня 2025 року о 9:30. |
Geo
| Параметр | Тип | Необов’язково | Опис |
|---|---|---|---|
| type | Int | false | Use 9 For a Geo QR Code |
| ge_latitude | String | false | Широта для кодування. |
| ge_longitude | String | false | Довгота для кодування. |
Приклад текстового QR-коду
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Метод запиту | POST |
| Заголовки | GenQRCode-apikey: API_KEY |
| Тіло запиту | {
"type": 0,
"text": "https://genqrcode.com"
} |
| Відповідь | ![]() |
Приклад Wi-Fi QR-коду
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Метод запиту | POST |
| Заголовки | GenQRCode-apikey: API_KEY |
| Тіло запиту | {
"type": 1,
"network": "GenQRCode",
"password": false,
"hidden": false,
"encryption": "wpa"
} |
| Відповідь | ![]() |
Загальні параметри
Тут описані всі загальні параметри та способи їх використання.
| Параметр | Тип | Значення за замовчуванням | Опис | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| imageformat | String | png |
Формат зображення QR-коду.
Можливі значення
|
||||||||||||||||||||
| bordersize | Int | 4 | Розмір межі навколо QR-коду. | ||||||||||||||||||||
| width | Int | 500 | Ширина QR-коду. Максимальний розмір 2000. | ||||||||||||||||||||
| height | Int | 500 | Висота QR-коду. Максимальний розмір 2000. |
Параметри кольору
Тут описані всі параметри кольору та способи їх використання.
| Параметр | Тип | Значення за замовчуванням | Опис |
|---|---|---|---|
| color | String | #000000 | Колір QR-коду. Формат має бути або #RRGGBB, або #RRGGBBAA. Значення RGBA у шістнадцятковому форматі від 00 до FF. |
| custom_color_pattern | String | 1 | Візерунок кольорів для використання. Наприклад, якщо кольори #ff0000, #00ff00 та #0000ff, а візерунок 1,2,3,3,2,1, то кольори будуть змінюватися відповідно до цього візерунка. Приклад буде наведено далі в інструкції. |
| background_color | String | #FFFFFF | Колір фону QR-коду. Щоб зробити фон прозорим, встановіть альфа-канал у 00. Наприклад, #00000000. |
| inner_eye_color | String | #000000 | Колір внутрішніх очей QR-коду. |
| outer_eye_color | String | #000000 | Колір зовнішніх очей QR-коду. |
| frame_color | String | #000000 | Колір рамки навколо QR-коду. Рамка має бути увімкнена, щоб цей параметр набув чинності. |
| frame_background_color | String | #FFFFFF | Колір фону рамки. Рамка має бути увімкнена, щоб це діяло. |
| frame_text_color | String | #FFFFFF | Колір тексту рамки. Рамка з текстом повинна бути включена, щоб це спрацювало. |
Приклад QR-коду з кольором
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Метод запиту | POST |
| Заголовки | GenQRCode-apikey: API_KEY |
| Тіло запиту | {
"type": 0,
"text": "https://genqrcode.com",
"color": "#ff0000",
"background_color": "#aaffaa",
"inner_eye_color": "#ffaaaa",
"outer_eye_color": "#ffaaff"
} |
| Відповідь | ![]() |
Приклад QR-коду з кольоровим візерунком
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Метод запиту | POST |
| Заголовки | GenQRCode-apikey: API_KEY |
| Тіло запиту | {
"type": 0,
"text": "https://genqrcode.com",
"color": "#e81416,#faeb36,#79c314,#487de7,#4b369d,#70369d",
"custom_color_pattern": "1,1,2,2,3,3,4,4,5,5,6,6"
} |
| Відповідь | ![]() |
Параметри рамки, форми та логотипу
Тут описані всі параметри рамки, форми та логотипу та способи їх використання.
| Параметр | Тип | Значення за замовчуванням | Опис |
|---|---|---|---|
| style | Int | 0 |
Стиль квадратів QR-коду.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
| inner_eye_style | Int | 0 |
Стиль внутрішніх очей QR-коду.
0
1
2
3
4
5
6
7
|
| outer_eye_style | Int | 0 |
Стиль зовнішніх очей QR-коду.
0
1
2
3
4
5
6
|
| frame_style | Int | 0 |
Стиль рамки навколо QR-коду.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
| frame_text | String | SCAN ME | Текст усередині рамки. Щоб цей текст відображався, необхідно налаштувати рамку з текстом. |
| logo | String |
Логотип для використання всередині QR-коду.
youtube
wifi
google-maps
facebook
spotify
threads
zoom
instagram
linkedin
genqrcode
google-drive
airbnb
skype
snapchat
twitter
x-twitter
reddit
|
|
| logo_remove_background | Boolean | false | Чи слід видаляти фон позаду логотипу. |
Приклад QR-коду з логотипом і формою
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Метод запиту | POST |
| Заголовки | GenQRCode-apikey: API_KEY |
| Тіло запиту | {
"type": 0,
"text": "https://x.com/genqrcode",
"style": 22,
"inner_eye_style": 1,
"outer_eye_style": 4,
"frame": 10,
"frame_text": "My X Page",
"logo": "x-twitter",
"logo_remove_background":true
} |
| Відповідь | ![]() |
Приклад власного логотипу
Щоб використовувати власний логотип, необхідно завантажити його через multipart-запит. Отриманий результат можна використати у полі логотипу.
| URL | https://api.genqrcode.com/public/upload/logo |
|---|---|
| Метод запиту | POST |
| Заголовки | GenQRCode-apikey: API_KEY Content-Type: multipart/form-data |
| Відповідь | 586d0136af8a06e4a2b50cf9f2af0b72 |
API швидкого QR-коду
API швидкого QR-коду витрачає лише 1/50 токена від звичайного API. QR-коди оптимізовані для швидкості та розміру завантаження. Він підтримує всі типи QR-кодів, але має лише обмежену кількість параметрів налаштування.
Параметри швидкого QR-коду
Тут описані всі параметри швидкого QR-коду та способи їх використання.
| Параметр | Тип | Значення за замовчуванням | Опис | ||||
|---|---|---|---|---|---|---|---|
| imageformat | String | png |
Формат зображення QR-коду.
Можливі значення
|
||||
| bordersize | Int | 4 | Розмір межі навколо QR-коду. | ||||
| width | Int | 500 | Ширина QR-коду. Автоматично змінюється до найближчого доступного розміру, щоб уникнути артефактів масштабування. Максимальний розмір 4000. | ||||
| height | Int | 500 | Висота QR-коду. Автоматично змінюється до найближчого доступного розміру, щоб уникнути артефактів масштабування. Максимальний розмір 4000. |
Приклад швидкого текстового QR-коду
| URL | https://api.genqrcode.com/public/fastgenerate |
|---|---|
| Метод запиту | POST |
| Заголовки | GenQRCode-apikey: API_KEY |
| Тіло запиту | {
"imageformat": "png",
"type": 0,
"text": "https://genqrcode.com"
} |
| Відповідь | ![]() |
API швидкого пакетного створення QR-кодів
Приклад швидкого пакетного текстового QR-коду
| URL | https://api.genqrcode.com/public/fastbatch |
|---|---|
| Метод запиту | POST |
| Заголовки | GenQRCode-apikey: API_KEY |
| Тіло запиту | {
"QR Code 1": {
"text": "https://genqrcode.com",
"type": 0,
"width": 500,
"bordersize": 4,
"imageformat": "png",
"height": 500
},
"QR Code 2": {
"text": "https://genqrcode.com/dynamicview",
"type": 0,
"width": 500,
"bordersize": 4,
"imageformat": "png",
"height": 500
},
"QR Code 3": {
"text": "https://genqrcode.com/pricing",
"type": 0,
"width": 500,
"bordersize": 4,
"imageformat": "png",
"height": 500
}
} |
| Відповідь | QR Codes in a zip file. |




