Посібник із 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, що вказує на обмеження швидкості запитів.

Використання кількох облікових записів для обходу цих обмежень заборонено. Якщо потрібні вищі ліміти, зв’яжіться з нами для обговорення тарифів.

Бібліотеки

Java Library

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 мережі.

Можливі значення

wep Використовуйте це, якщо Wi-Fi мережа досі використовує застаріле WEP-шифрування.
nopass Використовуйте це, якщо Wi-Fi мережа не має пароля.
wpa Значення за замовчуванням. Використовуйте це для WPA-шифрування. Якщо ви не впевнені, який варіант вибрати, використовуйте цей.

SMS

Параметр Тип Необов’язково Опис
type Int false Use 2 For a SMS QR Code
text String false Текстове повідомлення.
number String false Номер телефону.

Email

Параметр Тип Необов’язково Опис
type Int false Use 3 For a Email QR Code
email 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 Адреса електронної пошти.

Whatsapp

Параметр Тип Необов’язково Опис
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"
}
Відповідь Text QR Code example

Приклад 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"
}
Відповідь WiFi QR Code example

Загальні параметри

Тут описані всі загальні параметри та способи їх використання.

Параметр Тип Значення за замовчуванням Опис
imageformat String png Формат зображення QR-коду.

Можливі значення

tiff Формат зображення TIFF.
svg Формат зображення SVG.
gif Формат зображення GIF.
obj Формат зображення OBJ. Повна підтримка кольору.
png Формат зображення PNG.
jpeg Формат зображення JPEG. Не підтримує прозорість.
eps Формат зображення EPS.
stl Формат зображення STL. Без підтримки кольору.
webp Формат зображення WEBP.
3mf Формат зображення 3MF.
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"
}
Відповідь Color QR Code example

Приклад 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"
}
Відповідь Color pattern QR Code example

Параметри рамки, форми та логотипу

Тут описані всі параметри рамки, форми та логотипу та способи їх використання.

Параметр Тип Значення за замовчуванням Опис
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
/> /> /> /> /> />SCAN ME
2
/> /> /> /> /> /> /> />SCAN ME
3
/> /> /> />SCAN ME
4
/> /> />SCAN ME
5
/>SCAN ME
6
/>SCAN ME
7
/> /> />
8
/> /> /> /> />
9
/> /> /> /> /> /> /> /> /> /> /> /> />
10
/> /> /> /> /> /> />SCAN ME
11
/> />SCAN ME
12
SCAN ME
13
SCAN ME
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
}
Відповідь Style and logo QR Code example

Приклад власного логотипу

Щоб використовувати власний логотип, необхідно завантажити його через 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-коду.

Можливі значення

svg Формат зображення SVG.
png Формат зображення PNG.
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"
}
Відповідь Text QR Code example

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.