API Phrase TMS

webhook (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

Disponibile per

  • Piani Team, Professional, Business, Enterprise e Software UI/UX

Contatta ilreparto vendite per dubbi relativi alle licenze.

I webhook sono URL arbitrari che gestiscono richieste HTTP POST consentendo la notifica di sistemi di terze parti in merito a eventi specifici.

Phrase monitora se un callback di webhook è stato ricevuto correttamente. Se la ricezione di un webhook fallisce 3000 volte, viene disattivato con una notifica inviata agli amministratori dell'account e il fallimento viene annotato sul webhook specifico nella pagina webhook. Il meccanismo di riprova ha un massimo di 10 tentativi, con l'intervallo tra i tentativi calcolato fino a un valore massimo di 30 minuti.

I webhook possono essere disabilitati/abilitati, visualizzare la cronologia, testati o eliminati dalla pagina dei webhook selezionando il singolo webhook per visualizzare la barra degli strumenti. La funzione Cronologia fornisce una panoramica delle chiamate negli ultimi 14 giorni e i webhook falliti possono essere riprodotti.

Importante

La whitelist delle connessioni webhook tramite indirizzi IP è stata deprecata ed è stata sostituita dai token di sicurezza webhook.

I webhook possono essere selezionati per i seguenti eventi:

  • Job status changed

  • Lavoro creato

  • Job assigned

  • Data di scadenza lavoro modificata

  • Origine lavoro aggiornata

  • Destinazione lavoro aggiornata (si riferisce all'azione aggiornare destinazione su lavori)

  • Lavoro continuo aggiornato

  • Progetto creato

  • Stato progetto modificato

  • Data di scadenza progetto modificata

  • Modello di progetto creato

  • Modello di progetto modificato

  • Modello di progetto eliminato

  • Shared project assigned

  • Metadati del progetto aggiornati

  • Pre-traduzione terminata

  • Analisi creata

  • Lavoro eliminato

  • Progetto eliminato

  • Lavoro esportato

  • Lavoro non esportato

  • Importazione Language AI terminata

  • Traduzione con Language AI terminata

Configurare webhook

Per configurare i webhook, seguire questi passaggi:

  1. Dalla pagina Setup_gear.png impostazioni, scorri verso il basso fino alla sezione Integrazioni e fai clic su webhook.

    Si apre la pagina webhook.

  2. Fai clic su aggiungere webhook o Nuovo.

    Si apre la pagina creare nuovo webhook.

  3. Fornire un nome, un URL e un token di sicurezza, se richiesto.

    Specificare un valore da includere nell'intestazione x-memsource-token o nell'intestazione Authorization, che consenta all'utente di scegliere il metodo preferito per autenticare il mittente del webhook.

  4. Selezionare gli eventi.

  5. Fare clic su Anteprima schema per visualizzare la risposta del webhook durante l'esecuzione.

  6. Fare clic su Creare webhook.

    Il webhook viene aggiunto all'elenco nella pagina webhook.

Esempi di uso del webhook

Un sito web chiamato RequestBin fornirà un URL da usare quando si crea un webhook.

La prossima volta che lo stato del lavoro viene modificato o un lavoro viene creato nell'account, l'URL riceve la risposta appropriata dal sistema. L'uso effettivo può essere più complesso e la ricezione della risposta dovrebbe essere considerata un segnale per l'applicazione connessa per eseguire determinate azioni.

Eventi

Esempi di una modifica dello stato del lavoro, un'assegnazione del lavoro, la creazione di un lavoro e quando la data di scadenza di un lavoro viene modificata.

Stato del lavoro modificato

{
"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"
}

Lavoro assegnato

{
"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\"
}

Lavoro creato

{
 "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"
}

Data di scadenza lavoro modificata

{
  "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"
}

Tabella stato

Quando si lavora con API, Webhook e l'interfaccia utente, lo stato potrebbe avere un nome leggermente diverso.

API REST

Webhook

UI

NEW

NEW

NUOVO

ACCETTATO

ASSIGNED

ACCETTATO (dal fornitore)

DECLINED

DECLINED_BY_LINGUIST

RIFIUTATO (dal fornitore)

REJECTED

REJECTED_BY_LINGUIST

RIFIUTATO (dal fornitore)

DELIVERED

COMPLETED

CONSEGNATO

EMAILED

EMAILED

INVIATO PER EMAIL (dal fornitore)

COMPLETED

COMPLETED_BY_LINGUIST

COMPLETATO (dal fornitore)

CANCELLED

CANCELLED

ANNULLATO

Questo articolo ti è stato 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.