Przewodnik po API kodów QR dla deweloperów
API kodów QR pozwala użytkownikom programowo generować wysokiej jakości kody QR lub integrować szybkie generowanie dużej ilości kodów QR. Zapewnia prosty i wydajny sposób tworzenia kodów QR do różnych zastosowań, takich jak automatyczne płatności, integracja z aplikacjami, generowanie etykiet produktów i wiele innych. API obsługuje różne opcje dostosowywania, w tym rozmiar, kolor, kształt, obramowanie, typ itp. Deweloperzy mogą zintegrować je ze swoimi aplikacjami, wysyłając żądania HTTP i podając klucz API do uwierzytelnienia lub korzystając z naszych bibliotek.
Klucz API
Klucz API dla Twojego konta można utworzyć na stronie konta. Klucz API może być dołączony do żądań jako parametr URL, na przykład: https://api.genqrcode.com/public/generate?apikey=YOUR_API_KEY, lub w nagłówku `GenQRCode-apikey`. W dalszej części tego przewodnika zakładamy użycie nagłówka, ponieważ jest to bezpieczniejsza opcja, ale obie metody mogą być stosowane zamiennie. Klucz API powinien być traktowany jako tajny i nie powinien być udostępniany nikomu.
Ograniczenie liczby żądań
Ograniczenie liczby żądań jest stosowane w celu zapewnienia uczciwego korzystania z API. Darmowy plan obejmuje 180 tokenów na godzinę. Standardowe kody QR kosztują 1 token każdy, z maksymalnym limitem 180 tokenów na godzinę, co odpowiada 1 kodowi QR co 20 sekund. Dodatkowo, szybkie punkty końcowe zużywają 1/50 tokena, co odpowiada 2,5 kodu QR na sekundę. Te szybkie punkty końcowe są zalecane, gdy nie jest wymagana personalizacja kodu QR. Jeśli limit tokenów zostanie przekroczony, zwrócony zostanie kod statusu 429, informujący o ograniczeniu liczby żądań.
Korzystanie z wielu kont w celu obejścia tych ograniczeń jest zabronione. Jeśli potrzebujesz wyższych limitów, skontaktuj się z nami w sprawie cennika.
Biblioteki
API statycznych kodów QR
Typy kodów QR
Typ kodu QR to podstawa każdego kodu QR. Określa sposób kodowania danych i zachowanie kodu QR po zeskanowaniu. Wybór odpowiedniego typu jest kluczowy, ponieważ wpływa na funkcjonalność kodu QR. Poniżej znajdziesz wszystkie dostępne typy do wyboru.
Text
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 0 For a Text QR Code |
| text | String | false | Tekst wewnątrz kodu QR. |
WiFi
| Parametr | Typ | Opcjonalne | Opis | ||||||
|---|---|---|---|---|---|---|---|---|---|
| type | Int | false | Use 1 For a WiFi QR Code | ||||||
| network | String | false | Nazwa sieci Wi-Fi. | ||||||
| password | String | true | Hasło do sieci Wi-Fi. | ||||||
| hidden | String | true | Czy sieć Wi-Fi jest ukryta. | ||||||
| encryption | String | true |
Rodzaj szyfrowania sieci Wi-Fi.
Możliwe wartości
|
SMS
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 2 For a SMS QR Code |
| text | String | false | Treść wiadomości SMS. |
| number | String | false | Numer telefonu. |
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 3 For a Email QR Code |
| String | true | Adres e-mail w polu „Do”. | |
| email-cc | String | true | Adres e-mail w polu „DW”. |
| email-bcc | String | true | Adres e-mail w polu „UDW”. |
| subject | String | true | Temat e-maila. |
| message | String | true | Treść wiadomości e-mail. |
Phone
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 4 For a Phone QR Code |
| number | String | false | Numer telefonu. |
Crypto
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 5 For a Crypto QR Code |
| cryptotype | String | false | Typ kryptowaluty do wysłania. |
| address | String | false | Adres kryptowaluty odbiorcy. |
| amount | String | true | Kwota kryptowaluty do wysłania. |
vCard
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 6 For a vCard QR Code |
| vc_first_name | String | false | Imię w vCard. |
| vc_last_name | String | false | Nazwisko w vCard. |
| vc_company | String | true | Firma. |
| vc_job | String | true | Stanowisko. |
| vc_street | String | true | Ulica. |
| vc_city | String | true | Miasto. |
| vc_state | String | true | Województwo. |
| vc_zip | String | true | Kod pocztowy. |
| vc_country | String | true | Kraj. |
| vc_phone | String | true | Numer telefonu. |
| vc_mobile | String | true | Numer telefonu komórkowego. |
| vc_fax | String | true | Numer faksu. |
| vc_website | String | true | Adres URL strony internetowej. |
| vc_email | String | true | Adres e-mail. |
| vc_note | String | true | Notatka. |
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 7 For a Whatsapp QR Code |
| number | String | false | Numer telefonu. |
| text | String | true | Wiadomość WhatsApp. |
vEvent
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 8 For a vEvent QR Code |
| ve_summary | String | true | Podsumowanie vEvent. |
| ve_description | String | true | Opis vEvent. |
| ve_location | String | true | Lokalizacja vEvent. |
| ve_timezone | String | true | Strefa czasowa początku i końca vEvent. Na przykład użyj „Europe/Warsaw” dla czasu w Warszawie. |
| ve_url | String | true | URL vEvent. |
| ve_start | String | true | Czas rozpoczęcia vEvent. Na przykład „20250101T083000” oznacza 1 stycznia 2025 o 8:30. |
| ve_end | String | true | Czas zakończenia vEvent. Na przykład „20250101T093000” oznacza 1 stycznia 2025 o 9:30. |
Geo
| Parametr | Typ | Opcjonalne | Opis |
|---|---|---|---|
| type | Int | false | Use 9 For a Geo QR Code |
| ge_latitude | String | false | Szerokość geograficzna do zakodowania. |
| ge_longitude | String | false | Długość geograficzna do zakodowania. |
Przykładowy kod QR z tekstem
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Metoda żądania | POST |
| Nagłówki | GenQRCode-apikey: API_KEY |
| Treść żądania | {
"type": 0,
"text": "https://genqrcode.com"
} |
| Odpowiedź | ![]() |
Przykładowy kod QR Wi-Fi
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Metoda żądania | POST |
| Nagłówki | GenQRCode-apikey: API_KEY |
| Treść żądania | {
"type": 1,
"network": "GenQRCode",
"password": false,
"hidden": false,
"encryption": "wpa"
} |
| Odpowiedź | ![]() |
Ogólne parametry
Oto wszystkie konfigurowalne ogólne parametry wraz z opisem ich użycia.
| Parametr | Typ | Wartość domyślna | Opis | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| imageformat | String | png |
Format obrazu kodu QR.
Możliwe wartości
|
||||||||||||||||||||
| bordersize | Int | 4 | Rozmiar obramowania wokół kodu QR. | ||||||||||||||||||||
| width | Int | 500 | Szerokość kodu QR. Maksymalny rozmiar: 2000. | ||||||||||||||||||||
| height | Int | 500 | Wysokość kodu QR. Maksymalny rozmiar: 2000. |
Parametry kolorów
Oto wszystkie konfigurowalne parametry kolorów wraz z opisem ich użycia.
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
| color | String | #000000 | Kolor kodu QR. Format powinien być #RRGGBB lub #RRGGBBAA. Wartości RGBA są zapisane w formacie szesnastkowym (od 00 do FF). |
| custom_color_pattern | String | 1 | Wzór kolorów do użycia. Na przykład, jeśli kolory to #ff0000, #00ff00, #0000ff, a wzór to 1,2,3,3,2,1, kolory będą zmieniać się zgodnie z tym wzorem. Przykład zostanie podany później w przewodniku. |
| background_color | String | #FFFFFF | Kolor tła kodu QR. Aby ustawić przezroczyste tło, ustaw kanał alfa na 00, np. #00000000. |
| inner_eye_color | String | #000000 | Kolor wewnętrznych oczu kodu QR. |
| outer_eye_color | String | #000000 | Kolor zewnętrznych oczu kodu QR. |
| frame_color | String | #000000 | Kolor ramki wokół kodu QR. Ramka musi być włączona, aby to ustawienie miało efekt. |
| frame_background_color | String | #FFFFFF | Kolor tła ramki. Ramka musi być włączona, aby to zadziałało. |
| frame_text_color | String | #FFFFFF | Kolor tekstu ramki. Ramka z tekstem musi być włączona, aby to działało. |
Przykładowy kod QR z kolorem
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Metoda żądania | POST |
| Nagłówki | GenQRCode-apikey: API_KEY |
| Treść żądania | {
"type": 0,
"text": "https://genqrcode.com",
"color": "#ff0000",
"background_color": "#aaffaa",
"inner_eye_color": "#ffaaaa",
"outer_eye_color": "#ffaaff"
} |
| Odpowiedź | ![]() |
Przykładowy kod QR ze wzorem kolorystycznym
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Metoda żądania | POST |
| Nagłówki | GenQRCode-apikey: API_KEY |
| Treść żądania | {
"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"
} |
| Odpowiedź | ![]() |
Parametry ramki, kształtu i logo
Oto wszystkie konfigurowalne parametry ramki, kształtu i logo wraz z opisem ich użycia.
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
| style | Int | 0 |
Styl kwadratów kodu 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 |
Styl wewnętrznych oczu kodu QR.
0
1
2
3
4
5
6
7
|
| outer_eye_style | Int | 0 |
Styl zewnętrznych oczu kodu QR.
0
1
2
3
4
5
6
|
| frame_style | Int | 0 |
Styl ramki wokół kodu QR.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
| frame_text | String | SCAN ME | Tekst wewnątrz ramki. Aby to było widoczne, musi być skonfigurowana ramka z tekstem. |
| logo | String |
Logo do użycia wewnątrz kodu 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 | Czy usunąć tło za logo. |
Przykładowy kod QR z logo i kształtem
| URL | https://api.genqrcode.com/public/generate |
|---|---|
| Metoda żądania | POST |
| Nagłówki | GenQRCode-apikey: API_KEY |
| Treść żądania | {
"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
} |
| Odpowiedź | ![]() |
Przykładowe niestandardowe logo
Aby użyć niestandardowego logo, należy przesłać je za pomocą żądania multipart form data. Wynik można wykorzystać w polu logo.
| URL | https://api.genqrcode.com/public/upload/logo |
|---|---|
| Metoda żądania | POST |
| Nagłówki | GenQRCode-apikey: API_KEY Content-Type: multipart/form-data |
| Odpowiedź | 586d0136af8a06e4a2b50cf9f2af0b72 |
API szybkich kodów QR
API szybkich kodów QR kosztuje jedynie 1/50 tokena standardowego API. Kody QR są zoptymalizowane pod kątem szybkości i rozmiaru pobierania. Chociaż obsługuje wszystkie typy kodów QR, wspiera jedynie kilka parametrów dostosowywania.
Parametry szybkich kodów QR
Oto wszystkie parametry szybkich kodów QR wraz z opisem ich użycia.
| Parametr | Typ | Wartość domyślna | Opis | ||||
|---|---|---|---|---|---|---|---|
| imageformat | String | png |
Format obrazu kodu QR.
Możliwe wartości
|
||||
| bordersize | Int | 4 | Rozmiar obramowania wokół kodu QR. | ||||
| width | Int | 500 | Szerokość kodu QR. Automatycznie dostosuje się do najbliższego skonfigurowanego rozmiaru, aby uniknąć artefaktów skalowania. Maksymalny rozmiar: 4000. | ||||
| height | Int | 500 | Wysokość kodu QR. Automatycznie dostosuje się do najbliższego skonfigurowanego rozmiaru, aby uniknąć artefaktów skalowania. Maksymalny rozmiar: 4000. |
Przykładowy szybki kod QR z tekstem
| URL | https://api.genqrcode.com/public/fastgenerate |
|---|---|
| Metoda żądania | POST |
| Nagłówki | GenQRCode-apikey: API_KEY |
| Treść żądania | {
"imageformat": "png",
"type": 0,
"text": "https://genqrcode.com"
} |
| Odpowiedź | ![]() |
API szybkiej partii kodów QR
Przykładowy szybki kod QR z tekstem w partii
| URL | https://api.genqrcode.com/public/fastbatch |
|---|---|
| Metoda żądania | POST |
| Nagłówki | GenQRCode-apikey: API_KEY |
| Treść żądania | {
"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
}
} |
| Odpowiedź | QR Codes in a zip file. |




