Point de terminaison de l'interface de programmation d'application REST du service WebHooks

L'interaction avec le service WebHooks de Trados GroupShare se fait par le biais d'appels d'API REST, sécurisés par des jetons d'authentification (que vous obtenez à l'aide du point de terminaison de connexion de l'API REST de Trados GroupShare Management).

GET api/webhooks/filters

Renvoie tous les filtres WebHooks qu'un utilisateur peut enregistrer. Ces événements sont ceux dont vous recevrez notification lorsque cela se produira.

Informations de requête

Paramètres URI : aucun.

Paramètres de corps : aucun.

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

Information de réponse

Un tableau JSON des filtres existants.

Réponse HTTP : 200 OK

[
    {
        "Name": "Sdl.GroupShare.Events.V2.ProjectCreatedEvent",
        "Description": "Un projet a été créé"
    },
    {
        "Name": "Sdl.GroupShare.Events.V2.PhaseChangeEvent",
        "Description": "Une phase de fichier a été modifiée"
    },
    {
        "Name": "Sdl.GroupShare.Events.V2.AssignmentEvent",
        "Description": "Une affectation a été modifiée"
    },
    {
        "Name": "Sdl.GroupShare.Events.V2.CheckOutEvent",
        "Description": "Un fichier a été extrait"
    },
    {
        "Name": "Sdl.GroupShare.Events.V2.CheckInEvent",
        "Description": "Un fichier a été archivé"
    },
    {
        "Name": "*",
        "Description": "Écouter tous les événements."
    }
]

GET /api/webhooks/registrations

Renvoie toutes les inscriptions existantes aux WebHooks Trados GroupShare.

Paramètres URI : aucun.

Paramètres de corps : aucun.

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

Information de réponse

Réponse HTTP : 200 OK

[
    {
        "Id": "1e41d718057743c5ab91492a7d23ea19",
        "WebHookUri": "http://localhost:41240/api/phasechange?noecho",
        "Secret": "GroupShareRocks",
        "Description": "Point de terminaison de rappel PhaseChange",
        "IsPaused": false,
        "Filters": [
            "Sdl.GroupShare.Events.V2.PhaseChangeEvent"
        ],
        "Headers": {},
        "Properties": {}
    },
    {
        "Id": "6614a59a71434511b399a9a3eb8bda7c",
        "WebHookUri": "http://localhost:41240/api/callbacks?noecho",
        "Secret": "GroupShareRocks",
        "Description": "Abonnement à tous les filtres",
        "IsPaused": false,
        "Filters": [
            "*"
        ],
        "Headers": {},
        "Properties": {}
    }
]

POST /api/webhooks/registrations

Inscrivez un webhook avec Trados GroupShare.

Informations de requête

ParamètreExplication
WebHookUriL'URI utilisé par Trados GroupShare pour effectuer une requête POST lorsque l'événement se produit, auquel vous avez souscrit en utilisant le filtre. Les paramètres de la chaîne de requête WebHookUri utilisent le paramètre 'noecho' pour enregistrer un webhook sans vérification du point de terminaison. Si vous ne fournissez pas ce paramètre, Trados GroupShare effectuera une vérification du point de terminaison pour vérifier que le point de terminaison fourni existe, c'est-à-dire qu'à la réception de la demande d'enregistrement du webhook, Trados GroupShare effectuera une requête GET à WebHookUri. Si vous le souhaitez, vous devez envoyer également un paramètre de chaîne de requête et lorsque vous recevez la requête de vérification, vous devez retourner le contenu exact de ce paramètre en texte brut. Dans le cas contraire, Trados GroupShare rejettera l'enregistrement du webhook avec un message : « Échec de la vérification du WebHook. Assurez-vous que l'URI du WebHook est valide et que le point de terminaison est accessible. »
Clé secrèteUne clé secrète partagée, créée dans le cadre de l'abonnement à des événements. Le destinataire utilise ce secret partagé pour valider que la requête provient de Trados GroupShare. Le paramètre de clé secrète WebHook doit contenir entre 32 et 64 caractères.
FiltresTableau de filtres filtrables auxquels vous souhaitez vous abonner. Vous pouvez vous abonner à plusieurs événements à la fois. Dans ce cas, votre rappel doit savoir comment gérer les différentes données de rappel. Ou abonnez-vous à des événements un par un avec différents points de terminaison activés.
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: "Point de terminaison de rappel PhaseChange",
    Filters: ["Sdl.GroupShare.Events.V2.PhaseChangeEvent"]
}

Information de réponse

Réponse HTTP : 201 Créé

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

DELETE /api/webhooks/registrations

Supprimez un enregistrement webhook.

Informations de requête

Paramètres URI : ID d'enregistrement WebHook. Si aucun identifiant d'enregistrement n'est fourni dans l'URI, tous les enregistrements seront supprimés.

Paramètres de corps : aucun.

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

Information de réponse

Réponse HTTP : 200 OK ou 404 Introuvable

GET api/webhooks/registrations/admin/all

Renvoie tous les webhooks enregistrés avec le système. Il nécessite l'autorisation « Gérer les enregistrements WebHooks ».

Informations de requête

Paramètres URI : aucun.

Paramètres de corps : aucun.

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

Information de réponse

Réponse HTTP : 200 OK et un tableau JSON de tous les enregistrements Webhook.
[
    {
        "Headers": {},
        "Properties": {},
        "Filters": [
            "Sdl.GroupShare.Events.V2.AssignmentEvent"
        ],
        "UserName": "nom de l'utilisateur qui a enregistré l'événement",
        "Id": "id d'enregistrement webhook",
        "WebHookUri": "URL de rappel",
        "Secret": "12345678901234567890123456789012",
        "Description": "description",
        "IsPaused": false
    }
]     

DELETE api/webhooks/registrations/admin/delete

Supprime un ou plusieurs enregistrements Webhook, identifiés par la liste des ID Webhook transmis. Il nécessite l'autorisation « Gérer les enregistrements WebHooks ».

Informations de requête

Paramètres URI : ID d'enregistrement WebHook

Paramètres de corps : aucun.

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

Réponse HTTP : 200 OK ou 404 Introuvable.