Zum Hauptinhalt springen
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.
Ein QR-Code in GetQR besteht aus dem Bild und einem Kurzlink, über den er aufgelöst wird. Beim Erstellen eines QR-Codes entsteht auch sein Kurzlink, sodass Sie das Ziel später ändern können, ohne den Code neu zu drucken.

QR-Code-Daten nach Typ

Das data-Format jedes der 16 Typen.

Anpassung

Punktstile, Farben, Rahmen und Logos.

Zugriffsregeln

Zeitplan, Scan-Limit und Passwort.
Scan-Statistiken eines QR-Codes finden Sie unter Analytics.

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.
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.
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.
Geheimnisse und interne IDs (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.
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.
Boolesche Parameter erwarten die Strings 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.
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
Formen und Farben von Punkten und Ecken. Siehe Anpassung.
object
Rahmen um den QR-Code samt Text der Handlungsaufforderung. Siehe Anpassung.
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.
Unbekannte Felder werden ohne Fehler verworfen. Siehe Nicht über die API unterstützt.

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 liefert false.
  • 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.
Siehe auch Idempotenz.

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.
Die Antwort ist das vollständige QR-Code-Objekt.

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.
Der Body akzeptiert dieselben Felder wie QR-Code erstellen, alle optional, mit diesen Unterschieden:
  • templateId. Wird nicht akzeptiert.
  • link. Teilweise. Das aktuelle Ziel bleibt erhalten, wenn Sie link.url weglassen. link.domain und link.key erhalten 422: 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 sich data oder qrType ändert. Ein Wechsel von qrType ohne passende data wird abgelehnt. Siehe Typwechsel.
  • Design. styles, frameOptions und logoOptions werden 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. null entfernt eine Regel. Zugriffsregeln gehören unter access: Wer sie unter link sendet, erhält 422.
  • archived. Pausiert oder reaktiviert den QR-Code und seinen Kurzlink gemeinsam, wie Pausieren und Reaktivieren.
Was Sie bei den einzelnen Typen nach dem Druck ändern können, steht unter QR-Code-Daten nach Typ.

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.
Das Löschen ist endgültig. Der gedruckte Code und sein Kurzlink funktionieren nicht mehr, und der Scanverlauf ist nicht mehr abrufbar. Pausieren Sie den QR-Code stattdessen, wenn Sie ihn eventuell wieder brauchen.
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 er qr-code.
  • Caching. Antworten enthalten einen ETag und Cache-Control: private, max-age=3600, must-revalidate. Senden Sie den ETag in If-None-Match zurück, um 304 Not Modified zu 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_unsupported oder qr_download_art_resolution_unsupported.

Zugriffsregeln

Senden Sie beim Erstellen oder Aktualisieren ein access-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

Senden Sie die Regel unter access, nicht unter link.
data passt nicht zum Format von qrType. Prüfen Sie den Typ unter QR-Code-Daten nach Typ.
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.
Die Parameter heißen format und resolution, und format ist standardmäßig jpg. Senden Sie format=png.
Jede Anfrage läuft im Workspace Ihres API-Schlüssels. Prüfen Sie, ob der QR-Code zu diesem Workspace gehört. Siehe Authentifizierung.

Wie geht es weiter?

QR-Code-Daten nach Typ

Anpassung

Zugriffsregeln

Analytics