Naar hoofdinhoud gaan
De GetQR API is in bèta en beschikbaar voor geselecteerde workspaces. Details kunnen nog veranderen vóór de algemene release.
Een QR-code in GetQR is de afbeelding plus een korte link waarlangs hij doorverwijst. Als je een QR-code maakt, wordt ook de korte link gemaakt, zodat je de bestemming later kunt wijzigen zonder de code opnieuw te drukken.

QR-codedata per type

Het data-formaat van elk van de 16 types.

Aanpassing

Stipstijlen, kleuren, frames en logo’s.

Toegangsregels

Planning, scanlimiet en wachtwoord.
Scanstatistieken van een QR-code vind je bij Analytics.

Het QR-code-object

Elk QR-code-endpoint antwoordt met dit object, behalve Verwijderen en Downloaden. De lijst geeft er een array van terug.
string
Unieke ID van de QR-code, bijvoorbeeld qr_1EPcVfeHZAY2iNoVLsgW2Aqf.
string
Type van de QR-code, bijvoorbeeld website. Alle 16 waarden staan in QR-codedata per type.
string | null
Naam van de QR-code, getoond in het dashboard.
string | null
Vrije notitie bij de QR-code.
string
De opgeslagen payload. Bij wifi, vcard, social, multilink, event en sms is dit de payload die je hebt gestuurd. Bij alle andere types is het de korte link, dus lees de bestemming uit url.
boolean
true als de QR-code gepauzeerd is.
boolean
true bij een statische QR-code die in het dashboard is gemaakt en geen korte link heeft. De API maakt altijd dynamische QR-codes.
Volledige korte link, bijvoorbeeld https://getqr.sh/x7Kd2p1.
string | null
Domein van de korte link.
string | null
Slug van de korte link.
boolean
true als de slug zelf is gekozen in plaats van gegenereerd.
string | null
Bestemming waarnaar de korte link doorverwijst.
string | null
Bestemming voor iOS-bezoekers, bij app-QR-codes.
string | null
Bestemming voor Android-bezoekers, bij app-QR-codes.
integer
Totaal aantal scans.
object
Toegangsregels. Het wachtwoord zelf wordt nooit teruggegeven. Zie Toegangsregels.
string
Alleen-lezen. custom is een ontwerp dat de API volledig kan bewerken. branded en ai zijn een Branded design of AI design dat in het dashboard is gemaakt. De API kan de afbeelding ervan niet bewerken, maar behoudt die wanneer je andere velden wijzigt.
object
Het opgeslagen ontwerp: styles, frameOptions en logoOptions, elk een object of null. Ze hebben dezelfde vorm als de velden in het verzoek, zodat je ze terug kunt sturen. Zie Aanpassing.
object | null
Het bestand van een pdf-, image- of video-QR-code: id, name en size in bytes.
string | null
Alleen-lezen. Weergavenaam van een app-QR-code die in het dashboard is gemaakt.
object | null
Alleen-lezen. Een pdf-QR-code met meerdere bestanden, gemaakt in het dashboard: title, layout en files.
Alleen-lezen. Een image-QR-code met meerdere afbeeldingen, gemaakt in het dashboard: title, layout en files.
string
Aanmaakdatum, ISO 8601.
string
Datum van de laatste update, ISO 8601.
Geheimen en interne ID’s (password, userId, workspaceId, projectId) worden nooit teruggegeven.

QR-codes weergeven

GET /api/v1/qrs Geeft de QR-codes in je workspace terug, één pagina per keer.
integer
standaard:"1"
Pagina die wordt teruggegeven, 1 of hoger.
integer
standaard:"100"
QR-codes per pagina, van 1 tot 100. Een grotere waarde wordt geweigerd.
Zoekt in de titel van de QR-code. Zoekopdrachten van meer dan 2 tekens zoeken ook in de opgeslagen data. Bij linktypes is de opgeslagen data de korte link, dus op bestemmings-URL’s kun je niet zoeken.
string
standaard:"createdAt"
Veld om op te sorteren: createdAt, updatedAt, clicks (totaal aantal scans), lastClicked (laatste scan) of type. type sorteert altijd aflopend en negeert sortOrder.
string
standaard:"desc"
Sorteerrichting: asc of desc.
boolean
standaard:"false"
Gepauzeerde QR-codes meenemen.
boolean
standaard:"false"
Alleen gepauzeerde QR-codes teruggeven. Gaat voor op showArchived.
Booleaanse parameters accepteren de strings true of false. Vraag de volgende pagina op zolang pagination.hasMore true is. Zie Paginering.

Een QR-code maken

