API de Phrase TMS

Webhooks (TMS)

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

Disponible pour

  • Forfaits Team, Professional, Business, Enterprise et Software UI/UX

Contactez le service commercial pour toute question relative aux licences.

Les webhooks sont des URL arbitraires qui gèrent les requêtes HTTP POST permettant la notification de systèmes tiers concernant des événements spécifiés.

Phrase surveille si un rappel de webhook a été reçu avec succès. Si une réception de 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 nouvelle tentative a un maximum de 10 tentatives, l'intervalle entre les tentatives étant calculé jusqu'à une valeur maximale de 30 minutes.

Les webhooks peuvent être désactivés/activés, afficher l'historique, testés ou supprimés depuis la page des webhooks en sélectionnant le webhook individuel pour afficher la barre d’outils. La fonction Historique fournit un aperçu des appels sur les 14 jours précédents et les webhooks ayant échoué peuvent être rejoués.

Important

La liste blanche des connexions webhook par adresses IP a été obsolète et a été remplacée par des jetons 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

  • Cible de la tâche mise à jour (fait référence à l'action mettre à jour la cible sur les tâches)

  • Tâche continue mise à jour

    Se déclenche lorsque le fichier source d'une tâche continue est mis à jour via un référentiel surveillé par un connecteur. Ne se déclenche pas pour une action manuelle mettre à jour la source sur une tâche régulière (non continue).

  • 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

  • Import Language AI terminé

  • Traduction Language AI terminée

Configurer les webhooks

Pour configurer les webhooks, suivez ces étapes :

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

    La page Webhooks s'ouvre.

  2. Cliquez sur Ajouter webhook ou Nouveau.

    La page Créer un nouveau webhook s'ouvre.

  3. Indiquez un nom, une URL et un jeton de sécurité si nécessaire.

    Spécifiez une valeur à inclure dans l'en-tête X-memsource-jeton ou dans l'en-tête Authorization, qui permet à l'utilisateur de choisir sa méthode préférée pour authentifier l'expéditeur du webhook.

  4. Sélectionner les événements.

  5. Cliquez sur Aperçu du schéma pour voir la réponse du webhook lors de l'exécution.

  6. Cliquez sur Créer webhook.

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

Exemples d'utilisation de webhook

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

La prochaine fois qu'un statut de tâche est modifié ou qu'une tâche est créée dans le compte, l'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 pour que l'application connectée effectue certaines actions.

Événements

Exemples de modification de statut de tâche, d'assignation de tâche, de création de tâche et de modification de la date d'échéance d'une tâche.

Statut de la tâche modifié

{
"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",
          "role": "ADMIN",
          "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",
          "role": "ADMIN",
          "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",
           "role": "ADMIN",
           "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"
}

Tableau de statut

Lors de l'utilisation d'API, de Webhooks et de l'interface utilisateur, le statut peut être nommé légèrement différemment.

API REST

Webhook

UI

NEW

NEW

NOUVEAU

ACCEPTED

ASSIGNED

ACCEPTÉ (par le fournisseur)

DECLINED

DECLINED_BY_LINGUIST

REFUSÉ (par le fournisseur)

REJETÉ

REJECTED_BY_LINGUIST

REJETÉ (par le fournisseur)

DELIVERED

COMPLETED

LIVRÉE

EMAILED

EMAILED

ENVOYÉ PAR E-MAIL (par le fournisseur)

COMPLETED

COMPLETED_BY_LINGUIST

TERMINÉ (par le 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.