Phrase TMS API

Webhooks (TMS)

Inhalte werden von Phrase Language AI maschinell aus dem Englischen übersetzt.

Verfügbar für

  • Team-, Professional-, Business- und Enterprise-Pläne

Kontaktiere Vertrieb für Fragen zur Lizenzierung.

Webhooks sind beliebige URLs, die HTTP-POST-Anfragen verarbeiten und es Drittanbietersystemen ermöglichen, über bestimmte Ereignisse Benachrichtigung zu werden.

phrase überwacht, ob ein Webhook Callback erfolgreich empfangen wurde. Wenn der Empfang eines Webhooks 3000 Mal fehlschlägt, wird er mit einer an die Administratoren des User-Kontos gesendeten Benachrichtigung deaktiviert, und der Fehler wird auf dem bestimmten Webhook auf der Webhooks-Seite angezeigt. Der Wiederholungsmechanismus hat maximal 10 Wiederholungen, wobei das Wiederholungsintervall bis zu einem Höchstwert von 30 Minuten berechnet wird.

Webhooks können deaktiviert/aktiviert, getestet oder von der Webhooks-Seite gelöscht werden, indem du über einzelne Webhooks fährst und auf ellipses.png klickst, um auf das Menü zuzugreifen. Die Verlaufsfunktion bietet eine Übersicht über die Aufrufe der letzten 14 Tage und fehlgeschlagene Webhooks können wiedergegeben werden.

Wichtig

Das Whitelisting von Webhook Verbindungen nach IP-Adressen war nicht mehr zeitgemäß und wurde durch Webhook Sicherheitstoken ersetzt.

Webhooks können für die folgenden Events ausgewählt werden:

  • Job status changed

  • Job erstellt

  • Job assigned

  • Fälligkeitsdatum des Jobs geändert

  • Job-Quelle aktualisiert

  • Job Zielsprache aktualisiert d (Bezieht sich auf die Aktion Zielsprache aktualisieren bei Jobs)

  • Kontinuierlicher Job aktualisiert

  • Projekt erstellt

  • Projektstatus geändert

  • Fälligkeitsdatum des Projekts geändert

  • Projektvorlage erstellt

  • Projekt Vorlage geändert

  • Projektvorlage gelöscht

  • Shared project assigned

  • Projektmetadaten aktualisiert

  • Vorübersetzung abgeschlossen

  • Analyse erstellt

  • Job gelöscht

  • Projekt gelöscht

  • Job exportiert

  • Export von Job rückgängig gemacht

  • Language AI importiert beendet

  • Language AI-Übersetzung abgeschlossen

Webhooks konfigurieren

Um Webhooks zu konfigurieren, folge diesen Schritten:

  1. Scrolle auf der Seite Setup_gear.png Einstellungen nach unten zum Abschnitt Integrationen und klicke auf Webhooks.

    Die Seite Webhooks öffnet sich.

  2. Klicke auf Webhook hinzufügen.

    Die Erstellungsseite öffnet sich.

  3. URL angeben.

  4. Gib bei Bedarf ein Security Token an.

    Gib einen Wert an, der entweder im x-Memsource-Token Header oder im Authorization Header enthalten sein soll, sodass der User seine bevorzugte Methode zur Authentifizierung des Webhook Senders auswählen kann.

  5. Events auswählen.

  6. Klicke auf Schema Vorschau, um die Webhook Antwort beim Ausführen anzuzeigen.

  7. Klicke auf Webhook erstellen.

    Der Webhook wird der Liste auf der Seite Webhooks hinzugefügt.

Webhook Verwendungsbeispiele

Eine Website namens RequestBin wird eine URL bereitstellen, die bei der Erstellung eines Webhooks verwendet werden kann.

Wenn Weiter ein Job Status geändert oder ein Job im User-Konto erstellt wird, erhält die URL die entsprechende Antwort vom System. Die tatsächliche Verwendung kann komplexer sein und der Empfang der Antwort sollte als Signal für die verbundene Anwendung angesehen werden, bestimmte Aktionen auszuführen.

Events

Beispiele für Status eines Jobs ändern sich, Zuweisung eines Jobs, Erstellung eines Jobs und wenn das Fälligkeitsdatum eines Jobs geändert wird.

Status Job geändert

{
"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",
          "Rolle": "ADMIN",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_STATUS_CHANGED"
}

Job zugewiesen

{
"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",
          "Rolle": "ADMIN",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_ASSIGNED"
}

Job erstellt

{
 "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",
           "Rolle": "ADMIN",
           "timezone": "Europe/London",
           "active": true,
           "deleted": false,
           "terminologist": false,
           "dateCreated": "2016-10-11T07:43:22Z"
         }
       }
     ]
   }
 ],
 "event": „JOB_CREATED“
}

Fälligkeitsdatum des Jobs geändert

{
  "jobParts": [
    {
      "id": 127865777,
      "uid": "ElTXvXnNIHEN2xgL5sU2L2",
      "internalId": "1",
      "task": "LvkAHilgobApeoVm_dc4",
      "fileName": „EU Whitepaper 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"
}

Status Tabelle

Wenn du mit APIs, Webhooks und der Benutzeroberfläche arbeitest, kann der Status etwas anders benannt werden.

Rest API

Webhook

UI

NEW

NEW

NEU

ACCEPTED

ASSIGNED

ANGENOMMEN (vom Dienstleister)

DECLINED

DECLINED_BY_LINGUIST

ABGELEHNT (vom Dienstleister)

REJECTED

REJECTED_BY_LINGUIST

ZURÜCKGEWIESEN (vom Dienstleister)

DELIVERED

COMPLETED

GELIEFERT

EMAILED

EMAILED

PER EMAIL GESENDET (an Dienstleister)

COMPLETED

COMPLETED_BY_LINGUIST

ABGESCHLOSSEN (vom Dienstleister)

CANCELLED

CANCELLED

CANCELLED

War dieser Beitrag hilfreich?

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.