POST /api/v1/qrs Maakt een QR-code en de bijbehorende korte link in één keer. Antwoordt met 201 Created en de nieuwe QR-code.
string
Je eigen token voor herhaalde pogingen. Herhaal je het verzoek binnen 24 uur met dezelfde sleutel, dan krijg je het oorspronkelijke antwoord terug in plaats van een tweede QR-code. Zie Herhaalde pogingen en duplicaten.
string
vereist
Wat de QR-code codeert. Dit bepaalt ook het formaat dat data moet hebben. Een van website, pdf, image, video, whatsapp, social, wifi, app, feedback, vcard, sms, payment, location, multilink, email, event.
string
vereist
De payload van het type, gecontroleerd tegen qrType. Een lege string slaat de controle over. Het formaat van elk type staat in QR-codedata per type.
De korte link waarlangs de QR-code doorverwijst. Optioneel: laat je hem weg, dan volgt link.url de waarde van data.
string
Naam van de QR-code, getoond in het dashboard. Bijgesneden, 1 tot 40 tekens. Laat je hem weg, dan heeft de QR-code geen titel.
string
Vrije notitie bij de QR-code. Maximaal 280 tekens.
string
Het bestand van een pdf-, image- of video-QR-code, geüpload met de bijbehorende target. Bij vcard, social en multilink een optionele profielafbeelding, geüpload met de target logo. event accepteert het ook, maar de pagina leest de omslag uit data.fileId. Andere types krijgen 422. Upload het bestand eerst via Bestanden. Zie Bestanden in QR-codes.
string
Sjabloon waarvan het ontwerp op de nieuwe QR-code wordt toegepast. Ontwerpvelden die je meestuurt, worden eroverheen samengevoegd. Een sjabloon met een Branded design of AI design krijgt 422 (art_template_unsupported). Een onbekend sjabloon, of een sjabloon uit een andere workspace, krijgt 404.
object
Vormen en kleuren van stippen en hoeken. Zie Aanpassing.
object
Frame rond de QR-code en de bijbehorende call-to-actiontekst. Zie Aanpassing.
object
Logo in het midden: een voorgesteld logo of je eigen bestand, geüpload met de target logo. Een onbekend bestand, een onvoltooide upload of een bestand van een andere target wordt geweigerd. Zie Aanpassing.
object
Planning, scanlimiet en wachtwoordbeveiliging. Zie Toegangsregels.
boolean
Of de QR-code gepauzeerd is. true maakt hem gepauzeerd aan: scans tonen dan de gepauzeerde pagina in plaats van de bestemming.
Onbekende velden worden zonder foutmelding genegeerd. Zie Niet ondersteund via de API.

Herhaalde pogingen en duplicaten

  • Met een sleutel. Met een Idempotency-Key-header wordt het antwoord 24 uur lang opnieuw afgespeeld.
  • Zonder sleutel. Een identieke body die binnen 30 seconden wordt verstuurd, wordt als duplicaat behandeld.
  • Herhalingen. Een herhaling geeft het opgeslagen antwoord terug met x-idempotent-replay: true. Een nieuwe QR-code geeft false.
  • Nog bezig. Een tweede verzoek terwijl het eerste nog loopt, krijgt 409 conflict.
  • Mislukkingen. Een mislukte aanmaak geeft de sleutel meteen vrij, zodat je het met dezelfde sleutel opnieuw kunt proberen.
  • Naar beste vermogen. Is de beveiliging tegen duplicaten niet beschikbaar, dan gaan aanmaakverzoeken onbeschermd door.
Zie ook Idempotentie.

Een QR-code ophalen

GET /api/v1/qrs/{qrId} Geeft een QR-code terug met de korte link, toegangsregels, het ontwerp en, bij bestandstypes, het bestand.
string
vereist
ID van de QR-code, uit het antwoord van de lijst of van het aanmaken.
Het antwoord is het volledige QR-code-object.

Een QR-code bijwerken

PATCH /api/v1/qrs/{qrId} Wijzigt de inhoud, bestemming, het ontwerp of de toegangsregels van een QR-code. Stuur alleen de velden die je wilt wijzigen. Antwoordt met de bijgewerkte QR-code.
string
vereist
ID van de QR-code.
De body accepteert dezelfde velden als Een QR-code maken, allemaal optioneel, met deze verschillen:
  • templateId. Niet toegestaan.
  • link. Gedeeltelijk. De huidige bestemming blijft behouden als je link.url weglaat. link.domain en link.key krijgen 422: de korte link is wat de gedrukte code codeert, dus maak een nieuwe QR-code als je een andere wilt.
  • data. Wordt alleen tegen het resulterende type gecontroleerd als data of qrType verandert. Wissel je qrType zonder bijpassende data, dan wordt dat geweigerd. Zie Van type wisselen.
  • Ontwerp. styles, frameOptions en logoOptions worden samengevoegd met het opgeslagen ontwerp, dus een gedeeltelijk object wijzigt alleen wat het noemt. Kies je een ander logo, dan vervangt dat het oude, maar blijft de grootte behouden.
  • access. Elke sleutel wordt toegepast als hij aanwezig is. null wist een regel. Toegangsregels horen onder access: stuur je ze onder link, dan krijg je 422.
  • archived. Pauzeert of heractiveert de QR-code en de korte link samen, net als Pauzeren en Heractiveren.
Wat je per type na het drukken kunt wijzigen, staat in QR-codedata per type.

De gepauzeerde status instellen

PUT /api/v1/qrs/{qrId} Stelt de gepauzeerde status direct in. Pauzeren en Heractiveren doen hetzelfde en zijn duidelijker.
string
vereist
ID van de QR-code.
boolean
vereist
true om de QR-code te pauzeren, false om hem te heractiveren.

