Przejdź do głównej treści
API GetQR jest w wersji beta i jest dostępne dla wybranych obszarów roboczych. Szczegóły mogą się zmienić przed ogólną premierą.
Każdy kod QR ma qrType, a typ określa, co musi zawierać data. Ten przewodnik opisuje format każdego typu, działającą treść żądania i to, co możesz zmienić po wydrukowaniu kodu. Przykłady to treści żądań dla tworzenia kodu QR. Wysyłaj je tak:

Wszystkie typy w skrócie

Jak rozwiązywany jest kod QR

Każdy kod QR to krótki link plus dane. Treść przenoszą dwa pola: Reguły dla wszystkich typów:
  • Wartości domyślne. Przy tworzeniu pominięty lub pusty link.url przyjmuje wartość data, a cały obiekt link można pominąć. Gdy wyślesz oba i się różnią, wygrywa link.url. Wysyłaj je z tą samą wartością albo wyślij tylko data.
  • Co koduje obraz. We wszystkich typach oprócz wifi obraz koduje krótki link. Dzięki temu możesz zmienić, dokąd prowadzi wydrukowany kod, a jego skanowania są śledzone. Kod QR WiFi koduje samą sieć: po wydrukowaniu nie da się go zmienić, a jego skanowania nie są śledzone.
  • Schematy. link.url przyjmuje tylko http:, https:, wifi:, mailto:, sms: i begin:. Wszystko inne, w tym geo:, smsto:, matmsg: i tel:, dostaje 422 Invalid destination URL, nawet jeśli data to przyjmuje.
  • Puste dane. Puste data pomija sprawdzenie typu. Dla typu z przekierowaniem trzeba wtedy ustawić link.url, inaczej wywołanie dostaje 400 Missing destination URL.
  • Struktura. Poza sprawdzeniem typu serwer nie waliduje danych. Typ JSON musi jedynie dać się sparsować jako obiekt JSON, a vCard musi tylko zaczynać się od BEGIN:VCARD.
Limity oznaczone poniżej jako Kreator egzekwuje kreator w panelu. API przyjmuje dane, które ich nie spełniają, ale mogą one wyglądać dziwnie na stronie docelowej lub w kreatorze.

Website

qrType: "website". Przewodnik po panelu: Kod QR Website.
Request body
Błędy:
  • 422 Expected an http(s) URL, e.g. "https://example.com" for qrType "website".
  • 422 Invalid destination URL

Feedback

qrType: "feedback". Przewodnik po panelu: Kod QR Feedback. data to adres URL http(s) formularza opinii, np. Google Form lub strony z recenzjami. Wszystko inne działa jak w typie Website.
Request body

Payment

qrType: "payment". Przewodnik po panelu: Kod QR Payment. data to adres URL płatności u dostawcy, np.:
Kreator w panelu rozpoznaje te hosty: paypal.me, paypal.com/paypalme, cash.app, venmo.com, buy.stripe.com, stripe.com, square.link i payoneer.com. W przypadku PayPal kwota jest ostatnim segmentem ścieżki. Działa też każdy inny adres URL http(s), ale kreator nie rozdzieli go na dostawcę i kwotę. Wszystko inne działa jak w typie Website.
Request body

WhatsApp

qrType: "whatsapp". Przewodnik po panelu: Kod QR WhatsApp. data to link wa.me: numer międzynarodowy w cyfrach bez +, opcjonalnie ze wstępnie wypełnionym tekstem.
Serwer sprawdza tylko, czy to adres URL http(s). Panel odczytuje też linki api.whatsapp.com/send. Wszystko inne działa jak w typie Website.
Request body

Location

qrType: "location". Przewodnik po panelu: Kod QR Location. data to adres URL mapy. Użyj tego formatu, aby kod QR dało się edytować w panelu (query_place_id jest opcjonalny):
Każdy inny adres URL http(s) też przekierowuje. URI geo: przechodzi sprawdzenie data, ale jest odrzucany jako cel, więc go nie używaj. Wszystko inne działa jak w typie Website.
Request body
qrType: "app". Przewodnik po panelu: Kod QR App Link.
Request body
Błędy:
  • 422 Invalid URL
  • 400 Missing destination URL

