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