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 der Empfang eines Webhooks 3000 Mal fehlschlägt, wird er deaktiviert und eine Benachrichtigung an die Administratoren des Kontos gesendet, und der Fehler wird auf der spezifischen Webhook-Seite auf Webhooks vermerkt. Der Wiederholungsmechanismus hat maximal 10 Wiederholungen, wobei das Intervall zwischen den Wiederholungen bis zu einem Höchstwert von 30 Minuten berechnet wird.

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

Wichtig

Das Whitelisting von Webhook-Verbindungen nach IP-Adressen wurde eingestellt und durch Webhook-Sicherheitstoken ersetzt.

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

  • Job-Status geändert

  • Job erstellt

  • Job zugewiesen

  • Fälligkeitsdatum des Jobs geändert

  • Job-Quelle aktualisiert

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

  • Kontinuierlicher Job aktualisiert

  • Projekt erstellt

  • Projektstatus geändert

  • Fälligkeitsdatum des Projekts geändert

  • Projektvorlage erstellt

  • Projektvorlage geändert

  • Projektvorlage gelöscht

  • Geteiltes Projekt zugewiesen

  • Projektmetadaten aktualisiert

  • Vorübersetzung abgeschlossen

  • Analyse erstellt

  • Job gelöscht

  • Projekt gelöscht

  • Job exportiert

  • Job nicht exportiert

  • Language AI Import abgeschlossen

  • Language AI Übersetzung abgeschlossen

Webhooks konfigurieren

Um Webhooks zu konfigurieren, befolgen Sie diese Schritte:

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

    Die Seite Webhooks öffnet sich.

  2. Klicke auf Webhook hinzufügen oder Neu.

    Die Neue Webhook erstellen Seite öffnet sich.

  3. Geben Sie einen Namen, eine URL und ein Sicherheitstoken an, falls erforderlich.

    Geben Sie einen Wert an, der entweder im x-memsource-token Header oder im Authorization Header enthalten sein soll, damit der Benutzer seine bevorzugte Methode zur Authentifizierung des Webhook-Senders wählen kann.

  4. Wählen Sie Ereignisse aus.

  5. Klicken Sie auf Schema-Vorschau, um die Webhook-Antwort beim Ausführen anzuzeigen.

  6. Klicken Sie auf Webhook erstellen.

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

Beispiele zur Webhook-Nutzung

Eine Website namens RequestBin stellt eine URL zur Verfügung, die beim Erstellen eines Webhooks verwendet werden kann.

Das nächste Mal, wenn ein Jobstatus geändert oder ein Job im Konto erstellt wird, erhält die URL die entsprechende Antwort vom System. Die tatsächliche Nutzung kann komplexer sein, und der Empfang der Antwort sollte als Signal für die verbundene Anwendung betrachtet werden, bestimmte Aktionen auszuführen.

Ereignisse

Beispiele für eine Änderung des Jobstatus, eine Jobzuweisung, die Erstellung eines Jobs und wenn das Fälligkeitsdatum eines Jobs geändert wird.

Der Jobstatus 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 Benutzeroberfläche kann der Status leicht unterschiedlich benannt werden.

Rest-API

Webhook

BENUTZEROBERFLÄCHE

NEU

NEU

NEU

ANGENOMMEN

ASSIGNED

ANGENOMMEN (vom Dienstleister)

DECLINED

DECLINED_BY_LINGUIST

ABGELEHNT (vom Dienstleister)

ZURÜCKGEWIESEN

ZURÜCKGEWIESEN_VOM_LINGUISTEN

ZURÜCKGEWIESEN (vom Dienstleister)

GELIEFERT

ABGESCHLOSSEN

GELIEFERT

EMAILED

EMAILED

PER E-MAIL GESENDET (an Dienstleister)

ABGESCHLOSSEN

ABGESCHLOSSEN_VOM_LINGUISTEN

ABGESCHLOSSEN (vom Dienstleister)

STORNIERT

STORNIERT

STORNIERT

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.