Webhooks
7 endpoints
Registrierung und Verwaltung von Webhooks: verfügbare Ereignistypen lesen, Endpunkte an- und abmelden, das Datenformat setzen und das Zustellprotokoll abrufen.
Ein Webhook liefert keine Nutzdaten, sondern eine Referenz auf den Datensatz — entityId samt Abruf-Endpunkt. Den eigentlichen Abruf macht Ihr System selbst.
Zwei Dinge sind für den Betrieb entscheidend:
- Antworten Sie sofort mit
200. Nach 10 fehlgeschlagenen Zustellungen wird die Registrierung pausiert. - Auch dann gehen keine Ereignisse verloren: sie werden weiter protokolliert und lassen sich über den Protokoll-Endpunkt nachträglich abrufen.
Wie das im Zusammenspiel aussieht, zeigt der Integrationsguide.
Webhook Ereignistypen lesen
GET /webhooks/event/types
Dieser GET-Endpunkt liefert alle in talent.Flow auslösbaren Ereignisse zurück. Die Ids dieser Ereignisse werden für die Registrierung von Webhook Endpunkten benötigt.
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
eventTypes |
WebhookReadEventTypeDto[] | no | Liste der verfügbaren Webhook-Ereignistypen |
Webhook Einstellungen lesen
GET /webhooks/settings
Dieser GET-Endpunkt liefert die Einstellung für die Webhooks zurück.
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
settings |
WebhookReadSettingsDto | no | Aktuelle Webhook-Einstellungen |
Webhook Ereignisdatentyp setzen
PUT /webhooks/settings/eventdatatype/{webhookEventDataType}
Diese PUT-Endpunkt ermöglicht die Änderung des Webhook Datenformates
Es stehen zwei verschiedene Datenformate zur Verfügung
Standard (talent360)
- Id: 1482
Azure Cloud Event
- Id: 1483
Response:
200 (OK) mit einem leeren Response
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
webhookEventDataType |
path | WebhookEventDataType | yes |
Responses
200 — OK
400 — Ungültige Anfrage oder Validierungsfehler
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
404 — Webhook-Einstellung nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Subscriptions lesen
GET /webhooks/subscriptions
Dieser GET-Endpunkt liefert alle registrierten Webhook Endpunkte zurück.
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
subscriptions |
WebhookReadSubscriptionsDto[] | no | Liste der Webhook-Registrierungen |
Subscribe
POST /webhooks/subscribe
Dieser POST-Endpunkt ermöglicht die Registirerung von Webhook Endpunkten, die beim Auslösen eines Ereignisses aufgerufen werden soll.
Für die Registrierung von Webhook Endpunkten gelten die folgenden Regeln:
Webhook Endpunkte werden immer pro Ereignis registriert
Ein Webhook Endpunkt kann für verschiedene Ereignisse verwendet werden
Auf ein Ereignis können verschiedene Webhook Endpunkte registriert werden
Die Kombination aus Webhook Endpunkt und Ereignis muss einzigartig sein.
Wurde ein Webhook Endpunkt durch das Erreichen der Fehlerschwelle pausiert, kann dieser durch eine erneute Registrierung wieder aktiviert werden.
Ein Webhook Endpunkt muss über einen POST-Aufruf öffentlich erreichbar sein
Hinweis:
Jeder registrierte Webhook Endpunkt hat einen eigenen Zähler für aufgetretene Fehler. Dieser Zähler wird jedes Mal um eins erhöht, wenn beim Aufruf des Webhook Endpunktes der Server kein 200er (OK) zurückgeliefert hat. Erreicht der Zähler den Wert 10, wird die Registrierung pausiert. Das bedeutet, dass für diese Registrierung der Webhook Endpunkt nicht mehr aufgerufen wird. Es wird aber weiterhin das Protokoll für das Auslösen des Ereignisses in Kombination mit diesem Webhook Endpunkt erfasst. Dadurch können die ausgelösten Ereignisse nachträglich abgerufen werden. Vor dem Erreichen des Schwellwertes, wird der Zähler bei einem erfolgreichen Aufrufen des Webhook Endpunktes wieder auf Null zurückgesetzt.
Response:
200 (OK) mit einem leeren Response
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
event |
WebhookEventType | no | Ereignistyp, für den der Webhook registriert wird |
url |
string | null | no |
Responses
200 — OK
400 — Ungültige Anfrage oder Validierungsfehler
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Unsubscribe
POST /webhooks/unsubscribe
Dieser POST-Endpunkt ermöglicht das Entfernen der Registirerung von Webhook Endpunkten
Response:
200 (OK) mit einem leeren Response
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
event |
WebhookEventType | no | Ereignistyp des Webhooks |
url |
string | null | no |
Responses
200 — OK
400 — Ungültige Anfrage oder Validierungsfehler
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Protocol lesen
POST /webhooks/protocol
Dieser POST-Endpunkt liefert alle in talent.Flow ausgelösten Ereignisse zurück, für die Webhook Endpunkte registriert sind. Beim Aufrufen dieses Endpunktes kann ein Zeitraum angegeben werden. Dieser schränkt die zurückgelieferten Ereignisse auf Basis ihres Auslösedatums ein.
Response:
| Eigenschaft | Beschreibung |
|---|---|
| eventId | Id des ausgelösten Ereignisses. Eine vollständige Liste aller möglichen Ereignisse kann über einen separaten Endpunkt abgerufen werden. |
| event | Textuelle Beschreibung des Ereignisses. |
| endpoint | Referenzendpunkt über den der Datensatz abgerufen werden kann, der das Ereignis ausgelöst hat. |
| endpointMethod | HTTP Methode des Referenzendpunktes. |
| entityId | Id auf den Datensatz für den das Ereignis ausgelöst wurde. |
| eventDateUtc | Zeitpunkt zu dem dieses Ereignis ausgelöst wurde. |
| id | Eindeutige Id, die diese Ereignis identifiziert; UniqueIdentifier |
| sendStatusId | Gibt den Status der Übermittlung des Ereignisses an den registrierten Webhook an - 130 (Transfered): Der Webhook konnte erfolgreich aufgerufen werden - 131 (Failed): Der Webhook hat kein OK zurückgeliefert - 132 (Skipped): Der Webhook ist aufgrund zu vieler Fehler pausiert |
| sendStatus | Textuelle Beschreibung der SendStatusId. Entspricht der Beschreibung der SendStatusId Eigenschaft. |
| sendStatusReason | Antwort des Webhook Aufrufes bei einer fehlerhaften Antwort (kein OK). |
| webhookUrl | Url, die für die Übermittlung des Ereignisses aufgerufen wurde. |
| additionalData | Ereignisabhängige Daten. Diese unterscheiden sich je nach Ereignistyp. |
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
eventDateFromUtc |
string (date-time) | no | Beginn des Zeitraums (UTC) |
eventDateToUtc |
string (date-time) | no | Ende des Zeitraums (UTC) |
entityId |
integer (int32) | null | no |
eventTypes |
WebhookEventType[] | no | Liste der Ereignistypen |
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
events |
WebhookEventProtocolDto[] | no | Liste der protokollierten Webhook-Ereignisse |
400 — Ungültige Anfrage oder Validierungsfehler
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
