Phrase TMS API

API Technology (TMS)

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

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

Jede HTTP-Methode stellt eine Aktion dar:

  • GET

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

  • POST

    Erstellt eine Ressource. POST wird auch für Operationen verwendet, die in keine der vier Operationen passen oder lange oder komplexe Eingaben haben – wie das Suchen von Übersetzungsspeichern oder das Erstellen von Jobs.

  • PUT

    Aktualisiert die Ressource. Bitte beachten Sie, dass die gesamte Entität mit all ihren Feldern erforderlich ist, nicht nur die geänderten; das Nicht-Einschließen bedeutet, dass sie auf null gesetzt werden sollte.

  • DELETE

    Löscht die Ressource.

Wichtig

Eingabe- und Ausgabedaten sind normalerweise im JSON-Format, UTF-8 kodiert. Für eine Datei als Anfrage-Body-Inhaltstyp wird application/octet-stream oder multipart/form-data verwendet.

Entitäten verwenden eine flache Struktur, wenn möglich, um gute Antwortzeiten aufrechtzuerhalten. Anstatt ganze untergeordnete Objekte in Antworten einzuschließen, werden Referenzen, die die ID, UID und einige andere Attribute enthalten, bereitgestellt. Entweder IDReference oder UidReferenc Objekte, um auf verwandte Entitäten zu verweisen, werden erwartet.

Alle Antwortlisten sind seitenweise. Verwenden Sie die Parameter pageNumber und pageSize, um angeforderte Daten abzurufen. Die maximale Seitengröße beträgt 50.

Dokumentation

OpenAPI 3.0 wird für die API-Dokumentation verwendet. Swagger-Code-Generatoren werden für die Client-Entwicklung empfohlen.

API-Beispiele

Liste aller Übersetzungsspeicher abrufen

GET

/web/api2/v1/transMemories

Antwort

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "erstelltVon": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "Rolle": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "Kunde": null,
            "Hinweis": "nicht notwendig in TM zu verwenden",
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "it"
            ],
            "subDomain": null,
            "businessUnit": {
                "id": "1",
                "name": "Erste BU"
            },
            "sourceLang": "de",
            "Fachbereich": null,
            "name": "Mein neues TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Erstellen Sie ein neues Translation Memory

POST

/web/api2/v1/transMemories

{{
"name": "Mein neues TM",
"sourceLang": "de",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
"Hinweis": "nicht notwendig, um in TM zu verwenden"
}

Antwort

201

{
    "internalId": 1,
    "erstelltVon": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "Rolle": "ADMIN",
        "email": "jan.j@phrase.com"
    },
    "Kunde": null,
    "Hinweis": "nicht notwendig in TM zu verwenden",
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "it"
    ],
    "subDomain": null,
    "businessUnit": {
        "id": "1",
        "name": "Erste BU"
    },
    "sourceLang": "de",
    "Fachbereich": null,
    "name": "Mein neues TM"
}

Dateien beim Erstellen eines Jobs hinzufügen

Fügen Sie diese Datei als binäre Anlage in den Anfragekörper ein. Stellen Sie sicher, dass Phrase und die Content-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%20Ihres%20Projekts%7D/jobs');
$request->setMethod(HTTP_METH_POST);

$request->setQueryData(array(
'token' => 'Ihr Token kommt hierhin'
));

$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\\"}}'
));

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

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

Fehlerbehandlung

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

{ "errorCode": "UngültigeArgumente",
"errorDescription": "Erforderliches Argument \"password\" vom Typ \"Zeichenfolge\" fehlt."
}

Eine Fehlermeldung kann erkannt werden, indem der HTTP-Status Code der Antwort gelesen wird. Wenn ein Fehler auftritt, wird er niemals auf 2xx gesetzt. Der Statuscode ist 400 schlechte Anfrage, 401 oder 403 bei Authentifizierungs- oder Autorisierungsproblemen.

Probleme melden

Wenn Sie Probleme an Technischen Support melden, fügen Sie Folgendes in den Bericht ein:

  • API-Endpunkt

  • Anforderung

  • Zeit (und Zeitzone)

  • Antwort

  • Phrase-Aktions-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.