Webhooks

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
Hand Left 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.
Information Circle 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.
Color Wand 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