Eine Reihe von API calls steht zur Verfügung, die Folgendes ermöglicht:
-
Integration von Phrase und beliebiger Drittanbieter-Software (Translation Management Tools, CMS usw.)
-
Entwicklung einer Übersetzerwerkbank. Der CAT-Editor basiert auf öffentlichen APIs.
-
Erstellung eines brandneuen Tools oder einer Dienstleistung, bei der Phrase im Backend verwendet wird.
Grundlegender Workflow
Verfahren und Workflow müssen verstanden werden, bevor APIs verwendet werden. Es wird empfohlen, mit einem Verfahren in Phrase vertraut zu sein, bevor die zugehörige API implementiert wird.
Der grundlegende Workflow ist:
-
Einen TM, TB erstellen und optional eine maschinelle Übersetzung Engine hinzufügen.
-
Ein Projekt mit TM/TB/maschineller Übersetzung Engine anhängen (falls erforderlich).
-
Das Projekt als Projektvorlage speichern und erneut verwenden, um ein neues Übersetzungsprojekt zu erstellen.
-
Die Datei zur Übersetzung ins Projekt hochladen (einen Job erstellen).
-
Anschließend kann der Job analysiert, vorübersetzt oder einem Linguist zugewiesen werden.
Asynchronous APIs
Asynchrone APIs sollten immer den synchronen Varianten vorgezogen werden. Wenn synchronen APIs aufgerufen werden, besteht die Möglichkeit, dass beim Verarbeiten großer Dateimengen oder sogar einer einzelnen großen Datei Zeitüberschreitungsantworten empfangen werden. Synchrone APIs sollten nur für kleine Dateien und kleine Integrationen verwendet werden.
Polling
Nach dem Aufruf einer asynchronen API wird sofort eine Antwort mit der Anforderungs-ID zurückgegeben. Dieser Identifikator wird verwendet, um den Status der Anfrage zu überprüfen, indem getAsyncRequest aufgerufen und das asyncResponse Feld geprüft wird. Dieser Polling-Ansatz kann zu einer Anzahl von getAsyncRequest Aufrufen führen, bevor eine asyncResponse empfangen wird, die nicht null ist.
Callbacks
Als Antwort auf die Nachteile des Polling-Ansatzes für asynchrone Anfragen wird die Unterstützung für Rückrufe in allen asynchronen APIs unterstützt. Beim Aufruf einer asynchronen Anfrage ist im Parameter callbackUrl eine URL anzugeben, die angefordert wird, sobald der durch die Anfrage initiierte Job abgeschlossen ist.
Callbacks werden über HTTP POST-Aufrufe angefordert, und die Daten werden im Body als JSON kodiert übergeben. Das JSON-Objekt enthält immer:
-
Informationen über die asynchrone Anfrage (die gleichen wie beim Aufrufen von getAsyncRequest).
-
Detaillierte Informationen über das Ergebnis der Aktion, wie eine vollständige Analyse oder Jobdetails.
{
"asyncRequest": {
...
}
"analyse": {
...
}
}
Ist eine Callback-URL nicht zugänglich, wird die Anfrage nach 2, 4, 8, 16 und 30 Minuten erneut gesendet, bis 10 Versuche fehlgeschlagen sind.
Die Callback-URL muss mit dem HTTP-Statuscode 200 OK antworten, damit sie als erfolgreich gilt.