API de Phrase TMS

Webhooks (TMS)

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

Disponible pour

  • Équipe, Professionnel, Entreprise et plans UI/UX de logiciel

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 des systèmes tiers sur des événements spécifiés.

Phrase surveille si un rappel de webhook a été reçu avec succès. Si la réception d'un 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 avec un intervalle entre les réessais 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 au cours des 14 derniers jours et les webhooks échoués peuvent être rejoués.

Important

La mise sur liste blanche des connexions Webhook par adresses IP a été dépréciée 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 tâche mise à jour (Fait référence à l'action Mise à jour de la cible sur 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 changé

  • 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

  • L'importation de Language AI est terminée

  • Traduction Language AI terminée

Configurer les Webhooks

Pour configurer les Webhooks, suivez ces étapes :

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

    La page Webhooks s'ouvre.

  2. Cliquez sur Ajouter un webhook ou Nouveau.

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

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

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

  4. Sélectionnez des é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 un webhook.

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

Exemples d'utilisation du 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 changement de statut de tâche, d'attribution de tâche, de création de tâche et lorsque la date d'échéance d'une tâche est modifiée.

Le statut de la tâche a changé

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "tâche": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "statut": "NOUVEAU",
    "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": "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",
    "tâche": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "statut": "NOUVEAU",
    "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": "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",
     "tâche": "SEfSaenvqFgctE1I0_dc1",
     "fileName": "en.txt",
     "targetLang": "af",
     "workflowLevel": 1,
     "statut": "NOUVEAU",
     "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": "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",
      "tâche": "LvkAHilgobApeoVm_dc4",
      "fileName": "EU White Paper Edited.doc",
      "targetLang": "de",
      "workflowLevel": 1,
      "statut": "NOUVEAU",
      "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"
}

Table de Statut

Lors de l'utilisation des API, des Webhooks et de l'UI, 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 le fournisseur)

COMPLETED

COMPLETED_BY_LINGUIST

COMPLÉTÉ (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.