REST-API-Endpunkt des Webhooks-Dienstes

Die Interaktion mit dem Trados GroupShare Webhooks-Dienst erfolgt über REST API-Aufrufe, die mit Bearer-Tokens gesichert sind (die Sie mit dem Trados GroupShare Management REST API-Anmeldeendpunkt erhalten).

GET api/webhooks/filters

Gibt alle Webhooks-Filter zurück, mit denen sich ein Benutzer registrieren kann. Im Prinzip sind dies die Ereignisse, zu denen Sie eine Benachrichtigung erhalten, wenn sie stattfinden.

Anforderungsinformationen

URI-Parameter: keine.

Textparameter: keine.

GET /api/webhooks/filters HTTP/1.1
Host: localhost:41239
Authorization: Bearer token

Antwortinformationen

Ein JSON-Array der vorhandenen Filter.

HTTP-Antwort: 200 OK

[
    {
        "Name": "Sdl.GroupShare.Events.V2.ProjectCreatedEvent",
        "Description": "A project has been created"
    },
    {
        "Name": "Sdl.GroupShare.Events.V2.PhaseChangeEvent",
        "Description": "A files phase has been changed"
    },
    {
        "Name": "Sdl.GroupShare.Events.V2.AssignmentEvent",
        "Description": "An assignment has been changed"
    },
    {
        "Name": "Sdl.GroupShare.Events.V2.CheckOutEvent",
        "Description": "A file has been checked out"
    },
    {
        "Name": "Sdl.GroupShare.Events.V2.CheckInEvent",
        "Description": "A file has been checked in"
    },
    {
        "Name": "*",
        "Description": "Listen in on all events."
    }
]

GET /api/webhooks/registrations

Gibt alle vorhandenen Registrierungen an Trados GroupShare-Webhooks zurück.

URI-Parameter: keine.

Textparameter: keine.

GET /api/webhooks/registrations HTTP/1.1
Host: localhost:41239
Authorization: Bearer token

Antwortinformationen

HTTP-Antwort: 200 OK

[
    {
        "Id": "1e41d718057743c5ab91492a7d23ea19",
        "WebHookUri": "http://localhost:41240/api/phasechange?noecho",
        "Secret": "GroupShareRocks",
        "Description": "PhaseChange callback endpoint",
        "IsPaused": false,
        "Filters": [
            "Sdl.GroupShare.Events.V2.PhaseChangeEvent"
        ],
        "Headers": {},
        "Properties": {}
    },
    {
        "Id": "6614a59a71434511b399a9a3eb8bda7c",
        "WebHookUri": "http://localhost:41240/api/callbacks?noecho",
        "Secret": "GroupShareRocks",
        "Description": "Subscription to all filters",
        "IsPaused": false,
        "Filters": [
            "*"
        ],
        "Headers": {},
        "Properties": {}
    }
]

POST /api/webhooks/registrations

Registrieren Sie einen Webhook bei Trados GroupShare.

Anforderungsinformationen