Email

qrType: "email". Przewodnik po panelu: Kod QR Email.
Request body
Błędy:
  • 422 Expected a mailto URI, e.g. "mailto:[email protected]?subject=Hello" for qrType "email".

SMS

qrType: "sms". Przewodnik po panelu: Kod QR SMS.
Request body
Błędy:
  • 422 Expected an SMS URI, e.g. "sms:+14155550123?body=Hello" for qrType "sms".

WiFi

qrType: "wifi". Przewodnik po panelu: Kod QR WiFi.
Request body
Błędy:
  • 422 Expected a Wi-Fi payload, e.g. "WIFI:T:WPA;S:MyNetwork;P:secret;H:false;" for qrType "wifi".
Nie zmieniaj typu wydrukowanego kodu QR WiFi. Wydrukowane kody zachowują starą sieć.

PDF, Image i Video

qrType: "pdf", "image" lub "video". Przewodniki po panelu: PDF, Image, Video. Jeden plik na kod QR: pakiety PDF i galerie obrazów nie są dostępne w API. Zobacz Nieobsługiwane przez API.
Jak przesłać plik i uzyskać jego fileId, opisuje strona Pliki.

vCard

qrType: "vcard". Przewodnik po panelu: Kod QR vCard. Strona docelowa i kreator odczytują tylko poniższe postacie wierszy. Inne warianty, takie jak TEL;CELL: czy EMAIL;TYPE=INTERNET:, są zapisywane, ale nie pojawiają się na stronie.
  • N:<last>;<first>;;;: nazwisko i imię. Kreator: oba wymagane, do 40 znaków.
  • FN:<first> <last>: nieodczytywane przez stronę. Z niego pochodzi etykieta na liście w panelu.
  • ORG:<company> i TITLE:<role>: firma i stanowisko. Kreator: do 40 znaków.
  • TEL;TYPE=HOME:, TEL;TYPE=CELL:, TEL;TYPE=WORK:, TEL;TYPE=FAX:: numery telefonu, komórki, służbowy i faksu (+ i cyfry).
  • EMAIL:<email>: adres e-mail.
  • URL:<url>: strona internetowa.
  • NOTE:<text>: podsumowanie. Stosuj znaki ucieczki \\, \n, \; i \,. Kreator: do 200 znaków.
  • ADR:;;<street>;<city>;<state>;<zip>;<country>: adres.
  • X-SOCIALPROFILE;TYPE=<platform>:<url> lub URL;TYPE=<PLATFORM>:<url>: linki do mediów społecznościowych, jeden wiersz na serwis.
  • PHOTO;VALUE=URI:<url>: adres URL zdjęcia profilowego. Ma pierwszeństwo przed każdym ID pliku.
  • X-GETQR-IMAGE-FILEID:<fileId>: zdjęcie profilowe (target logo).
  • X-GETQR-PAGE-LOGO-FILEID:<fileId>: logo strony (target logo).
  • X-GETQR-LANDING-THEME:p|<0-4> lub X-GETQR-LANDING-THEME:c|#RRGGBB|#RRGGBB|#RRGGBB: motyw strony docelowej, czyli indeks gotowego motywu (od 0 do 4) albo własne kolory tła, przycisku i ikon.
Serwisy społecznościowe: facebook, whatsapp, instagram, youtube, tiktok, messenger, snapchat, linkedin, x, reddit, pinterest, telegram, wechat, viber, line.
Request body
Błędy:
  • 422 Expected a vCard payload starting with "BEGIN:VCARD" for qrType "vcard".

Social Media

qrType: "social". Przewodnik po panelu: Kod QR Social Media. Pola w data:
Request body
Błędy:
  • 422 Expected a JSON object describing the social profile page for qrType "social".
qrType: "multilink". Przewodnik po panelu: Kod QR Multi-Link. Pola w data są takie same jak w typie Social Media, z tą różnicą, że firstName, lastName i summary zastępują: W customItems pole logoFileId jest opcjonalne: wyświetlana jest ikona zastępcza. Kreator: co najmniej jeden link społecznościowy lub jeden niepusty własny element.
Request body
Błędy:
  • 422 Expected a JSON object describing the multi-link page for qrType "multilink".

