Webhooks #
Webhooks können verwendet werden, um externe Benachrichtigungen über Benutzer- und/oder Kundenänderungen zu generieren. Diese Benachrichtigungen sind in Kombination mit der REST API unerlässlich, um die Benutzerbereitstellung zu automatisieren und externe Konfigurations- und Abrechnungssysteme aktuell zu halten.
Die Web-Hook-Events werden C.R.U.D.-Events bei Nutzern und Kunden ausgelöst. Die REST API kann dann von der empfangenden Anwendung verwendet werden, um die spezifischen Informationen zu den Änderungen anhand der im Webhook-Payload bereitgestellten IDs abzufragen.
Parameter #
| Parameter | Optionen | Beschreibung |
|---|---|---|
| Entitätstyp | Nutzer, Kunde | Die Entität, für die der Auslöser feuern kann. Erstelle mehrere Trigger, um sowohl Benutzer- als auch Kundenänderungen zu erfassen. |
| Veranstaltung | Erstellt / Aktualisiert / Gelöscht | Wähle eine oder mehrere Ereignistypen aus, bei denen der Auslöser ausgelöst wird. *Hinweis: Der Ereignistyp, der einen Auslöser auslöst, ist in der Nutzlast enthalten. |
| URL | https:// | Stellen Sie eine HTTPS URL die der Trigger beim Auslösen aufruft. |
| Anforderungsmethode | GET, POST, PUT | Wählen Sie die erforderliche Anforderungsmethode für den Webhook. |
| Anfrageformat | JSON, Formulardaten | Wählen Sie das erforderliche Anfrageformat für den Webhook, wenn POST oder PUT als Anfrage-Methode ausgewählt werden. |
| Zusätzliche Nutzlastdaten | Schlüssel-/Wertpaar | Falls erforderlich, können zusätzliche statische Informationen zum Webhook-Payload hinzugefügt werden. Geben Sie alle zusätzlichen Daten als Schlüssel-/Wertpaare nach Bedarf ein. |
| Wiederholungsversuche | 0 - 10 | Standard 1. Geben Sie die Anzahl der Male ein, die der Webhook erneut versuchen sollte, falls es zu irgendeinem Zeitpunkt einen erfolglosen Versuch gibt |
warning
Die Webhook-Triggerkonfiguration wird zwischengespeichert, um die Leistung zu verbessern. Neue Auslöser oder Änderungen bestehender Auslöser können bis zu 10 Minuten dauern, bis sie wirken.
info
Die Auszeit für eine Webhook-Anfrage beträgt 10 Sekunden. Die Zeit zwischen den Wiederholungsversuchen entspricht der Versuchszahl x 2 Sekunden
Nutzlastdaten #
Die untenstehende Tabelle zeigt die im Trigger-Payload bereitgestellten Daten.
| Parameter | Beschreibung |
|---|---|
| triggerID | Die eindeutige ID für den Auslöser, für den die Web-Hook-Anfrage abgefeuert wird. |
| id | Die ID der Entität, die sich ändert (Benutzer-ID oder Mieter-ID). |
| MieterID | Die Kunden-Tenant-ID, mit der das Ereignis verknüpft ist. |
| eventType | Der Ereignistyp, der den Web-Hook erzeugt. Entweder create, update oder delete |
| customData | Wenn sie gegen den Trigger konfiguriert sind, werden zusätzliche Informationen zum Nutzlastschlüssel/Wert-Paar hierher übermittelt. |
tip
Das triggerId kann gefunden werden, indem man einen konfigurierten Trigger im Reseller Portal bearbeitet und die GUID vom Ende des URL kopiert. z. B. https://reseller.myreports.com/en-GB/webhooks/00000000-0000-0000-0000-000000000000
Beispiel JSON Nutzlast: #
Beispielformat JSON für PUT/POST-Anfragen:
{
"triggerId": "00000000-0000-0000-0000-000000000000",
"id": "1468547c-a945-41d4-95e3-ffffffffffff",
"tenantId": "a0ea7445-df78-4487-ffffffffffff",
"configurationType": "user",
"eventType": "update",
"customData": {
"myitemkey1": "myitemval1",
"myitemkey2": "myitemval2"
}
}
Beispiel für eine FORM-Datennutzlast #
Beispiel für Formulardaten-Payload für PUT/POST-Anfragen:
[triggerId, 00000000-0000-0000-0000-000000000000], [tenantId, a0ea7445-df78-4487-ffffffffffff], [id, 1468547c-a945-41d4-95e3-ffffffffffff], [configurationType, user], [eventType, update],[myitemkey1, myitemval1], [myitemkey2, myitemval2]
Beispiel GET Anfrage #
Wenn die Request-Methode GET für den Webhook konfiguriert ist, werden die Payload-Daten als Querystring-Parameter in der Anfrage übermittelt.
http://example.url.com?triggerId=00000000-0000-0000-0000-000000000000&tenantId=a0ea7445-df78-4487-ffffffffffff&id=1468547c-a945-41d4-95e3-ffffffffffff&configurationType=user&eventType=update&hook=get&myitemkey1=myitemval1&myitemkey2=myitemval2