Phrase TMS API

Webhooks (TMS)

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

Verfügbar für

  • Team, Professionell, Geschäft, Unternehmen und Software UI/UX-Pläne

Kontaktiere Vertrieb für Fragen zur Lizenzierung.

Webhooks sind willkürliche URLs, die HTTP POST-Anfragen verarbeiten und die Benachrichtigung von 3rd-Party-Systemen ü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 dem spezifischen Webhook auf der Seite 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 Historie Funktion bietet einen Überblick über 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 changed

  • Job erstellt

  • Job assigned

  • Fälligkeitsdatum des Jobs geändert

  • Job-Quelle aktualisiert

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

  • Kontinuierlicher Job aktualisiert

  • 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

Webhook konfigurieren

Um Webhooks zu konfigurieren, befolgen Sie diese Schritte:

  1. Gehen Sie von der Seite Einstellungen Setup_gear.png nach unten zum Abschnitt Integrationen und klicken Sie auf Webhooks.

    Die Seite Webhooks öffnet sich.

  2. Klicken Sie auf Webhook hinzufügen oder Neu.

    Die Seite Neuen Webhook erstellen ö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-Absenders auswählen kann.

  4. Ereignisse auswählen.

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

  6. Klicken Sie auf Webhook erstellen.

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

Webhook-Nutzungsbeispiele

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

Das nächste Mal, wenn der Status eines Jobs 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": "NEU",
    "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": "Europa/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": "NEU",
    "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": "Europa/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": "NEU",
     "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": "Europa/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": "NEU",
      "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

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.