API Phrase TMS

Webhook (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

Disponibile per

  • Piani Team, Professional, Business ed Enterprise

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

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

Phrase monitora se una chiamata webhook è stata ricevuta correttamente. Se una ricezione webhook fallisce 3000 volte, viene disattivata con una notifica inviata agli amministratori dell’account e l’errore viene segnalato nel webhook specifico nella pagina Webhooks. Il meccanismo di riprova prevede un massimo di 10 tentativi, l’intervallo tra i tentativi viene calcolato fino a un valore massimo di 30 minuti.

I webhook possono essere disabilitati/abilitati, testati o eliminati dalla pagina dei webhook passando il cursore sopra i singoli webhook e facendo clic su ellipses.png per accedere al menu. La funzione Cronologia offre una panoramica delle chiamate effettuate negli ultimi 14 giorni ed è possibile riprodurre i webhook non riusciti.

Importante

Le connessioni webhook inserite nella whitelist in base agli indirizzi IP erano obsolete e sono state sostituite 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 aggiornatod (si riferisce all'azione Aggiorna destinazione dei lavori)

  • Lavoro continuo aggiornato

  • Progetto creato

  • Stato progetto modificato

  • Data di scadenza progetto modificata

  • Modello di progetto creato

  • Modello 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 con Linguage AI completata

  • Traduzione con Language AI terminata

Configura webhook

Per configurare i webhook, segui i passaggi riportati di seguito:

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

    Si apre la pagina Webhooks.

  2. Fai clic su Aggiungi webhook.

    Si apre la pagina di creazione.

  3. Fornisci URL.

  4. Fornisci token di sicurezza se necessario.

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

  5. Seleziona eventi.

  6. Fai clic su Schema di anteprima per visualizzare la risposta webhook in esecuzione.

  7. Fai clic su Crea webhook.

    Il webhook viene aggiunto all'elenco nella pagina Webhook.

Esempi di utilizzo webhook

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

La volta Avanti che viene modificato uno Stato lavoro o viene creato un lavoro nell’account, l’URL riceve la risposta appropriata dal sistema. L'utilizzo effettivo può essere più complesso e la ricezione della risposta dovrebbe essere considerata un segnale per l'applicazione connessa di eseguire determinate azioni.

Eventi

Esempi di modificare dello stato lavoro, assegnazione di un lavoro, creazione di un lavoro e modifica della data di scadenza di un lavoro.

Stato 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": "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": "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": "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": "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": "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": "Libro bianco UE modificato.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 interfaccia utente, lo stato può essere denominato in modo leggermente diverso.

API REST

Webhook

UI

NEW

NEW

NUOVO

ACCEPTED

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.