Zum Inhalt springen

API-Überblick

Die Engine ist als kleine HTTP-API veröffentlicht. Es gibt zwei Wege, dich zu authentifizieren.

Zwei Kanäle

1. RapidAPI Marketplace (Bestandskunden)

Ruf https://api.qr-branding.com mit deinem RapidAPI-Proxy-Secret auf. KI-Endpunkte nutzen deinen eigenen LLM-Schlüssel, oder den verwalteten Endpunkt, der keinen braucht. Keine Änderung gegenüber der ursprünglichen Signet QR API.

2. Consumer-Credit-Pakete (neu)

Kauf ein Paket unter /pricing. Deine KI-Endpunkte nutzen serverseitige LLM-Schlüssel (Groq / Gemini / OpenAI), und pro erfolgreicher Generierung werden Credits abgebucht. Der Editor im Frontend nutzt diesen Kanal transparent.

Endpunkte

MethodePfadZweck
POST/api/qr/generateEinen QR-Code aus einer expliziten QrConfig rendern.
POST/api/qr/ai/generateMarketplace-KI – eigener LLM-Schlüssel.
POST/api/qr/ai/generate-managedVerwaltete Marketplace-KI – kein LLM-Schlüssel nötig.
POST/api/qr/ai/generate/serverConsumer-KI – serverseitiger LLM-Schlüssel, Abrechnung über Credits.
GET/api/qr/templatesDie 118 vorgefertigten Vorlagen auflisten (optional ?category=…).
POST/api/qr/templates/{templateId}Einen QR-Code per Vorlagen-ID rendern, mit optionalen Überschreibungen.
POST/api/qr/content/wifiHelfer: WLAN-Payload-String bauen.
POST/api/qr/content/vcardHelfer: vCard-Payload-String bauen.
POST/api/qr/content/geoHelfer: Geostandort-Payload-String bauen.
GET/api/qr/ai/providersUnterstützte LLM-Anbieter + Modelle auflisten.
GET/api/pingHealth-Check (anonym).

Auth-Header

RapidAPI

X-RapidAPI-Proxy-Secret: <secret>

Internes BFF (Consumer-Website)

X-Internal-Service-Secret: <secret>
X-Internal-Customer-Id:    <customer id>
X-Internal-Ts:             <unix seconds>
X-Internal-Signature:      <HMAC-SHA256(signing-key, "{customerId}.{ts}")>

Anti-Replay-TTL: 60 Sekunden. Wird intern vom Next.js-Frontend genutzt – diese Header setzt du nie von Hand.

Fehlerformat

Jede Antwort außerhalb von 2xx hat eine stabile Struktur:

{
  "success": false,
  "error": "Content length (5000) exceeds maximum allowed (4296 characters).",
  "code": "CONTENT_TOO_LONG",
  "field": "content"
}

field ist gesetzt, wenn sich der Fehler auf eine bestimmte Eingabe bezieht.

Rate-Limits

StufePro MinuteHinweise
RapidAPI allgemein60Doku, Ping, Helfer
RapidAPI Generierung30/api/qr/generate
RapidAPI KI15externe LLM-Aufrufe
Consumer allgemein120pro Kunden-ID
Consumer Generierung60pro Kunden-ID
Consumer KI30pro Kunden-ID

Zusätzlich gibt es globale Obergrenzen pro Minute, die die kostenlose Azure-Stufe schützen. Erreichst du eine davon, bekommst du 429 mit einem Retry-After-Header.

Ausgabeformate

png (Standard, base64), jpg, svg, pdf, webp. Setze "responseType": "binary", um die Datei direkt herunterzuladen, statt base64 in JSON zu erhalten.