API de Phrase TMS

Webhooks (TMS)

Le contenu est traduit de l’anglais par Phrase Language AI.

Disponible pour

  • les forfaits Team, Professional, Business et Enterprise

Contactez le service commercial pour toute question relative aux licences.

Les webhooks sont des URL arbitraires qui gèrent les demandes POST HTTP permettant la notification des systèmes tiers à propos d'événements spécifiés.

Phrase surveille si un rappel webhook a été reçu avec succès. Si une réception webhook échoue 3000 fois, il est désactivé avec une notification envoyée aux administrateurs du compte et l'échec est noté sur le webhook spécifique sur la page Webhooks. Le mécanisme de réessai a un maximum de 10 réessais, l'intervalle entre les réessais étant calculé jusqu'à une valeur maximale de 30 minutes.

Les webhooks peuvent être désactivés/activés, testés ou supprimés de la page des webhooks en passant la souris sur chaque webhook et en cliquant sur ellipses.png pour accéder au menu. La fonction Historique fournit une vue d'ensemble des appels des 14 jours précédents et les webhooks ayant échoué peuvent être rejoués.

Important

Les connexions Webhook en liste blanche par adresses IP ont été dépréciées et ont été remplacées par des authentifiants de sécurité webhook.

Les webhooks peuvent être sélectionnés pour les événements suivants :

  • État de tâche changé

  • Tâche créée

  • Tâche assignée

  • Date d'échéance de la tâche modifiée

  • Source de la tâche mise à jour

  • Tâche cible mise à jour (action cible mise à jour sur les tâches)

  • Tâche continue mise à jour

  • Projet créé

  • L’état du projet a été modifié

  • Date d'échéance du projet modifié

  • Modèle de projet créé

  • Modèle de projet modifié

  • Modèle de projet supprimé

  • Projet partagé assigné

  • Mise à jour des métadonnées du projet

  • Pré-traduction terminée

  • Analyse créée

  • Tâche supprimée

  • Projet supprimé

  • Tâche exportée

  • Tâche non exportée

  • Language AI importer terminé

  • Traduction Language AI terminée

Configurer les Webhooks

Pour configurer les Webhooks, procédez comme suit :

  1. À partir de la page Setup_gear.png des paramètres, faites défiler vers le bas jusqu ' à la section Intégrations et cliquez sur Webhooks.

    La page Webhooks s'ouvre.

  2. Ajouter webhook

    La page de création s'ouvre.

  3. Fournir une adresse URL.

  4. Fournir un jeton de sécurité si nécessaire.

    Spécifier une valeur à inclure soit dans l'en-tête du jeton x Memsource, soit dans l'en-tête Autorisation, qui permet à l'utilisateur de choisir la méthode qu'il préfère pour authentifier l'expéditeur du webhook.

  5. Sélectionner des événements.

  6. Cliquez sur Schéma aperçu pour afficher la réponse webhook lors de l'exécution.

  7. Cliquer sur Créer webhook.

    Le webhook est ajouté à la liste de la page Webhooks .

Exemples d'utilisation du webhook

Un site web appelé RequestBin fournira une adresse URL à utiliser lors de la création d'un webhook .

La Suivante modification du statut d'une tâche ou la création d'une tâche dans le compte, l'adresse URL reçoit la réponse appropriée du système. L'utilisation réelle peut être plus complexe et la réception de la réponse doit être considérée comme un signal permettant à l'application connectée d'effectuer certaines actions.

Événements

Exemples de tâches dont le statut est modifié, de tâches assignées, de tâches créées et de tâches dont la date d'échéance est modifiée.

Le statut de la tâche a changé

