Посібник із API QR-кодів для розробників
API QR-кодів дозволяє користувачам програмно створювати високоякісні QR-коди або інтегрувати швидке створення великої кількості QR-кодів. Це забезпечує простий та ефективний спосіб створення QR-кодів для різних випадків використання, таких як автоматизовані платежі, інтеграція в додатки, створення етикеток для товарів тощо. API підтримує різноманітні варіанти налаштування, включаючи розмір, колір, форму, рамку, тип тощо. Розробники можуть інтегрувати його у свої додатки, надсилаючи HTTP-запити та використовуючи API-ключ для автентифікації або наші бібліотеки.
API-ключ
API-ключ для вашого облікового запису можна створити на сторінці облікового запису. API-ключ може бути включений у запити як параметр URL, наприклад: https://genqrcode.com/api/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 | Адреса електронної пошти у полі "Кому". | |
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 | Адреса електронної пошти. |
Параметр | Тип | Необов’язково | Опис |
---|---|---|---|
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-коду. Рамка має бути увімкнена, щоб цей параметр набув чинності. |
Приклад 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
|
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. |