Skip to content

Codesetup ​

Der Codesetup-Bereich bildet das Kunden-Onboarding ab (Pairing): codesetup/set erzeugt einen Setup-Code sowie eine Aktivierungs-URL für die Kund:in; codesetup/get liefert nach der Freischaltung durch die Kund:in die individuellen HMAC-Zugangsdaten. Beide Requests werden mit den Partner-HMAC-Zugangsdaten signiert. Der komplette Ablauf ist unter Erste Schritte beschrieben.

Verbindung anfordern (Pairing-Code erzeugen) ​

POST PARTNER-HMAC /codesetup/set

Schritt 1 des Kunden-Onboardings: Erzeugt einen sechsstelligen Setup-Code sowie die zugehörige Aktivierungs-URL. URL oder Code werden an die Kund:in übermittelt, die die Verbindung in der eBOnaut-App per Link oder manueller Codeeingabe bestätigt. Mit der Aktivierung generiert der Server automatisch die individuellen HMAC-Zugangsdaten (hmac_ID, hmac_secret_key, hmac_encryption_key) der Kund:in und hinterlegt sie im Setup-Eintrag. Der Code ist an den Device-Hash des aufrufenden Systems gebunden und eine Stunde gültig.

Response ​

Setup-Code und Aktivierungs-URL für die Weitergabe an die Kund:in:

json
{
  "codesetup_ID": "483920",
  "codesetup_url": "https://app.ebonaut.io/activate/483920"
}

Mögliche Fehler ​

CodeMeldungBedingung
403access deniedHMAC-Signatur ungültig oder abgelaufen, hmac_unique wiederverwendet oder Origin nicht freigegeben
500–Interner Fehler – generische Meldung
503–Rate-Limit überschritten (250 Requests/s pro IP)

Zugangsdaten abrufen (Polling) ​

POST PARTNER-HMAC /codesetup/get/{codesetup_ID}

Schritt 2: Fragt den Status des Setup-Codes ab. Bis zur Aktivierung durch die Kund:in ist regelmäßiges Polling erforderlich (empfohlenes Intervall: 5–10 Sekunden). Der Status 409 signalisiert eine ausstehende Aktivierung. Nach erfolgreicher Aktivierung liefert der Endpunkt einmalig die HMAC-Zugangsdaten der Kund:in – der Eintrag wird anschließend gelöscht. Speichere die Credentials umgehend sicher; ein erneuter Abruf ist nicht möglich.

Pfad-Parameter ​

ParameterBeispielBeschreibung
codesetup_ID7726226-stelliger Setup-Code aus codesetup/set

Response ​

Die HMAC-Zugangsdaten der Kund:in – einmalig lesbar, danach wird der Eintrag gelöscht:

json
{
  "hmac_ID": "<22 Zeichen>",
  "hmac_secret_key": "<32 Zeichen>",
  "hmac_encryption_key": "<32 Zeichen>"
}
FeldTypBeschreibung
hmac_IDstring22-stellige Key-ID – wird in jedem Request als hmac_ID gesendet
hmac_secret_keystring32-stelliges Secret für die HMAC-SHA256-Signatur
hmac_encryption_keystring32-stelliger Schlüssel für die AES-256-CBC-Verschlüsselung der message

Mögliche Fehler ​

CodeMeldungBedingung
404codesetup not foundCode unbekannt oder Device-Hash stimmt nicht mit dem Ersteller überein
410codesetup expiredCode ist nach einer Stunde abgelaufen – neuen Code per codesetup/set anfordern
409codesetup data not foundCode existiert, die Aktivierung durch die Kund:in steht noch aus – Polling fortsetzen
406validationinvalidcodesetup_ID nicht exakt 6 Zeichen
403access deniedHMAC-Signatur ungültig oder abgelaufen, hmac_unique wiederverwendet oder Origin nicht freigegeben
500–Interner Fehler – generische Meldung
503–Rate-Limit überschritten (250 Requests/s pro IP)

Gültigkeit der HMAC-Zugangsdaten

Die über codesetup/get bezogenen Kunden-Zugangsdaten sind initial 3 Stunden gültig. Durch den ersten authentifizierten Request mit den neuen Credentials – üblicherweise POST /user/me – wird die Gültigkeit auf 3 Monate verlängert. Jeder weitere erfolgreiche Request erneuert die Gültigkeit erneut auf 3 Monate (rollierend). Ohne diesen ersten Request verfallen die Zugangsdaten nach 3 Stunden.

Mit 🌈 entwickelt in Berlin 🐻 & Köln ⛪
Hosting zu 100% in Deutschland 🇩🇪