Share via


APIs zum Registrieren & Verwalten von Webhooks

/webhook

API-Endpunkt zum Verwalten von Abonnements für Ereignisse in Kaizala.

WebHooks ist ein einfaches HTTP-Muster, das ein einfaches Herausgeber-/Abonnentenmodell für die Verkabelung von Web-APIs und SaaS-Diensten bereitstellt. Wenn ein Ereignis in Kaizala auftritt, wird eine Benachrichtigung in Form einer HTTP POST-Anforderung an registrierte Abonnenten gesendet. Die POST-Anforderung enthält Informationen zum Ereignis, die es dem Empfänger ermöglicht, entsprechend zu handeln.

Mithilfe von WebHooks können Sie verschiedene Ereignisse abonnieren, die innerhalb eines Konversationsgruppenkontexts in Kaizala auftreten.

POST /webhook

POST {endpoint-url}/v1/webhook

Um sicherzustellen, dass Ihr Webhook-Dienstendpunkt authentisch ist und funktioniert, überprüfen wir Ihre Rückruf-URL vor dem Erstellen des Abonnements. Zur Überprüfung senden wir Ihnen ein Validierungstoken, das Sie uns innerhalb von 5 Sekunden zurücksenden müssen. Weitere Informationen

Anforderungsparameter

Parameter Typ Optional? Beschreibung
HTTP-Header accessToken Zeichenfolge Nein Zugriffstoken, das vom Authentifizierungsendpunkt empfangen wird HTTP-Header Content-Type Zeichenfolge Nein "application/json"

Anforderungstext

Parameter Typ Optional? Beschreibung
objectId String Nein Bezeichner, der das Objekt darstellt, in dem die Webhooks erstellt werden müssen. Für ObjectType=Group, den Bezeichner der Gruppe, für ObjectType=Action, seine actionId, für ObjectType=ActionPackage, seine action-package-id
objectType String Nein Enumeration: "Group"/"Action"/"ActionPackage"
eventTypes Array Nein Array verschiedener Ereignistypen, die Sie für den Webhook abonnieren müssen. Unterstützte Ereignisse sind: "ActionCreated","ActionResponse","SurveyCreated","JobCreated","SurveyResponse","JobResponse","TextMessageCreated","AttachmentCreated","Announcement","MemberAdded","MemberRemoved","GroupAdded","GroupRemoved"
callBackUrl Zeichenfolge Nein HTTPS-URL, an die die abonnierten Ereignisse benachrichtigt werden müssen
callBackToken Zeichenfolge Ja Optionaler Parameter, den Sie festlegen können, der im HTTP-Header "kz-callback-token" mit jedem vom WebHook durchgeführten CallBack gesendet wird
callBackContext Zeichenfolge Ja Optionaler Parameter, den Sie festlegen können, der in der JSON-Nutzlast mit jedem vom WebHook ausgeführten CallBack als "Context" gesendet wird
Gültigkeit Zeichenfolge Ja Gültigkeit, damit der WebHook im EPOCH-Format aktiv ist. Der Standardwert ist 2 Jahre.

Antworttext

Parameter Typ Beschreibung
webhookId Zeichenfolge Bezeichner, der den erstellten WebHook darstellt

Anforderungstext: Abonnieren aller Ereignisse auf Gruppenebene

{  
   "objectId":"74943849802190eaea3810",
   "objectType":"Group",
   "eventTypes":[
      "ActionCreated",
      "ActionResponse",
      "SurveyCreated",
      "JobCreated",
      "SurveyResponse",
      "JobResponse",
      "TextMessageCreated",
      "AttachmentCreated",
      "Announcement",
      "MemberAdded",
      "MemberRemoved",
      "GroupAdded",
      "GroupRemoved"
   ],
   "callBackUrl":"https://requestb.in/123",
   "callBackToken":"tokenToBeVerifiedByCallback",
   "callBackContext":"Any data which is required to be returned in callback"
}

Das Webhook-Antwortschema für registrierte Ereignisse in Kaizala finden Sie hier.

Hinweis: Kaizala garantiert mindestens einmal die Zustellung der Webhookantwort. In bestimmten Fällen kann es vorkommen, dass Kaizala doppelte Webhookantworten für dasselbe Ereignis sendet.

Abrufen von /webhook

   GET {endpoint-url}/v1/webhook

Anforderungsparameter

Parameter Typ Optional? Beschreibung
HTTP-Header accessToken Zeichenfolge Nein Zugriffstoken, das vom Authentifizierungsendpunkt empfangen wird
Abfrageparameter objectId String Nein Bezeichner, der das Objekt darstellt, in dem die Webhooks erstellt werden müssen. Für ObjectType=Group, den Bezeichner der Gruppe, für ObjectType=Action, seine actionId, für ObjectType=ActionPackage, seine action-package-id
Abfrageparameter objectType String Nein Enumeration: "Group"/"Action"/"ActionPackage"

Antworttext

