API Phrase TMS

Webhooks (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

Disponibile per

  • Team, Professionale, Business, Enterprise e piani UI/UX Software

Mettiti in contatto con il reparto vendite per dubbi relativi alle licenze.

I Webhook sono URL arbitrari che gestiscono le richieste HTTP POST consentendo la notifica di sistemi di terze parti su eventi specificati.

Phrase monitora se un callback del webhook è stato ricevuto con successo. Se la ricezione di un webhook fallisce 3000 volte, viene disattivato con una notifica inviata agli Amministratori dell'account e il fallimento è annotato sul webhook specifico nella pagina Webhook. Il meccanismo di ripetizione 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 dei collegamenti Webhook per indirizzi IP è stata deprecata ed è stata sostituita da 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

  • Obiettivo del lavoro aggiornato (Riferito all'azione Aggiorna obiettivo su lavori)

  • Lavoro continuo aggiornato

  • Progetto creato

  • Stato progetto modificato

  • Data di scadenza progetto modificata

  • Modello di progetto creato

  • Modello di progetto cambiato

  • 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

  • Language AI importazione completata

  • Traduzione con Language AI terminata

Configura Webhook

Per configurare i Webhook, segui questi passaggi:

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

    Si apre la pagina Webhook.

  2. Fai clic su Aggiungi webhook o Nuovo.

    Si apre la pagina Crea nuovo webhook.

  3. Fornisci un nome, URL e token di sicurezza se necessario.

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

  4. Seleziona eventi.

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

  6. Fai clic su Crea webhook.

    Il webhook viene aggiunto all'elenco nella pagina Webhook.

Esempi di utilizzo del webhook

Un sito web chiamato RequestBin fornirà un URL da utilizzare durante la creazione di un webhook.

La prossima volta che lo stato di un 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 modifica dello stato di un lavoro, assegnazione di un lavoro, creazione di un lavoro e quando la data di scadenza di un lavoro viene modificata.

Lo stato del lavoro è cambiato

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NUOVO",
    "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": "Amministratore",
          "lastName": "Amministratore",
          "userName": "admin",
          "email": "admin@example.com",
          "role": "AMMINISTRATORE",
          "timezone": "Europa/Londra"
          "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": "NUOVO",
    "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": "Amministratore",
          "lastName": "Amministratore",
          "userName": "admin",
          "email": "admin@example.com",
          "role": "AMMINISTRATORE",
          "timezone": "Europa/Londra"
          "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": "NUOVO",
     "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": "Amministratore",
           "lastName": "Amministratore",
           "userName": "admin",
           "email": "admin@example.com",
           "role": "AMMINISTRATORE",
           "timezone": "Europa/Londra"
           "active": true,
           "deleted": false,
           "terminologist": false,
           "dateCreated": "2016-10-11T07:43:22Z"
         }
       }
     ]
   }
 ],
 "event": "JOB_CREATED"
}

Data di scadenza del lavoro cambiata

{
  "jobParts": [
    {
      "id": 127865777,
      "uid": "ElTXvXnNIHEN2xgL5sU2L2",
      "internalId": "1",
      "task": "LvkAHilgobApeoVm_dc4",
      "fileName": "EU White Paper Edited.doc",
      "targetLang": "de",
      "workflowLevel": 1,
      "status": "NUOVO",
      "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 di stato

Quando si lavora con API, Webhook e l'interfaccia utente, lo stato può essere denominato in modo leggermente diverso.

Rest API

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.