API Service
Authentifizierung

Authentifizierung

Die TikFlow External Scan API verwendet API-Keys zur Authentifizierung. Je nach Integrationstyp wird der Key unterschiedlich übermittelt.


Integrationstypen

Beim Erstellen eines API-Keys wählen Sie den Integrationstyp:

TypAuth-MethodeVerwendung
Eigene Software / APIx-api-key HeaderEigene Anwendungen, Scripts, Terminals
TikFlow Hardware?key= Query-ParameterPhysische Zutrittskontrollgeräte

💡 Warum zwei Methoden? Physische Hardware-Controller (Drehkreuze, Türcontroller) können häufig keine eigenen HTTP-Header setzen. Daher wird der API-Key bei Hardware-Integrationen als URL-Parameter übergeben.


API-Key erstellen

Schritt 1: Dashboard öffnen

Melden Sie sich im TikFlow Dashboard (opens in a new tab) an und navigieren Sie zu External API im Seitenmenü.

Schritt 2: Integrationstyp wählen

Wählen Sie zwischen:

  • Eigene Software / API – Für programmatische Anbindung
  • TikFlow Hardware – Für physische Zutrittskontrollgeräte

Schritt 3: Neuen Key anlegen

Klicken Sie auf „API-Key erstellen" und vergeben Sie einen Namen (z.B. „Haupteingang Scanner" oder „Drehkreuz Eingang Ost").

Schritt 4: Event-Scope festlegen (optional)

Sie können den API-Key auf bestimmte Events beschränken:

OptionBeschreibung
Alle EventsDer Key kann Tickets aller Ihrer Events scannen
Ausgewählte EventsDer Key kann nur Tickets der gewählten Events scannen

💡 Tipp: Für maximale Sicherheit erstellen Sie separate Keys pro Standort oder Event.

Schritt 5: Key sicher speichern

Nach dem Erstellen wird der API-Key einmalig angezeigt.

Bei „Eigene Software / API":

  • Kopieren Sie den API-Key und speichern Sie ihn sicher

Bei „TikFlow Hardware":

  • Kopieren Sie den API-Key und die angezeigten URLs:
    • Card URL: /scan/hw/consume?key=IHR_KEY
    • Heart URL: /scan/hw/heartbeat?key=IHR_KEY
  • Diese URLs können Sie direkt in Ihr Gerät eintragen

⚠️ Wichtig: Der API-Key kann später nicht mehr eingesehen werden. Teilen Sie ihn niemals öffentlich!


Authentifizierung: Eigene Software / API

Jeder API-Request benötigt den API-Key im HTTP-Header:

HeaderWertErforderlich
x-api-key{ihr_api_key}✅ Ja
Content-Typeapplication/json✅ Ja (bei POST)

Beispiel

curl -X POST https://scan.tikflow.de/scan/consume \
  -H "x-api-key: iNQaDfEYDla...27aa8JG8k" \
  -H "Content-Type: application/json" \
  -d '{"ticketCode": "TK1.tkt_abc123.xyz789"}'

Authentifizierung: TikFlow Hardware

Hardware-Geräte übermitteln den API-Key als URL-Query-Parameter:

https://scan.tikflow.de/scan/hw/consume?key=IHR_API_KEY

Das Gerät sendet den QR-Code-Inhalt in seinem eigenen Datenformat – TikFlow erkennt das Gerätemodell automatisch und verarbeitet den Request entsprechend.

ℹ️ Die vollständige Konfigurationsanleitung finden Sie unter Hardware-Integration.


Event-Scope

Der Event-Scope bestimmt, welche Events mit einem API-Key gescannt werden können – unabhängig vom Integrationstyp.

Wie funktioniert es?

  1. Das Event wird automatisch aus dem Ticket-Code ermittelt
  2. Die API prüft, ob der verwendete Key Zugriff auf dieses Event hat
  3. Bei fehlendem Zugriff wird 403 Forbidden zurückgegeben

Beispiel: Key ohne Zugriff

{
  "valid": false,
  "status": "rejected",
  "reason": "event_not_allowed",
  "message": "API-Key hat keinen Zugriff auf dieses Event"
}

API-Key verwalten

Key bearbeiten

Im Dashboard können Sie jederzeit:

  • Den Namen ändern
  • Den Event-Scope anpassen
  • Den Key aktivieren/deaktivieren

Key löschen

Gelöschte Keys werden sofort ungültig. Alle Requests mit diesem Key erhalten 401 Unauthorized.


Limits

LimitWert
Max. API-Keys pro Organisation3
Anfragen pro Sekunde pro Key50
Anfragen pro Monat pro Key500.000

Sicherheitshinweise

✅ Do❌ Don't
API-Key serverseitig speichernKey im Frontend-Code verwenden
Separate Keys pro StandortEinen Key für alles nutzen
Keys regelmäßig rotierenAlte Keys nicht löschen
HTTPS verwendenHTTP-Requests senden
Hardware-URLs nur am Gerät konfigurierenURLs in öffentlichen Dokumenten teilen

ℹ️ Bei Verdacht auf Kompromittierung: Löschen Sie den Key sofort im Dashboard und erstellen Sie einen neuen.