De GetQR API is in bèta en beschikbaar voor geselecteerde workspaces. Details kunnen nog veranderen vóór de algemene release.
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.
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.string | null
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.object | null
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.
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.
string
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.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.object
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.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 geeftfalse. - 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.
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.
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.
templateId. Niet toegestaan.link. Gedeeltelijk. De huidige bestemming blijft behouden als jelink.urlweglaat.link.domainenlink.keykrijgen422: 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 alsdataofqrTypeverandert. Wissel jeqrTypezonder bijpassendedata, dan wordt dat geweigerd. Zie Van type wisselen.- Ontwerp.
styles,frameOptionsenlogoOptionsworden 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.nullwist een regel. Toegangsregels horen onderaccess: stuur je ze onderlink, dan krijg je422.archived. Pauzeert of heractiveert de QR-code en de korte link samen, net als Pauzeren en Heractiveren.
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.
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, ofqr-codevoor een QR-code zonder titel. - Caching. Antwoorden bevatten een
ETagenCache-Control: private, max-age=3600, must-revalidate. Stuur deETagterug inIf-None-Matchom304 Not Modifiedte 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_unsupportedofqr_download_art_resolution_unsupported.
Toegangsregels
Stuur eenaccess-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
422 bij het instellen van een wachtwoord, planning of scanlimiet
422 bij het instellen van een wachtwoord, planning of scanlimiet
Stuur de regel onder
access, niet onder link.422 bij het wijzigen van link.domain of link.key
422 bij het wijzigen van link.domain of link.key
De korte link kan na het aanmaken niet meer veranderen, omdat de gedrukte code hem codeert. Maak in plaats daarvan een nieuwe QR-code.
422 "Expected … for qrType"
422 "Expected … for qrType"
data past niet bij het formaat van qrType. Controleer het type in QR-codedata per type.409 conflict bij het maken van een QR-code
409 conflict bij het maken van een QR-code
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 download is een JPEG, geen PNG
De download is een JPEG, geen PNG
De parameters heten
format en resolution, en format is standaard jpg. Stuur format=png.404 voor een QR-code die ik in het dashboard zie
404 voor een QR-code die ik in het dashboard zie
Elk verzoek wordt uitgevoerd in de workspace van je API-sleutel. Controleer of de QR-code daarbij hoort. Zie Authenticatie.