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