{
"jobParts": [
  {
    "Identifiant": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NEW",
    "wordsCount": 2,
    "beginIndex": 0,
    "endIndex": 1,
    "isParentJobSplit": false,
    "dateDue": null,
    "dateCreated": "2016-11-02T17:06:54Z",
    "project": {
      "Identifiant": 2,
      "uid": "4RvyVbwX00KerkomA7kpT9",
      "lastWorkflowLevel": 1
    },
    "assignedTo": [
      {
        "vendor": {
          "Identifiant": 1,
          "name": "Abc",
          "vendorToken": "4-ifos0-CAqPo"
        }
      },
      {
        "linguist": {
          "id": 3,
          "firstName": "Admin",
          "lastName": "Admin",
          "userName": "admin",
          "email": "admin@example.com",
          « rôle » : "ADMINISTRATEUR",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_STATUS_CHANGED"
}

Tâche assignée

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NEW",
    "wordsCount": 2,
    "beginIndex": 0,
    "endIndex": 1,
    "isParentJobSplit": false,
    "dateDue": null,
    "dateCreated": "2016-11-02T17:06:54Z",
    "project": {
      "id": 2
      "uid": "4RvyVbwX00KerkomA7kpT9",
      "lastWorkflowLevel": 1
    },
    "assignedTo": [
      {
        "vendor": {
          "id": 1,
          "name": "Abc",
          "vendorToken": "4-ifos0-CAqPo"
        }
      },
      {
        "linguist": {
          "id": 3,
          "firstName": "Admin",
          "lastName": "Admin",
          "userName": "admin",
          "email": "admin@example.com",
          « rôle » : "ADMINISTRATEUR",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_ASSIGNED"
}

Tâche créée

{
 "jobParts": [
   {
     "id": 9,
     "uid": "ipmdz5p0sagqcOYaijTZU2",
     "internalId": "4",
     "task": "SEfSaenvqFgctE1I0_dc1",
     "fileName": "en.txt",
     "targetLang": "af",
     "workflowLevel": 1,
     "status": "NEW",
     "wordsCount": 2,
     "beginIndex": 0,
     "endIndex": 1,
     "isParentJobSplit": false,
     "dateDue": null,
     "dateCreated": "2016-11-02T17:06:54Z",
     "project": {
       "id": 2,
       "uid": "4RvyVbwX00KerkomA7kpT9",
       "lastWorkflowLevel": 1
     },
     "assignedTo": [
       {
         "vendor": {
           "id": 1,
           "name": "Abc",
           "vendorToken": "4-ifos0-CAqPo"
         }
       },
       {
         "linguist": {
           "id": 3,
           "firstName": "Admin",
           "lastName": "Admin",
           "userName": "admin",
           "email": "admin@example.com",
           « rôle » : "ADMINISTRATEUR",
           "timezone": "Europe/London",
           "active": true,
           "deleted": false,
           "terminologist": false,
           "dateCreated": "2016-10-11T07:43:22Z"
         }
       }
     ]
   }
 ],
 "event": "JOB_CREATED"
}

Date d'échéance de la tâche modifiée

{
  "jobParts": [
    {
      "id": 127865777,
      "uid": "ElTXvXnNIHEN2xgL5sU2L2",
      "internalId": "1",
      "task": "LvkAHilgobApeoVm_dc4",
      "fileName": "EU White Paper Edited.doc",
      "targetLang": "de",
      "workflowLevel": 1,
      "status": "NEW",
      "wordsCount": 204,
      "beginIndex": 0,
      "endIndex": 16,
      "isParentJobSplit": false,
      "dateDue": "2018-09-11T22:00:00Z",
      "dateCreated": "2018-09-10T06:25:41Z",
      "project": {
        "id": 12277756,
        "uid": "4RvyVbwX00KerkomA7kpT9
        "lastWorkflowLevel": 1
      },
      "assignedTo": []
    }
  ],
  "event": "JOB_DUE_DATE_CHANGED"
}

Statut Table

Lorsque vous travaillez avec des API, des Webhooks et l'interface utilisateur, le statut peut être nommé légèrement différemment.

API RESTANT

Webhook

UI

NEW

NEW

NOUVEAU

ACCEPTED

ASSIGNED

ACCEPTÉ (par fournisseur)

DECLINED

DECLINED_BY_LINGUIST

REFUSÉ (par fournisseur)

REJECTED

REJECTED_BY_LINGUIST

REJETÉE (par fournisseur)

DELIVERED

COMPLETED

LIVRÉE

EMAILED

EMAILED

ENVOYÉ PAR E-MAIL (par fournisseur)

COMPLETED

COMPLETED_BY_LINGUIST

TERMINÉ (par fournisseur)

CANCELLED

CANCELLED

CANCELLED

Cet article vous a-t-il été utile ?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.