Een QR-code pauzeren

POST /api/v1/qrs/{qrId}/pause Zorgt dat de QR-code niet meer naar zijn bestemming doorverwijst: scans tonen in plaats daarvan de gepauzeerde pagina. De gedrukte code en de korte link blijven geldig. Geen request-body.
string
vereist
ID van de QR-code.

Een QR-code heractiveren

POST /api/v1/qrs/{qrId}/activate Laat een gepauzeerde QR-code weer naar zijn bestemming doorverwijzen. Een eventuele planning en scanlimiet blijven gelden. Geen request-body.
string
vereist
ID van de QR-code.

Een QR-code dupliceren

POST /api/v1/qrs/{qrId}/duplicate Maakt een kopie met dezelfde inhoud en hetzelfde ontwerp. Geen request-body. Antwoordt met 201 Created en de nieuwe QR-code.
string
vereist
ID van de QR-code die je wilt kopiëren.
  • Korte link. De kopie krijgt een eigen korte link, met een willekeurige slug op het standaarddomein van de workspace, niet op het domein van het origineel. De scans worden apart geteld.
  • Titel. De titel krijgt het achtervoegsel (Copy). Het resultaat blijft binnen 40 tekens: een lange titel wordt eerst ingekort. Een QR-code zonder titel blijft zonder titel.
  • Niet gekopieerd. Toegangsregels (wachtwoord, planning, scanlimiet) en de gepauzeerde status. De kopie is altijd actief.
  • Bestanden. Pdf- en afbeeldingsbestanden, ook die van bundels en galerijen, worden gekopieerd, zodat de kopie ze zelf bezit. Videobestanden en ontwerpbestanden, zoals logo’s, worden gedeeld met het origineel.

Een QR-code verwijderen

DELETE /api/v1/qrs/{qrId} Verwijdert de QR-code en de korte link. Antwoordt met de verwijderde ID.
Verwijderen is definitief. De gedrukte code en de korte link werken niet meer, en de scangeschiedenis is niet meer bereikbaar. Pauzeer de QR-code liever als je hem misschien nog nodig hebt.
string
vereist
ID van de QR-code.
string
ID van de verwijderde QR-code.
boolean
Altijd true.

Een QR-codeafbeelding downloaden

GET /api/v1/qrs/{qrId}/download Rendert de QR-code met zijn ontwerp en geeft het bestand terug.
string
vereist
ID van de QR-code die je wilt renderen, uit het antwoord van de lijst of van het aanmaken.
string
standaard:"jpg"
Uitvoerformaat: jpg, png, svg, pdf (een A4-pagina) of eps. Een Branded design of AI design kun je alleen als jpg, png of pdf downloaden.
integer
standaard:"1024"
Afbeeldingsgrootte in pixels: 1024, 2048 of 4096. svg en pdf negeren dit. Een Branded design of AI design kun je alleen in 1024 downloaden.
  • Body. De body van het antwoord is het bestand. De voorgestelde bestandsnaam staat in de Content-Disposition-header, opgebouwd uit de titel, of qr-code voor een QR-code zonder titel.
  • Caching. Antwoorden bevatten een ETag en Cache-Control: private, max-age=3600, must-revalidate. Stuur de ETag terug in If-None-Match om 304 Not Modified te krijgen als de QR-code niet is veranderd.
  • Fouten. Een niet-ondersteund formaat of een niet-ondersteunde resolutie krijgt 400 bad_request. Het foutbericht noemt de reden: qr_download_invalid_format, qr_download_invalid_resolution, qr_download_art_format_unsupported of qr_download_art_resolution_unsupported.

Toegangsregels

Stuur een access-object mee bij het aanmaken of bijwerken om een begin en einde te plannen, het aantal scans te beperken of een wachtwoord te vereisen. Weggelaten regels blijven ongewijzigd, en null wist een regel. Het volledige gedrag, met voorbeelden, staat in Toegangsregels.

Ontwerpobjecten

styles, frameOptions en logoOptions bepalen de vormen van stippen en hoeken, de kleuren, het frame en het logo. Ze werken hetzelfde bij QR-codes, sjablonen en bulkaanmaak. Onbekende vormen, frames of logo’s worden geweigerd. Alle toegestane waarden en een uitgewerkt voorbeeld staan in Aanpassing.

Veelvoorkomende problemen

Stuur de regel onder access, niet onder link.
data past niet bij het formaat van qrType. Controleer het type in QR-codedata per type.
Een identieke aanmaak loopt nog, of link.key is al bezet. Probeer het opnieuw zodra het eerste verzoek klaar is. Met een Idempotency-Key geeft de nieuwe poging de oorspronkelijke QR-code terug.
De parameters heten format en resolution, en format is standaard jpg. Stuur format=png.
Elk verzoek wordt uitgevoerd in de workspace van je API-sleutel. Controleer of de QR-code daarbij hoort. Zie Authenticatie.

Volgende stappen

QR-codedata per type

Aanpassing

Toegangsregels

Analytics