Naše API vidí aplikační entity (projekty, zakázky, nastavení) jako zdroje, které lze vyhledat, vytvořit, upravit a odstranit.
Každá metoda HTTP představuje akci:
-
GET
Získá zdroj, zdroj se nemění
-
POST
Vytvoří zdroj. POST se také používá pro operace, které se nevejdou do žádné ze čtyř operací nebo mají dlouhý nebo složitý vstup – například prohledávání překladových pamětí nebo vytváření zakázek.
-
PUT
Aktualizuje zdroj. Upozorňujeme, že celá entita musí mít všechna pole, nejen ta, která byla změněna; pokud je nezahrnete, bude muset být nastavena na nula.
-
ODSTRANIT
Odstraní zdroj.
Důležité
Vstupní a výstup data jsou obvykle ve formátu JSON, kódované UTF-8. Pro soubor jako text požadavku se použije typ obsahu application/octet-stream nebo multipart/form-data.
Subjekty použijí pokud možno plochou strukturu, aby byly zachovány dobré doby odezvy. Místo toho, aby odpovědi zahrnovaly celé vedlejší objekty, obsahují reference obsahující ID, UID a několik dalších atributů. Objekty IDReference nebo UidReference odkazují na související entity.
Stránkovány jsou všechny seznamy odpovědí. K načtení požadovaných dat použijte parametry pageNumber a pageSize. Maximální velikost stránky je 50.
Dokumentace
Pro dokumentaci API je použito OpenAPI 3.0. Pro vývoj klienta jsou doporučeny generátory kódu.
Hrubé dokumentační soubory:
Příklady API
Získat seznam všech překladových pamětí
GET
/web/api2/v1/transMemories
Odpověď
200
{ "pageNumber": 0, "obsah": [ { "internalId": 1, "createdBy": { "userName": "správce", "id": "3", "firstName": "Jan", "lastName": "Janocko", „role“: "SPRÁVCE", "email": "jan.janocko@phrase.com" }, "klient": null, "poznámka": "není nutné použít v TM", "dateCreated": "2018-01-09T14:07:46+0000", "id": "1", "targetLangs": [ "es", "to" ], "subdoména": null, "businessUnit": { "id": "1", "Název": „První BU“ }, "sourceLang": "cs", "doména": null, "Název": „Moje nová TM“ } ], "numberOfElements": 1, "totalElements": 1, "pageSize": 50, "totalPages": 1 }
Vytvořit novou překladovou paměť
POST
/web/api2/v1/transMemories
{{ "Název": „Moje nová TM“ "sourceLang": "cs", "targetLangs": [ "es", "it-IT" ], "businessUnit": { "id": "1" }, "poznámka": "není nutné použít v TM" }
Odpověď
201
{ "internalId": 1, "createdBy": { "userName": "správce", "id": "3", "firstName": "J", "lastName": "Jan", „role“: "SPRÁVCE", "email": "jan.j@phrase.com" }, "klient": null, "poznámka": "není nutné použít v TM", "dateCreated": "2018-01-09T14:07:46+0000", "id": "1", "targetLangs": [ "es", "to" ], "subdoména": null, "businessUnit": { "id": "1", "Název": „První BU“ }, "sourceLang": "cs", "doména": null, "Název": „Moje nová TM“ }
Přidávání souborů při vytváření zakázky
Přidejte tento soubor do textu požadavku jako binární přílohu. Zkontrolujte, zda jsou záhlaví Phrase a obsah-Disposition správně vložena.
Ukázka PHP z Postmana:
<?php $request = nový HttpRequest(); $request->setUrl('https://cloud.memsource.com/web/api2/v1/projects/%7BUID%20of%20vase%20projekt%7D/jobs'); $request->setMethod(HTTP_METH_POST); $request->setQueryData(array( 'token' => 'Váš token jde sem' )); $request->setHeaders(array( 'postman-token' => 'ABC', 'cache-control' => 'bez cache', 'content-disposition' => 'filename*=UTF-8''Sample.txt', 'memsource' => '{\\"targetLangs\":[\"de\",\"fr\",\"es\\"],\\"callbackUrl\":\\"https://my-shiny-service.com/consumeCallback\\",\\"importSettings\":{\"uid\\":\"WF0T1SfSHxII09yKr0dZh9\"}}' )); zkuste { $response = $request->send(); echo $response->getBody(); } catch (HttpException $ex) { echo $ex; }
Zpracování chyb
Pokud při zpracování požadavku API dojde k problému, bude vrácena následující struktura JSON. Kód chyby bude vždy k dispozici; podrobný popis může být nulový.
{ "errorCode": „Neplatné argumenty“ "errorDescription": Chybí požadovaný argument \"password\" typu \"řetězec\". }
Chybovou odpověď lze zjistit načtením kódu stavu HTTP odpovědi. Pokud dojde k chybě, nebude nikdy nastavena na 2xx. Stav kódu je 400 špatný požadavek, 401 nebo 403 pro problémy ověřování nebo autorizace.
Hlášení problémů
Při hlášení problému technické podpoře uvede do zprávy následující:
-
Koncový bod API
-
Požadavek
-
Čas (a časové pásmo)
-
Odpověď
-
Phrase-Action-ID odpovědi