API Webhooks, Testplans und API-Token-Info
In der Welt der APIs ist Stillstand keine Option. Mit diesem Update erweitern wir die Funktionalität der Memida-API erheblich: Die Einführung von Webhooks ermöglicht Echtzeit-Benachrichtigungen, während die neuen Testplan-Endpunkte eine präzisere Verwaltung und Integration von Prüfplänen erlauben. Zusätzlich bietet die erweiterte API-Token-Info mehr Kontext und Sicherheit für Ihre Anwendungen.
Abb.:1 Memida API
Neue Webhook-API
Neue Endpunkte
GET /api/v1/webhooks/subscriptionsPOST /api/v1/webhooks/subscriptionsPUT /api/v1/webhooks/subscriptions/{id}DELETE /api/v1/webhooks/subscriptions/{id}POST /api/v1/webhooks/subscriptions/{id}/test
Wichtige Regeln
- Pro Subscription ist genau ein
event_typeerlaubt. target_urlundevent_typesind nach Erstellung immutable.- Für URL- oder Event-Wechsel muss eine neue Subscription angelegt werden.
descriptionsteht als freies Feld für FE-/Benutzerkontext zur Verfügung.- Die Eventtypen sind direkt in der OpenAPI-Doku dokumentiert.
Aktuelle Event-Typen
apparatus.createdapparatus.updatedinspection.createdinspection.updated
Outgoing Webhooks
Outgoing-Header:
X-Memida-IdX-Memida-EventX-Memida-TimestampX-Memida-Signature(v1=<hmac>)
Signatur-Bildung:
HMAC-SHA256(secret, timestamp + "." + rawJsonBody)
Ein Beispiel zur Validierung der Signatur findet sich in der Api Dokumentation unter Webhooks.
Payload enthält:
event_id,event_type,organization_id(UUID),company_id(UUID)data.resource.{type,id,api_path}- optional
data.changed - optional
data.changed_fields(wenn Delta fehlt oder unvollständig ist)
Delivery-Semantik:
- at-least-once
- Empfänger sollten über
event_iddeduplizieren
Retries/Deaktivierung:
- Retry-Backoff ist aktiv.
- Eine Subscription wird nach 20 aufeinanderfolgenden Fehlschlägen deaktiviert.
Security:
- Nur HTTPS-Ziele
- SSRF-Schutz (keine privaten/lokalen Ziele, keine URL-Credentials)
- Kein Redirect-Follow
- Timeout: connect 3s, total 10s
Benutzeransicht
Abb.:2 Webhook Benutzer Ansicht
Webhooks können auch von einem admin im Benutzerbereich angelegt (1), eingesehen und veraltet werden. Zum einfachen Testen der Funktionalität können Test-Anfragen generiert (3) und Webhooks wenn sie nicht mehr benötigt werden deaktiviert (2) werden. Das Secret wird automatisch generiert und dem Benutzer nur 1x angezeigt, kopieren Sie sich das Secret und überprüfen Sie es, sobald ein Webhook-Event ausgelöst wird.
API Token Info
GET /api/v1/info liefert jetzt zusätzlich:
organization_id(UUID)company_id(UUID)
Damit können Clients eingehende Webhooks eindeutig dem richtigen Organisation- und Token-Kontext zuordnen.
Testplans API
Neue Endpunkte
GET /api/v1/testplans(Pagination, Filterapparatus_id, Sort/Page/Limit)POST /api/v1/testplans(JSON oder multipart mitfiles)GET /api/v1/testplans/{testplan_id}PUT /api/v1/testplans/{testplan_id}(inkl. optionaler Datei-Uploads)
Neue Informationen zur Bedienung der Funktion finden Sie in unserem Handbuch.