Parameter Typ Beschreibung
Webhooks JSON-Objektarray Array von Webhooks, die für die objectId abonniert wurden
JSON-Struktur für jeden einzelnen Webhook in den Array-Webhooks[]:
Parameter Typ Beschreibung
id Zeichenfolge Webhookbezeichner
objectId Zeichenfolge Objektbezeichner
objectType Zeichenfolge Enumeration: "Group"/"Action"/"ActionPackage"
events String[] Ereignisliste mit jedem Wert als "ActionCreated","ActionResponse","SurveyCreated","JobCreated","SurveyResponse","JobResponse","TextMessageCreated","AttachmentCreated","Announcement","MemberAdded","MemberRemoved","GroupAdded","GroupRemoved", "GroupRemoved"
callBackUrl Zeichenfolge Rückruf-URL, an die die abonnierten Ereignisse benachrichtigt werden müssen
callBackToken Zeichenfolge Parameter, der im HTTP-Header "kz-callback-token" mit jedem vom WebHook durchgeführten CallBack gesendet wird
callBackContext Zeichenfolge Parameter, der in der JSON-Nutzlast als "Kontext" gesendet wird, bei jedem CallBack, der vom WebHook ausgeführt wird
Gültigkeit Zeichenfolge Gültigkeit, damit der WebHook im EPOCH-Format aktiv ist.
aktiv Boolesch True, wenn der Status des Webhooks aktiv ist
JSON-Beispielantwort
{
    "webhooks": [
        {
            "id": "dac6fccf-f2e9-4abc-94d7-793037e99da7",
            "objectId": "b21405d1-4b10-4c46-bfa9-8338592f3782",
            "objectType": "Group",
            "events": [
                "ActionCreated",
                "ActionResponse",
                "SurveyCreated",
                "JobCreated",
                "SurveyResponse",
                "JobResponse",
                "TextMessageCreated",
                "AttachmentCreated",
                "Announcement",
                "MemberAdded",
                "MemberRemoved",
                "GroupAdded",
                "GroupRemoved"
            ],
            "filters": [],
            "callbackUrl": "https://requestb.in/12786un1",
            "callbackToken": "tokenToBeVerifiedByCallback",
            "ts": 1505491564677,
            "validity": 1568605416677
            "active": true
        }
    ]
}

Löschen von /webhook

   DELETE {endpoint-url}/v1/webhook

Anforderungsparameter

Parameter Typ Optional? Beschreibung
HTTP-Header accessToken Zeichenfolge Nein Zugriffstoken, das vom Authentifizierungsendpunkt empfangen wird
Path-Parameter webhookId Zeichenfolge Nein Webhookbezeichner

PUT /webhook

PUT {endpoint-url}/v1/webhook/{webhookId}

Jeder Parameter für den Webhook kann aktualisiert werden. Der Anforderungstext kann je nach Bedarf 1 oder mehr Parameter enthalten.

Anforderungsparameter

Parameter Typ Optional? Beschreibung
HTTP-Header accessToken Zeichenfolge Nein Zugriffstoken, das vom Authentifizierungsendpunkt empfangen wird
Path-Parameter webhookId Zeichenfolge Nein Webhookbezeichner

Anforderungstext

Parameter Typ Optional? Beschreibung
objectId String Ja Bezeichner, der das Objekt darstellt, in dem die Webhooks erstellt werden müssen. Für ObjectType=Group, den Bezeichner der Gruppe, für ObjectType=Action, seine actionId, für ObjectType=ActionPackage, seine action-package-id
objectType String Ja Enumeration: "Group"/"Action"/"ActionPackage"
eventTypes Array Ja Array verschiedener Ereignistypen, die Sie für den Webhook abonnieren müssen. Unterstützte Ereignisse sind: "ActionCreated","ActionResponse","SurveyCreated","JobCreated","SurveyResponse","JobResponse","TextMessageCreated","AttachmentCreated","Announcement","MemberAdded","MemberRemoved","GroupAdded","GroupRemoved"
callBackUrl Zeichenfolge Ja HTTPS-URL, an die die abonnierten Ereignisse benachrichtigt werden müssen
callBackToken Zeichenfolge Ja Optionaler Parameter, den Sie festlegen können, der im HTTP-Header "kz-callback-token" mit jedem vom WebHook durchgeführten CallBack gesendet wird
callBackContext Zeichenfolge Ja Optionaler Parameter, den Sie festlegen können, der in der JSON-Nutzlast mit jedem vom WebHook ausgeführten CallBack als "Context" gesendet wird
Gültigkeit Zeichenfolge Ja Gültigkeit, damit der WebHook im EPOCH-Format aktiv ist. Der Standardwert ist 2 Jahre.
Aktiv Boolesch Ja Ändern Sie den Status des Webhooks in Aktiv, wenn der Wert true ist.

Beispiel für den Inhalt der Anforderung

    { 
       "objectId":"74943849802190eaea3810",
       "objectType":"Group",
       "eventTypes":[
          "ActionCreated",
          "ActionResponse",
          "SurveyCreated",
          "JobCreated",
          "SurveyResponse",
          "JobResponse",
          "TextMessageCreated",
          "AttachmentCreated",
          "Announcement",
          "MemberAdded",
          "MemberRemoved",
          "GroupAdded",
          "GroupRemoved"
       ],
       "callBackUrl":"https://requestb.in/123",
       "callBackToken":"tokenToBeVerifiedByCallback",
      "Active": "true" 
    } 

Automatisches Deaktivieren von Webhooks

Um die Zuverlässigkeit unserer Webhooks zu verbessern, haben wir kürzlich die Wiederholungs- und Deaktivierungslogik hinzugefügt. Wenn die Rückruf-URL/der Endpunkt bei einem Webhook nicht erreichbar ist oder nicht mit einem anderen status Code als 2xx (>=3xx) antwortet, versucht unser Dienst, ihn innerhalb von 2 Tagen 6-mal exponentiell zu erreichen bzw. erneut zu versuchen.

Wenn noch zwei Tage lang ein Fehler auftritt, wird der entsprechende Webhook deaktiviert, und der Besitzer muss ihn mit der Put /webhook-API aktualisieren, bevor er wieder funktioniert. Für z.B.

PUT {endpoint-url}/v1/webhook/{subscriptionId}

Anforderungstext:

{ 
  "Active": "true" 
}