ParameterBeschreibung
WebHookUriDie URI, die Trados GroupShare verwendet, um eine POST-Anfrage zu senden, wenn das Ereignis eintritt, das Sie mit dem Filter abonniert haben. WebHookUri-Abfragezeichenfolgen-Parameter: Verwenden Sie den Parameter 'noecho', um einen Webhook ohne Endpunktüberprüfung zu registrieren. Wenn Sie diesen Parameter nicht angeben, führt Trados GroupShare eine Endpunktüberprüfung durch, um zu prüfen, ob der angegebene Endpunkt vorhanden ist, d. h. nach Erhalt der Webhook-Registrierungsanforderung führt Trados GroupShare eine GET-Anforderung an die WebHookUri durch. Wenn dies gewünscht wird, müssen Sie auch einen Zeichenfolgeparameter für die Echo-Anforderung senden, und wenn Sie die Überprüfungsanforderung erhalten, müssen Sie den exakten Inhalt dieses Parameters als Nur-Text zurückgeben. Andernfalls lehnt Trados GroupShare die Webhook-Registrierung mit einer Meldung ab: „Webhook-Überprüfung fehlgeschlagen. Stellen Sie sicher, dass die Webhook-URI gültig ist und dass der Endpunkt zugänglich ist.“
GeheimnisEin gemeinsam genutztes Geheimnis, das im Rahmen eines Abonnements von Ereignissen erstellt wird. Der Empfänger verwendet dieses gemeinsame Geheimnis, um zu kontrollieren, ob die Anforderung von Trados GroupShare stammt. Der Parameter für den geheimen Webhook-Schlüssel-muss zwischen 32 und 64 Zeichen lang sein.
FilterArray von Filter, die Sie abonnieren möchten. Sie können mehrere Ereignisse gleichzeitig abonnieren. In diesem Fall muss Ihr Callback in der Lage sein, die verschiedenen Callback-Daten zu behandeln. Oder abonnieren Sie Ereignisse einzeln mit unterschiedlichen Endpunkten.
POST /api/webhooks/registrations HTTP/1.1
Host: localhost:41239
Authorization: Bearer token
Content-Type: application/json
{
    WebHookUri: "http://localhost:41240/api/phasechange?noecho",
    Secret: "GroupShareRocks",
    Description: "PhaseChange callback endpoint",
    Filters: ["Sdl.GroupShare.Events.V2.PhaseChangeEvent"]
}

Antwortinformationen

HTTP-Antwort: 201 Created

{
    "Id": "1e41d718057743c5ab91492a7d23ea19",
    "WebHookUri": "http://localhost:41240/api/phasechange?noecho",
    "Secret": "GroupShareRocks",
    "Description": "PhaseChange callback endpoint",
    "IsPaused": false,
    "Filters": [
        "Sdl.GroupShare.Events.V2.PhaseChangeEvent"
    ],
    "Headers": {},
    "Properties": {}
}

DELETE /api/webhooks/registrations

Löschen Sie eine Webhook-Registrierung.

Anforderungsinformationen

URI-Parameter: Webhook-Registrierungs-ID. Wenn im URI keine Registrierungs-ID angegeben wird, werden alle Registrierungen gelöscht.

Textparameter: keine.

DELETE /api/webhooks/registrations/{registration id} HTTP/1.1
Host: localhost:41239
Authorization: Bearer

Antwortinformationen

HTTP-Antwort: 200 OK oder 404 nicht gefunden

GET api/webhooks/registrations/admin/all

Gibt alle Webhooks zurück, die imSystemregistriert sind. Sie erfordert die Berechtigung „Webhooks-Registrierungen Verwaltung“.

Anforderungsinformationen

URI-Parameter: keine.

Textparameter: keine.

GET /api/webhooks/registrations/admin/all HTTP/1.1
Host: localhost:41239
Authorization: Bearer token

Antwortinformationen

HTTP-Antwort: 200 OK und ein JSON-Array aller Webhook-Registrierungen.
[
    {
        "Headers": {},
        "Properties": {},
        "Filters": [
            "Sdl.GroupShare.Events.V2.AssignmentEvent"
        ],
        "UserName": "username who registered the event",
        "Id": "webhook registration id",
        "WebHookUri": "callback URL",
        "Secret": "12345678901234567890123456789012",
        "Description": "description",
        "IsPaused": false
    }
]     

DELETE api/webhooks/registrations/admin/delete

Löscht eine oder mehrere Webhook-Registrierungen, die durch die Liste der übergebenen Webhook-IDs identifiziert werden. Es erfordert die Berechtigung „Webhooks-Registrierungen verwalten“.

Anforderungsinformationen

URI-Parameter: Webhook-Registrierungs-ID

Textparameter: keine.

DELETE /api/webhooks/registrations/admin/delete?registrationIds={list of registrationIds, separated by comma} HTTP/1.1
Host: localhost:41239
Authorization: Bearer token
Antwortinformationen

HTTP-Antwort: 200 OK oder 404 nicht gefunden.