Zum Inhalt springen

Server-zu-Server (REST-API) Integration

Die API ermöglicht es Ihnen, Verträge direkt in Ihrem eigenen Backend zu bestätigen und die Einwilligungen sicher an das HashEntry Consent-Log-System zu übertragen.

API-Anfragen müssen den X-API-Key-HTTP-Header mit Ihrem einzigartigen Site-API-Schlüssel aus dem HashEntry-Dashboard enthalten.

Alle POST-Anfragen müssen mit HMAC-SHA256 signiert werden, um die Integrität der Anfrage und den Schutz vor Replay-Angriffen zu gewährleisten. Das JS SDK übernimmt dies automatisch; bei serverseitigen Integrationen müssen Sie die Signierung manuell implementieren.

HeaderBeschreibung
X-API-KeyIhr Site-API-Schlüssel
X-SignatureHMAC-SHA256-Signatur der kanonischen Anfrage
X-TimestampUnix-Zeitstempel (Sekunden) — muss innerhalb von ±300s der Serverzeit liegen
X-NonceEinmalige UUID pro Anfrage — verhindert Replay-Angriffe
1. timestamp = aktueller Unix-Zeitstempel (Sekunden)
2. nonce = zufällige UUID
3. bodyHash = SHA-256(Anfragekörper als JSON-String)
4. canonical = "{METHOD}\n{PATH}\n{timestamp}\n{nonce}\n{bodyHash}"
5. signature = HMAC-SHA256(canonical, apiKey)

Für automatisierte Backend-Integrationen können Sie den S2S Auth-Ablauf verwenden, der API-Schlüssel-Authentifizierung mit JWT-Bearer-Tokens kombiniert.

  1. Erstellen Sie ein Mitglied mit der Rolle api_user über das HashEntry-Dashboard (Einstellungen → Team → Einladen)
  2. Der API-Benutzer meldet sich über POST /api/v1/auth/login an und erhält ein JWT-Token
  3. Beide Header in S2S-Anfragen verwenden:
X-API-Key: he_live_xxx
Authorization: Bearer {jwt_token}
MethodeEndpunktBeschreibung
POST/tool/v1/s2s/consentsEinzelne Einwilligung erfassen
POST/tool/v1/s2s/consents/batchBatch-Einwilligungen erfassen
GET/tool/v1/s2s/consents/exportEinwilligungsdaten exportieren

Hinweis: Die Rolle api_user ist auf den S2S-API-Zugang beschränkt — eine Panel-Anmeldung ist nicht möglich.

Endpunkt: POST https://system.hashentry.com/tool/v1/consents

Erforderliche Header:

Content-Type: application/json
X-API-Key: IHR_GEHEIMER_API_SCHLÜSSEL
X-Signature: {hmac_signatur}
X-Timestamp: {unix_zeitstempel}
X-Nonce: {einmalige_uuid}
{
"consent_type": "cookie_consent",
"decision": "accept",
"document_version_id": "datenschutz-uuid",
"metadata": {
"categories": {
"analytics": true
}
}
}