Phrase TMS API

API Technologie (TMS)

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

Unsere API versteht Anwendungsentitäten (Projekte, Jobs, Einstellungen) als Ressourcen, die abgerufen, erstellt, geändert und gelöscht werden können. 

Jede HTTP-Methode repräsentiert eine Aktion:

  • GET

    Ruft eine Ressource ab, ohne die Ressource zu verändern

  • POST

    Erstellt eine Ressource. POST wird auch für Operationen verwendet, die nicht in eine der vier Operationen passen oder lange oder komplexe Eingaben enthalten – beispielsweise die Suche nach Translation Memorys oder die Erstellung von Jobs.

  • PUT

    Aktualisiert die Ressource. Bitte beachte, dass die gesamte Entität mit allen ihren Feldern erforderlich ist, nicht nur die geänderten. Nicht einbeziehen bedeutet, dass sie auf Null gesetzt werden sollte.

  • DELETE

    Löscht die Ressource.

Wichtig

Eingabe und Output liegen normalerweise im JSON Format vor. Für eine Datei als Anforderungstext wird der Typ Anwendung/Oktett-Stream oder mehrteilige/Formular-Daten verwendet.

Entitäten verwenden nach Möglichkeit eine flache Struktur, um gute Reaktionszeiten einzuhalten. Anstatt ein ganzes untergeordnetes Element in die Antworten aufzunehmen, werden Referenzen angezeigt, die die ID, UID und einige andere Attribute enthalten. Es werden entweder IDReference- oder UidReference-Objekte erwartet, die auf zugehörige Entitäten verweisen.

Alle Antwortlisten sind seitenweise angelegt. Verwende die Parameter pageNumber und pageSize, um die angeforderten Daten abzurufen. Die maximale Seitengröße ist 50.

Dokumentation

Für die API Dokumentation wird OpenAPI 3.0 verwendet. Für die Entwicklung beim Kunden werden Swagger-Codegeneratoren empfohlen.

Rohdokumentationsdateien:

API Beispiele

Liste aller Translation Memorys

GET

/web/api2/v1/transMemories

Antwort

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "role": „ADMIN“
                "email": "jan.janocko@phrase.com"
            },
            "client": null,
            „Hinweis“: „nicht in TM verwenden erforderlich“,
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                „es“,
                "es"
            ],
            „Teilbereich“: null,
            "businessUnit": {
                "id": "1",
                "name": „Erste BU“
            },
            "sourceLang": "en",
            "Fachbereich": null,
            "name": "Mein neues TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Neues Translation Memory erstellen

POST

/web/api2/v1/transMemories

{{
"name": "Mein neues TM",
"sourceLang": "en",
"targetLangs": [
„es“, „it-IT“
],
"businessUnit": {
"id": "1"
},
„Hinweis“: „nicht notwendig, um in TM verwendet zu werden“
}

Antwort

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": „ADMIN“
        "email": "jan.j@phrase.com"
    },
    "client": null,
    „Hinweis“: „nicht in TM verwenden erforderlich“,
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        „es“,
        "es"
    ],
    „Teilbereich“: null,
    "businessUnit": {
        "id": "1",
        "name": „Erste BU“
    },
    "sourceLang": "en",
    "Fachbereich": null,
    "name": "Mein neues TM"
}

Hinzufügen von Dateien beim Erstellen eines Jobs

Hinzufügen Sie diese Datei dem Hauptteil der Anforderung als binären Anhang hinzu. Stelle sicher, dass Phrase und die Inhalt-Disposition-Header korrekt eingefügt sind.

Beispiel PHP von Postman:

<?php

$request = new HttpRequest();
$request->setUrl('https://cloud.memsource.com/web/api2/v1/projects/%7BUID%20of%20your%20project%7D/jobs');
$request->setMethod(HTTP_METH_POST);

$request->setQueryData(array(
'Token' => 'Ihr Token geht hier'
));

$request->setHeaders(array(
'postman-token' => 'ABC',
'cache-control' => 'no-cache',
'content-disposition' => 'filename*=UTF-8''Sample.txt',
'memsource' => '{\\"targetLangs\\":[\"de\\",\\"fr\\",\\"es\\"],\\"callbackUrl\\":\\"https://my-shiny-service.com/consumeCallback\\",\\"importSettings\\\":{\"uid\\":\"WF0T1SfSHxII09yKr0dZh9\\"}"
));

Versuche {
$response = $request->send();

echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}

Fehlerbehandlung

Wenn bei der Verarbeitung einer API Anforderung ein Problem vorliegt, wird die folgende JSON Struktur zurückgegeben. Der Fehlercode ist immer vorhanden; die detaillierte Beschreibung kann null sein.

{ "errorCode": "InvalidArguments",
"errorDescription": "Das erforderliche Argument \"Passwort\" mit dem Typ \"Zeichenfolge\" fehlt."
}

Eine Fehlerantwort kann durch Lesen des Codes für HTTP Status der Antwort erkannt werden. Wenn ein Fehler auftritt, wird er niemals auf 2xx gesetzt. Bei Authentifizierung oder Autorisierungsproblemen lautet der Status 400 Bad Request, 401 oder 403.

Probleme melden

Wenn Sie dem technischen Support ein Problem melden, müssen Sie Folgendes in den Bericht aufnehmen:

  • API-Endpunkt

  • Anforderung

  • Zeit (und Zeitzone)

  • Antwort

  • Phrase-Action-ID der Antwort

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.