Event

qrType: "event". Przewodnik po panelu: Kod QR Event. Pola w data:
conference, seminar, workshop, training, webinar, meetup, networking, corporateEvent, productLaunch, tradeShow, jobFair, fundraiser, charity, wedding, engagement, birthday, anniversary, babyShower, graduation, reunion, party, religious, funeralMemorial, ceremony, concert, festival, clubNight, theater, comedy, filmScreening, exhibition, sports, tournament, raceMarathon, fitnessClass, foodDrink, market, openHouse, community, schoolEvent, kids, travelTour
Request body
Błędy:
  • 422 Expected a JSON object describing the event page for qrType "event".

Pliki w kodach QR

Zarejestruj plik przez Pliki, prześlij go, a następnie przekaż jego fileId. Użyj celu (target) odpowiadającego zastosowaniu:
  • pdf, image, video. Treść kodu QR typu PDF, Image lub Video.
  • logo. Zdjęcia profilowe, logo stron, ikony własnych linków i logo na środku kodu.
Pliki, które nigdy nie zostały dołączone do kodu QR, są usuwane po okresie karencji. Błędy fileId zwracane przy tworzeniu oraz przy PATCH, gdy wysłano fileId: ID plików wewnątrz danych (fileId, pageLogoFileId, customItems[].logoFileId, wiersze X-GETQR-*-FILEID) nie są sprawdzane. Wyświetlają się tylko wtedy, gdy przesłano je z celem logo. Kod QR przejmuje je na własność, więc czyszczenie ich nie usuwa.

Zmiana typu

Możesz zmienić qrType za pomocą aktualizacji kodu QR. Wyślij data pasujące do nowego typu: zapisane dane należą do starego typu, więc zmiana bez nich jest odrzucana. Po aktualizacji cel jest ustalany w tej kolejności:
  1. vcard, social, multilink, event: zawsze hostowana strona.
  2. Pakiet PDF lub galeria obrazów utworzone w panelu: ich strona docelowa.
  3. pdf, image, video: adres URL pliku (nowego fileId, a w przeciwnym razie zapisanego).
  4. link.url, jeśli został wysłany.
  5. Zmienione data.
  6. Zapisany adres URL.
Co robi każda zmiana:
  • Z pdf, image lub video. fileId oraz ewentualny pakiet lub galeria są czyszczone.
  • Na pdf, image lub video. Wyślij też fileId, inaczej zostanie ponownie użyty zapisany plik, którym może być zdjęcie vCard.
  • Z app. Nazwa aplikacji, link.ios i link.android są czyszczone, więc telefony trafiają do nowego celu.
  • Na wifi. Obraz przełącza się na surowe dane. Już wydrukowane kody nadal zawierają krótki link, który teraz przekierowuje na adres URL wifi:.
  • Z wifi. Wydrukowane kody zachowują starą sieć.
  • Na vcard, social, multilink lub event. Krótki link zaczyna wskazywać nową hostowaną stronę.
  • Z vcard, social, multilink lub event. Wyślij nowe data. Cel się do nich dostosuje.
Statyczne kody QR utworzone w panelu nie mają krótkiego linku, więc zmiana ich link.url dostaje 422.

Nieobsługiwane przez API

Te funkcje panelu nie są częścią API v1. Nieznane pola są pomijane bez błędu, więc ich wysłanie nic nie zmienia. Pakiety i galerie utworzone w panelu można nadal odczytywać, wstrzymywać i usuwać przez API, ale nie można przez nie zmieniać ich plików.

Typowe problemy

link.url używa schematu, do którego krótki link nie może przekierować, np. geo:, smsto:, matmsg: lub tel:. Użyj formatów opisanych na tej stronie.
data jest puste i nie ma link.url. Dla app ustaw co najmniej jedno z link.ios, link.android, link.url lub data.
Strona odczytuje tylko pola i postacie wierszy wymienione dla danego typu. Inne pola są zapisywane, ale niewyświetlane.

Co dalej

Kody QR

Pliki

Personalizacja

Reguły dostępu