Naar hoofdinhoud gaan
De GetQR API is in bèta en beschikbaar voor geselecteerde workspaces. Details kunnen nog veranderen vóór de algemene release.
Elke QR-code heeft een qrType, en het type bepaalt wat data moet bevatten. Deze handleiding geeft per type het formaat, een werkende request-body en wat je nog kunt wijzigen als de code eenmaal gedrukt is. De voorbeelden zijn request-bodies voor Een QR-code maken. Verstuur ze zo:

Alle types in één oogopslag

Hoe een QR-code wordt afgehandeld

Elke QR-code is een korte link plus een payload. Twee velden bevatten de inhoud: Regels voor elk type:
  • Standaardwaarden. Bij het aanmaken wordt een weggelaten of lege link.url gelijk aan data, en kun je het hele link-object weglaten. Stuur je beide mee en verschillen ze, dan wint link.url. Stuur ze gelijk mee, of stuur alleen data.
  • Wat de afbeelding codeert. De afbeelding codeert de korte link voor elk type behalve wifi. Zo kun je wijzigen waar een gedrukte code naartoe leidt, en worden de scans bijgehouden. Een WiFi-QR-code codeert het netwerk zelf: je kunt hem na het drukken niet wijzigen, en de scans worden niet bijgehouden.
  • Schema’s. link.url accepteert alleen http:, https:, wifi:, mailto:, sms: en begin:. Al het andere, waaronder geo:, smsto:, matmsg: en tel:, krijgt 422 Invalid destination URL, ook als data het wel accepteert.
  • Lege data. Een lege data slaat de typecontrole over. Bij een type met doorverwijzing moet link.url dan zijn ingesteld, anders krijgt de aanroep 400 Missing destination URL.
  • Vorm. Buiten de typecontrole valideert de server de payload niet. Een JSON-type hoeft alleen als JSON-object te parsen, en een vCard hoeft alleen met BEGIN:VCARD te beginnen.
Limieten die hieronder met Editor zijn gemarkeerd, worden door de editor in het dashboard afgedwongen. De API accepteert payloads die ze negeren, maar die kunnen vreemd worden weergegeven op de landingspagina of in de editor.

Website

qrType: "website". Handleiding voor het dashboard: Website-QR-code.
Request body
Fouten:
  • 422 Expected an http(s) URL, e.g. "https://example.com" for qrType "website".
  • 422 Invalid destination URL

Feedback

qrType: "feedback". Handleiding voor het dashboard: Feedback-QR-code. data is de http(s)-URL van het feedbackformulier, bijvoorbeeld een Google Form of een reviewpagina. Al het andere werkt zoals bij Website.
Request body

Betaling

qrType: "payment". Handleiding voor het dashboard: Betaal-QR-code. data is de betaal-URL van de provider, bijvoorbeeld:
De editor in het dashboard herkent deze hosts: paypal.me, paypal.com/paypalme, cash.app, venmo.com, buy.stripe.com, stripe.com, square.link en payoneer.com. Bij PayPal is het bedrag het laatste padsegment. Elke andere http(s)-URL werkt ook, maar die splitst de editor niet op in provider en bedrag. Al het andere werkt zoals bij Website.
Request body

WhatsApp

qrType: "whatsapp". Handleiding voor het dashboard: WhatsApp-QR-code. data is een wa.me-link: het internationale nummer in cijfers zonder +, eventueel met een vooraf ingevulde tekst.
De server controleert alleen of het een http(s)-URL is. Het dashboard leest ook api.whatsapp.com/send-links. Al het andere werkt zoals bij Website.
Request body

Locatie

qrType: "location". Handleiding voor het dashboard: Locatie-QR-code. data is een kaart-URL. Gebruik dit formaat om de QR-code in het dashboard te kunnen blijven bewerken (query_place_id is optioneel):
Elke andere http(s)-URL verwijst ook door. Een geo:-URI komt door de data-controle, maar wordt als bestemming geweigerd, dus gebruik die niet. Al het andere werkt zoals bij Website.
Request body
qrType: "app". Handleiding voor het dashboard: App Link-QR-code.
Request body
Fouten:
  • 422 Invalid URL
  • 400 Missing destination URL

