Die GetQR API befindet sich in der Beta-Phase und steht ausgewählten Workspaces zur Verfügung. Details können sich bis zur allgemeinen Veröffentlichung noch ändern.
QR-Code-Daten nach Typ
Das
data-Format jedes der 16 Typen.Anpassung
Punktstile, Farben, Rahmen und Logos.
Zugriffsregeln
Zeitplan, Scan-Limit und Passwort.
Das QR-Code-Objekt
Jeder QR-Code-Endpunkt antwortet mit diesem Objekt, außer Löschen und Herunterladen. Die Liste liefert ein Array solcher Objekte.string
Eindeutige ID des QR-Codes, zum Beispiel
qr_1EPcVfeHZAY2iNoVLsgW2Aqf.string
Typ des QR-Codes, zum Beispiel
website. Alle 16 Werte finden Sie unter QR-Code-Daten nach Typ.string | null
Name des QR-Codes, der im Dashboard angezeigt wird.
string | null
Freie Notiz zum QR-Code.
string
Die gespeicherte Payload. Bei
wifi, vcard, social, multilink, event und sms ist es die Payload, die Sie gesendet haben. Bei allen anderen Typen ist es der Kurzlink. Lesen Sie das Ziel daher aus url.boolean
true, wenn der QR-Code pausiert ist.boolean
true bei einem im Dashboard erstellten statischen QR-Code, der keinen Kurzlink hat. Die API erstellt immer dynamische QR-Codes.string | null
Vollständiger Kurzlink, zum Beispiel
https://getqr.sh/x7Kd2p1.string | null
Domain des Kurzlinks.
string | null
Slug des Kurzlinks.
boolean
true, wenn der Slug gewählt und nicht generiert wurde.string | null
Ziel, auf das der Kurzlink weiterleitet.
string | null
Ziel für iOS-Besucher, bei
app-QR-Codes.string | null
Ziel für Android-Besucher, bei
app-QR-Codes.integer
Gesamtzahl der Scans.
object
Zugriffsregeln. Das Passwort selbst wird nie zurückgegeben. Siehe Zugriffsregeln.
string
Schreibgeschützt.
custom ist ein Design, das die API vollständig bearbeiten kann. branded und ai sind ein im Dashboard erstelltes Branded design oder AI design. Die API kann dessen Bild nicht bearbeiten, behält es aber bei, wenn Sie andere Felder ändern.object
Das gespeicherte Design:
styles, frameOptions und logoOptions, jeweils ein Objekt oder null. Sie haben denselben Aufbau wie die Anfragefelder, sodass Sie sie zurücksenden können. Siehe Anpassung.object | null
Die Datei eines
pdf-, image- oder video-QR-Codes: id, name und size in Bytes.string | null
Schreibgeschützt. Anzeigename eines im Dashboard erstellten
app-QR-Codes.object | null
Schreibgeschützt. Ein im Dashboard erstellter
pdf-QR-Code mit mehreren Dateien: title, layout und files.object | null
Schreibgeschützt. Ein im Dashboard erstellter
image-QR-Code mit mehreren Bildern: title, layout und files.string
Erstellungsdatum, ISO 8601.
string
Datum der letzten Aktualisierung, ISO 8601.
password, userId, workspaceId, projectId) werden nie zurückgegeben.
QR-Codes auflisten
GET /api/v1/qrs
Liefert die QR-Codes Ihres Workspace, seitenweise.
integer
Standard:"1"
Zurückzugebende Seite, 1 oder höher.
integer
Standard:"100"
QR-Codes pro Seite, von 1 bis 100. Ein größerer Wert wird abgelehnt.
string
Durchsucht den Titel des QR-Codes. Suchanfragen mit mehr als 2 Zeichen durchsuchen auch das gespeicherte
data. Bei Link-Typen ist das gespeicherte data der Kurzlink, daher lassen sich Ziel-URLs nicht durchsuchen.string
Standard:"createdAt"
Sortierfeld:
createdAt, updatedAt, clicks (Scans insgesamt), lastClicked (letzter Scan) oder type. type sortiert immer absteigend und ignoriert sortOrder.string
Standard:"desc"
Sortierrichtung:
asc oder desc.boolean
Standard:"false"
Pausierte QR-Codes einbeziehen.
boolean
Standard:"false"
Nur pausierte QR-Codes zurückgeben. Hat Vorrang vor
showArchived.true oder false. Fordern Sie die nächste Seite an, solange pagination.hasMore den Wert true hat. Siehe Paginierung.
QR-Code erstellen
POST /api/v1/qrs
Erstellt einen QR-Code zusammen mit seinem Kurzlink. Antwortet mit 201 Created und dem neuen QR-Code.
string
Ihr eigenes Token für Wiederholungen. Wiederholen Sie die Anfrage innerhalb von 24 Stunden mit demselben Schlüssel, erhalten Sie die ursprüngliche Antwort, statt einen zweiten QR-Code zu erstellen. Siehe Wiederholungen und Duplikate.
string
erforderlich
Was der QR-Code kodiert. Damit steht auch das Format fest, das
data haben muss. Einer von website, pdf, image, video, whatsapp, social, wifi, app, feedback, vcard, sms, payment, location, multilink, email, event.string
erforderlich
Die Payload des Typs, geprüft anhand von
qrType. Ein leerer String überspringt die Prüfung. Das Format jedes Typs steht unter QR-Code-Daten nach Typ.object
Der Kurzlink, über den der QR-Code aufgelöst wird. Optional: Fehlt er, folgt
link.url dem Wert von data.string
Name des QR-Codes, der im Dashboard angezeigt wird. Wird getrimmt, 1 bis 40 Zeichen. Fehlt er, bleibt der QR-Code ohne Titel.
string
Freie Notiz zum QR-Code. Bis zu 280 Zeichen.
string
Die Datei eines
pdf-, image- oder video-QR-Codes, hochgeladen mit dem passenden Target. Bei vcard, social und multilink ein optionales Profilbild, hochgeladen mit dem Target logo. event akzeptiert es ebenfalls, die Seite liest das Titelbild aber aus data.fileId. Andere Typen erhalten 422. Laden Sie die Datei zuerst über Dateien hoch. Siehe Dateien in QR-Codes.string
Vorlage, deren Design auf den neuen QR-Code angewendet wird. Gesendete Designfelder werden darübergelegt. Eine Vorlage mit Branded design oder AI design erhält
422 (art_template_unsupported). Eine unbekannte Vorlage oder eine aus einem anderen Workspace erhält 404.object
Logo in der Mitte: ein vorgeschlagenes Logo oder Ihre eigene Datei, hochgeladen mit dem Target
logo. Eine unbekannte Datei, ein nicht abgeschlossener Upload oder eine Datei eines anderen Targets wird abgelehnt. Siehe Anpassung.object
Zeitplan, Scan-Limit und Passwortschutz. Siehe Zugriffsregeln.
boolean
Ob der QR-Code pausiert ist.
true erstellt ihn pausiert: Scans zeigen die Pausierungsseite statt des Ziels.Wiederholungen und Duplikate
- Mit Schlüssel. Mit einem
Idempotency-Key-Header wird die Antwort 24 Stunden lang erneut ausgeliefert. - Ohne Schlüssel. Ein identischer Body, der innerhalb von 30 Sekunden gesendet wird, gilt als Duplikat.
- Wiederholungen. Eine Wiederholung liefert die gespeicherte Antwort mit
x-idempotent-replay: true. Ein neuer QR-Code liefertfalse. - Laufende Anfrage. Eine zweite Anfrage, während die erste noch läuft, erhält
409 conflict. - Fehlschläge. Eine fehlgeschlagene Erstellung gibt den Schlüssel sofort frei, sodass Sie es mit demselben Schlüssel erneut versuchen können.
- Ohne Garantie. Ist der Schutzmechanismus nicht verfügbar, werden Erstellungen ungeschützt ausgeführt.
QR-Code abrufen
GET /api/v1/qrs/{qrId}
Liefert einen QR-Code mit Kurzlink, Zugriffsregeln, Design und bei dateibasierten Typen seiner Datei.
string
erforderlich
ID des QR-Codes, aus der Antwort der Liste oder der Erstellung.
QR-Code aktualisieren
PATCH /api/v1/qrs/{qrId}
Ändert Inhalt, Ziel, Design oder Zugriffsregeln eines QR-Codes. Senden Sie nur die Felder, die Sie ändern möchten. Antwortet mit dem aktualisierten QR-Code.
string
erforderlich
ID des QR-Codes.
templateId. Wird nicht akzeptiert.link. Teilweise. Das aktuelle Ziel bleibt erhalten, wenn Sielink.urlweglassen.link.domainundlink.keyerhalten422: Der Kurzlink ist das, was der gedruckte Code kodiert. Erstellen Sie für einen anderen Kurzlink einen neuen QR-Code.data. Wird nur dann gegen den resultierenden Typ geprüft, wenn sichdataoderqrTypeändert. Ein Wechsel vonqrTypeohne passendedatawird abgelehnt. Siehe Typwechsel.- Design.
styles,frameOptionsundlogoOptionswerden mit dem gespeicherten Design zusammengeführt, sodass ein Teilobjekt nur ändert, was es nennt. Ein anderes Logo ersetzt das bisherige, behält aber dessen Größe. access. Jeder Schlüssel wird übernommen, wenn er vorhanden ist.nullentfernt eine Regel. Zugriffsregeln gehören unteraccess: Wer sie unterlinksendet, erhält422.archived. Pausiert oder reaktiviert den QR-Code und seinen Kurzlink gemeinsam, wie Pausieren und Reaktivieren.
Pausierungsstatus festlegen
PUT /api/v1/qrs/{qrId}
Legt den Pausierungsstatus direkt fest. Pausieren und Reaktivieren tun dasselbe und sind leichter lesbar.
string
erforderlich
ID des QR-Codes.
boolean
erforderlich
true, um den QR-Code zu pausieren, false, um ihn zu reaktivieren.QR-Code pausieren
POST /api/v1/qrs/{qrId}/pause
Verhindert, dass der QR-Code auf sein Ziel aufgelöst wird: Scans zeigen stattdessen die Pausierungsseite. Der gedruckte Code und sein Kurzlink bleiben gültig. Kein Anfrage-Body.
string
erforderlich
ID des QR-Codes.
QR-Code reaktivieren
POST /api/v1/qrs/{qrId}/activate
Sorgt dafür, dass ein pausierter QR-Code wieder auf sein Ziel aufgelöst wird. Zeitplan und Scan-Limit gelten weiterhin. Kein Anfrage-Body.
string
erforderlich
ID des QR-Codes.
QR-Code duplizieren
POST /api/v1/qrs/{qrId}/duplicate
Erstellt eine Kopie mit demselben Inhalt und Design. Kein Anfrage-Body. Antwortet mit 201 Created und dem neuen QR-Code.
string
erforderlich
ID des zu kopierenden QR-Codes.
- Kurzlink. Die Kopie erhält einen eigenen Kurzlink mit zufälligem Slug auf der Standarddomain des Workspace, nicht auf der Domain des Originals. Ihre Scans werden getrennt gezählt.
- Titel. Der Titel erhält das Suffix
(Copy). Das Ergebnis bleibt innerhalb von 40 Zeichen: Ein langer Titel wird vorher gekürzt. Ein QR-Code ohne Titel bleibt ohne Titel. - Nicht kopiert. Zugriffsregeln (Passwort, Zeitplan, Scan-Limit) und der Pausierungsstatus. Die Kopie ist immer aktiv.
- Dateien. PDF- und Bilddateien, auch die von Bundles und Galerien, werden kopiert, sodass sie der Kopie gehören. Videodateien und Designdateien wie Logos teilt die Kopie mit dem Original.
QR-Code löschen
DELETE /api/v1/qrs/{qrId}
Löscht den QR-Code und seinen Kurzlink. Antwortet mit der gelöschten ID.
string
erforderlich
ID des QR-Codes.
string
ID des gelöschten QR-Codes.
boolean
Immer
true.QR-Code-Bild herunterladen
GET /api/v1/qrs/{qrId}/download
Rendert den QR-Code mit seinem Design und liefert die Datei.
string
erforderlich
ID des zu rendernden QR-Codes, aus der Antwort der Liste oder der Erstellung.
string
Standard:"jpg"
Ausgabeformat:
jpg, png, svg, pdf (eine A4-Seite) oder eps. Ein Branded design oder AI design lässt sich nur als jpg, png oder pdf herunterladen.integer
Standard:"1024"
Bildgröße in Pixeln:
1024, 2048 oder 4096. svg und pdf ignorieren sie. Ein Branded design oder AI design lässt sich nur mit 1024 herunterladen.- Body. Der Antwort-Body ist die Datei. Der vorgeschlagene Dateiname steht im
Content-Disposition-Header. Er wird aus dem Titel gebildet, bei einem QR-Code ohne Titel lautet erqr-code. - Caching. Antworten enthalten einen
ETagundCache-Control: private, max-age=3600, must-revalidate. Senden Sie denETaginIf-None-Matchzurück, um304 Not Modifiedzu erhalten, wenn sich der QR-Code nicht geändert hat. - Fehler. Ein nicht unterstütztes Format oder eine nicht unterstützte Auflösung erhält
400 bad_request. Die Fehlermeldung nennt den Grund:qr_download_invalid_format,qr_download_invalid_resolution,qr_download_art_format_unsupportedoderqr_download_art_resolution_unsupported.
Zugriffsregeln
Senden Sie beim Erstellen oder Aktualisieren einaccess-Objekt, um Start und Ende zu planen, die Anzahl der Scans zu begrenzen oder ein Passwort zu verlangen. Weggelassene Regeln bleiben unverändert, und null entfernt eine Regel. Das vollständige Verhalten mit Beispielen steht unter Zugriffsregeln.
Design-Objekte
styles, frameOptions und logoOptions legen Formen von Punkten und Ecken, Farben, Rahmen und Logo fest. Sie funktionieren bei QR-Codes, Vorlagen und der Massenerstellung gleich. Unbekannte Formen, Rahmen oder Logos werden abgelehnt. Alle zulässigen Werte und ein ausgearbeitetes Beispiel finden Sie unter Anpassung.
Häufige Probleme
422 beim Festlegen von Passwort, Zeitplan oder Scan-Limit
422 beim Festlegen von Passwort, Zeitplan oder Scan-Limit
Senden Sie die Regel unter
access, nicht unter link.422 beim Ändern von link.domain oder link.key
422 beim Ändern von link.domain oder link.key
Der Kurzlink lässt sich nach dem Erstellen nicht ändern, weil der gedruckte Code ihn kodiert. Erstellen Sie stattdessen einen neuen QR-Code.
422 "Expected … for qrType"
422 "Expected … for qrType"
data passt nicht zum Format von qrType. Prüfen Sie den Typ unter QR-Code-Daten nach Typ.409 conflict beim Erstellen eines QR-Codes
409 conflict beim Erstellen eines QR-Codes
Eine identische Erstellung läuft noch, oder
link.key ist vergeben. Versuchen Sie es erneut, sobald die erste Anfrage abgeschlossen ist. Mit einem Idempotency-Key liefert die Wiederholung den ursprünglichen QR-Code.Der Download ist ein JPEG statt eines PNG
Der Download ist ein JPEG statt eines PNG
Die Parameter heißen
format und resolution, und format ist standardmäßig jpg. Senden Sie format=png.404 für einen QR-Code, den ich im Dashboard sehe
404 für einen QR-Code, den ich im Dashboard sehe
Jede Anfrage läuft im Workspace Ihres API-Schlüssels. Prüfen Sie, ob der QR-Code zu diesem Workspace gehört. Siehe Authentifizierung.