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
| Parameter | Beschreibung |
|---|---|
| WebHookUri | Die 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.“ |
| Geheimnis | Ein 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. |
| Filter | Array 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
[
{
"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.