E-mail

qrType: "email". Handleiding voor het dashboard: E-mail-QR-code.
Request body
Fouten:
  • 422 Expected a mailto URI, e.g. "mailto:[email protected]?subject=Hello" for qrType "email".

SMS

qrType: "sms". Handleiding voor het dashboard: SMS-QR-code.
Request body
Fouten:
  • 422 Expected an SMS URI, e.g. "sms:+14155550123?body=Hello" for qrType "sms".

WiFi

qrType: "wifi". Handleiding voor het dashboard: WiFi-QR-code.
Request body
Fouten:
  • 422 Expected a Wi-Fi payload, e.g. "WIFI:T:WPA;S:MyNetwork;P:secret;H:false;" for qrType "wifi".
Wissel het type van een gedrukte WiFi-QR-code niet. De gedrukte codes houden het oude netwerk.

Bestandstypes

qrType: "pdf", "image" of "video". Handleidingen voor het dashboard: PDF, Image, Video. Eén bestand per QR-code: pdf-bundels en afbeeldingsgalerijen zijn niet beschikbaar via de API. Zie Niet ondersteund via de API.
Hoe je het bestand uploadt en de fileId krijgt, lees je bij Bestanden.

vCard

qrType: "vcard". Handleiding voor het dashboard: vCard-QR-code. De landingspagina en de editor lezen alleen de regelvormen hieronder. Andere varianten, zoals TEL;CELL: of EMAIL;TYPE=INTERNET:, worden opgeslagen maar verschijnen niet op de pagina.
  • N:<last>;<first>;;;: achternaam en voornaam. Editor: beide verplicht, maximaal 40 tekens.
  • FN:<first> <last>: niet gelezen door de pagina. Het label in de lijst in het dashboard komt hiervandaan.
  • ORG:<company> en TITLE:<role>: bedrijf en functie. Editor: maximaal 40 tekens.
  • TEL;TYPE=HOME:, TEL;TYPE=CELL:, TEL;TYPE=WORK:, TEL;TYPE=FAX:: telefoon-, mobiele, werk- en faxnummers (+ en cijfers).
  • EMAIL:<email>: e-mailadres.
  • URL:<url>: website.
  • NOTE:<text>: samenvatting. Escape \\, \n, \; en \,. Editor: maximaal 200 tekens.
  • ADR:;;<street>;<city>;<state>;<zip>;<country>: adres.
  • X-SOCIALPROFILE;TYPE=<platform>:<url> of URL;TYPE=<PLATFORM>:<url>: sociale links, één regel per platform.
  • PHOTO;VALUE=URI:<url>: URL van de profielafbeelding. Gaat voor op elke bestands-ID.
  • X-GETQR-IMAGE-FILEID:<fileId>: profielafbeelding (target logo).
  • X-GETQR-PAGE-LOGO-FILEID:<fileId>: paginalogo (target logo).
  • X-GETQR-LANDING-THEME:p|<0-4> of X-GETQR-LANDING-THEME:c|#RRGGBB|#RRGGBB|#RRGGBB: thema van de landingspagina, ofwel een preset-index (0 tot 4), ofwel eigen kleuren voor achtergrond, knop en iconen.
Sociale platforms: facebook, whatsapp, instagram, youtube, tiktok, messenger, snapchat, linkedin, x, reddit, pinterest, telegram, wechat, viber, line.
Request body
Fouten:
  • 422 Expected a vCard payload starting with "BEGIN:VCARD" for qrType "vcard".

Social Media

qrType: "social". Handleiding voor het dashboard: Social Media-QR-code. Velden in data:
Request body
Fouten:
  • 422 Expected a JSON object describing the social profile page for qrType "social".
