Phrase TMS API

Webhooks (TMS)

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

Verfügbar für

  • Team-, Professional-, Business-, Enterprise- und Software-UI/UX-Pläne

Kontaktiere Vertrieb für Fragen zur Lizenzierung.

Webhooks sind beliebige URLs, die HTTP-POST-Anfragen verarbeiten und die Benachrichtigung von Drittsystemen über bestimmte Ereignisse ermöglichen.

Phrase überwacht, ob ein Webhook-Callback erfolgreich empfangen wurde. Wenn ein Webhook-Empfang 3000 Mal fehlschlägt, wird er deaktiviert, eine Benachrichtigung an die Administratoren des User-Kontos gesendet und der Fehler beim spezifischen Webhook auf der Seite Webhooks vermerkt. Der Wiederholungsmechanismus hat ein Maximum von 10 Wiederholungsversuchen, wobei das Intervall zwischen den Versuchen bis zu einem Maximalwert von 30 Minuten berechnet wird.

Webhooks können auf der Webhook-Seite deaktiviert/aktiviert, im Verlauf angezeigt, getestet oder gelöscht werden, indem der einzelne Webhook ausgewählt wird, um die Symbolleiste anzuzeigen. Die Funktion Verlauf bietet einen Überblick über Aufrufe der letzten 14 Tage und fehlgeschlagene Webhooks können erneut ausgeführt werden.

Wichtig

Das Whitelisting von Webhook-Verbindungen über IP-Adressen wurde als veraltet markiert und durch Webhook-Sicherheitstoken ersetzt.

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

  • Job status changed

  • Job erstellt

  • Job assigned

  • Fälligkeitsdatum des Jobs geändert

  • Job-Quelle aktualisiert

  • Job-Zielsprache aktualisiert (bezieht sich auf die Aktion Zielsprache aktualisieren bei Jobs)

  • Kontinuierlicher Job aktualisiert

    Wird ausgelöst, wenn die Ausgangssprache-Datei eines kontinuierlichen Jobs über ein von einem Konnektor überwachtes Repository aktualisiert wird. Wird nicht bei einer manuellen Aktion Ausgangssprache aktualisieren für einen regulären (nicht kontinuierlichen) Job ausgelöst.

  • Projekt erstellt

  • Projektstatus geändert

  • Fälligkeitsdatum des Projekts geändert

  • Projektvorlage erstellt

  • Projektvorlage 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-Import abgeschlossen

  • Language AI-Übersetzung abgeschlossen

Webhooks konfigurieren

Um Webhooks zu konfigurieren, befolge diese Schritte:

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

    Die Seite Webhooks wird geöffnet.

  2. Klicke auf Webhook hinzufügen oder Neu.

    Die Seite Webhook erstellen wird geöffnet.

  3. Geben Sie einen Namen, eine URL und bei Bedarf ein Token an.

    Geben Sie einen Wert an, der entweder im X-memsource-Token-Header oder im Authorization-Header enthalten sein soll, damit der User seine bevorzugte Methode zur Authentifizierung des Webhook-Absenders auswählen kann.

  4. Veranstaltungen auswählen.

  5. Klicken Sie auf Vorschau Schema, um die Webhook-Antwort bei der Ausführung anzuzeigen.

  6. Klicken Sie auf Webhook erstellen.

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

Webhook-Verwendungsbeispiele

Eine Website namens RequestBin stellt eine URL bereit, die Sie beim Erstellen eines Webhooks verwenden können.

Wenn das nächste Mal 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 betrachtet werden, bestimmte Aktionen auszuführen.

Veranstaltungen

Beispiele für eine Änderung des Job-Status, eine Job-Zuweisung, Job-Erstellung und wenn das Fälligkeitsdatum eines Jobs geändert wird.

Job-Status hat sich 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",
          "role": "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",
          "role": "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",
           "role": "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 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"
}

Status-Tabelle

Bei der Arbeit mit APIs, Webhooks und der UI kann die Status-Bezeichnung leicht abweichen.

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.