Zum Hauptinhalt springen

Webhooks

Allgemein

Memida + Webhooks

Ereignisse einfach und in Echtzeit in andere Systeme übertragen.

Webhooks ermöglichen eine ereignisbasierte Kommunikation in Echtzeit zwischen Memida und Ihren Anwendungen über HTTP. Statt regelmäßig Daten per Polling abzufragen, sendet Memida bei einem relevanten Ereignis sofort einen POST-Request an Ihren Endpunkt.

Damit lassen sich eigene Integrationen auf Ihrer Infrastruktur umsetzen, als Alternative oder Ergänzung zu Plattformen wie Zapier und Make. Webhooks ergänzen die REST-Schnittstelle ideal: Die API ist für gezielte Datenabfragen zuständig, Webhooks für unmittelbare Reaktionen auf Änderungen.

Funktionsweise im Überblick

  1. Sie legen eine Webhook-Subscription mit target_url und event_type an.
  2. Memida sendet bei Eintritt des Events einen signierten HTTP-Request an Ihren Endpunkt.
  3. Ihr System validiert die Signatur und verarbeitet die Nutzdaten.
  4. Bei Bedarf laden Sie Detaildaten über die API nach.

Verfügbare Event-Typen

Aktuell stehen folgende Event-Typen zur Verfügung:

  • apparatus.created
  • apparatus.updated
  • inspection.created
  • inspection.updated

Webhook anlegen

Im Benutzerbereich

Abb.:2 Webhook Benutzer Ansicht

Mit einem klick auf "Webhook anlegen" (1) können Sie einen neuen Webhook Ihrem Unternehmen hinzufügen. Nach dem anlegen wird Ihnen einmalig die Signatur des Webhooks angezeigt, diese ist wichtig für die spätere Authentizitätsprüfung in Ihrem System welches den Webhook-Standart implementiert. Ob Ihr Webhook aktiv ist sehen Sie an der Status anzeige an der linken Seite (2).

Über die API

curl -X POST "https://api.memida.de/api/v1/webhooks/subscriptions" \
-H "Auth: live IHR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"target_url": "https://example.com/webhooks/memida",
"event_type": "apparatus.updated",
"description": "ERP Sync",
"is_active": true
}'

Wichtige Eigenschaften:

  • Pro Subscription ist genau ein event_type möglich.
  • target_url und event_type sind nach Erstellung nicht änderbar.
  • Das signing_secret wird bei Erstellung nur einmal zurückgegeben.

Header und Signaturprüfung

Memida sendet folgende Header:

  • X-Memida-Id
  • X-Memida-Event
  • X-Memida-Timestamp
  • X-Memida-Signature (v1=<hmac>)

Die Signatur wird so gebildet:

HMAC-SHA256(secret, timestamp + '.' + rawJsonBody)

Empfehlung für eine sichere Verarbeitung:

  • Verifizieren Sie jede Signatur serverseitig.
  • Verarbeiten Sie Events idempotent (Deduplizierung über event_id).
  • Antworten Sie schnell mit 2xx und führen Sie schwere Folgearbeiten asynchron aus.

Test-Webhook auslösen

Zum Testen Ihrer Verarbeitung können Sie eine Testzustellung starten, dafür klicken Sie auf das Menü (3) > Test senden oder wählen den Weg über die API und lösen einen Test Webhook dort aus, siehe nachfolgendes Beispiel.

curl -X POST "https://api.memida.de/api/v1/webhooks/subscriptions/<SUBSCRIPTION_ID>/test" \
-H "Auth: live IHR_API_TOKEN" \
-H "Accept: application/json"

Weiterführende Dokumentation