qrType: "multilink". Handleiding voor het dashboard: Multi-Link-QR-code. De velden in data zijn die van Social Media, behalve dat firstName, lastName en summary zijn vervangen door: In customItems is logoFileId optioneel: dan wordt een standaardicoon getoond. Editor: minstens één sociale link of één niet-leeg eigen item.
Request body
Fouten:
  • 422 Expected a JSON object describing the multi-link page for qrType "multilink".

Event

qrType: "event". Handleiding voor het dashboard: Event-QR-code. Velden in 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
Fouten:
  • 422 Expected a JSON object describing the event page for qrType "event".

Bestanden in QR-codes

Registreer een bestand via Bestanden, upload het en geef daarna de fileId mee. Gebruik de target die bij het gebruik past:
  • pdf, image, video. De inhoud van een PDF-, afbeeldings- of video-QR-code.
  • logo. Profielafbeeldingen, paginalogo’s, iconen van eigen links en logo’s in het midden.
Bestanden die nooit aan een QR-code worden gekoppeld, worden na een respijtperiode verwijderd. fileId-fouten, teruggegeven bij het aanmaken en bij PATCH als fileId wordt meegestuurd: Bestands-ID’s binnen een payload (fileId, pageLogoFileId, customItems[].logoFileId, X-GETQR-*-FILEID-regels) worden niet gevalideerd. Ze worden alleen weergegeven als ze met de target logo zijn geüpload. De QR-code claimt ze, dus de opschoning laat ze met rust.

Van type wisselen

Je kunt qrType wijzigen met Een QR-code bijwerken. Stuur data mee die bij het nieuwe type past: de opgeslagen payload hoort bij het oude type, dus een wissel zonder nieuwe data wordt geweigerd. Na een update wordt de bestemming in deze volgorde bepaald:
  1. vcard, social, multilink, event: altijd de gehoste pagina.
  2. Een pdf-bundel of afbeeldingsgalerij die in het dashboard is gemaakt: de bijbehorende landingspagina.
  3. pdf, image, video: de URL van het bestand (een nieuwe fileId, anders de opgeslagen).
  4. link.url, als die is meegestuurd.
  5. Gewijzigde data.
  6. De opgeslagen URL.
Wat elke wissel doet:
  • Van pdf, image of video af. fileId en een eventuele bundel of galerij worden gewist.
  • Naar pdf, image of video. Stuur ook fileId mee, anders wordt de opgeslagen gebruikt, en dat kan een vCard-foto zijn.
  • Van app af. De appnaam, link.ios en link.android worden gewist, zodat telefoons de nieuwe bestemming volgen.
  • Naar wifi. De afbeelding schakelt over naar de ruwe payload. Codes die al gedrukt zijn, bevatten nog de korte link, die nu doorverwijst naar een wifi:-URL.
  • Van wifi af. Gedrukte codes houden hun oude netwerk.
  • Naar vcard, social, multilink of event. De korte link wordt naar de nieuwe gehoste pagina gericht.
  • Van vcard, social, multilink of event af. Stuur de nieuwe data mee. De bestemming volgt die.
Statische QR-codes die in het dashboard zijn gemaakt, hebben geen korte link, dus het wijzigen van hun link.url krijgt 422.

Niet ondersteund via de API

Deze functies van het dashboard maken geen deel uit van de v1 API. Onbekende velden worden zonder foutmelding genegeerd, dus meesturen heeft geen effect. Bundels en galerijen die in het dashboard zijn gemaakt, kun je via de API nog steeds lezen, pauzeren en verwijderen, maar hun bestanden kun je er niet mee wijzigen.

Veelvoorkomende problemen

link.url gebruikt een schema waarnaar de korte link niet kan doorverwijzen, zoals geo:, smsto:, matmsg: of tel:. Gebruik de formaten op deze pagina.
data is leeg en er is geen link.url. Stel voor app minstens één van link.ios, link.android, link.url of data in.
De pagina leest alleen de velden en regelvormen die bij het type staan. Andere velden worden opgeslagen, maar niet getoond.

Volgende stappen

QR-codes

Bestanden

Aanpassing

Toegangsregels