API Phrase TMS

API Technology (TMS)

Obsah je strojově přeložen z angličtiny s použitím Phrase Language AI.

Naše API vnímá aplikační entity (projekty, zakázky, nastavení) jako zdroje, které lze získat, vytvořit, upravit a odstranit. 

Každá HTTP metoda představuje akci:

  • GET

    Získá zdroj, aniž by jej měnil.

  • POST

    Vytvoří zdroj. POST se také používá pro operace, které nespadají do žádné ze čtyř operací nebo mají dlouhý či složitý vstup – například vyhledávání překladových pamětí nebo vytváření zakázků.

  • PUT

    Aktualizuje zdroj. Měj na paměti, že celá entita se všemi poli je vyžadována – nezahrň pouze ta změněná; pokud ji nezahrneš, nastaví se na null.

  • DELETE

    Odstraní zdroj.

Důležité

Vstupní a výstupní data jsou obvykle ve formátu JSON, kódovaná v UTF-8. Pro soubor jako typ obsahu těla žádosti se používá application/octet-stream nebo multipart/form-data.

Entity používají plochou strukturu, kdykoli je to možné, aby měly dobrou odezvu. Místo vkládání celých vedlejších objektů do odpovědí se použijí reference, které obsahují ID, UID a pár dalších atributů. Očekávají se objekty buď IDReference nebo UidReference, které odkazují na související entity.

Všechny seznamy odpovědí jsou stránkované. Použijte parametry pageNumber a pageSize k získání požadovaných dat. Maximální velikost stránky je 50.

Dokumentace

OpenAPI 3.0 se používá pro dokumentaci API. Generátory kódu Swagger jsou doporučeny pro vývoj klienta.

Příklady API

Získat seznam všech překladových pamětí

GET

/web/api2/v1/transMemories

Odpověď

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "role": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "client": null,
            "note": "není nutné použít v TM",
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "it"
            ],
            "subDomain": null,
            "businessUnit": {
                "id": "1",
                "name": "První BU"
            },
            "sourceLang": "en",
            "domain": null,
            "name": "Moje nová překladová paměť"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Vytvořit novou překladovou paměť

POST

/web/api2/v1/transMemories

{{
"name": "Můj nový TM",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
"note": "není nutné použít v TM"
}

Odpověď

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": "ADMIN",
        "email": "jan.j@phrase.com"
    },
    "client": null,
    "note": "není nutné použít v TM",
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "it"
    ],
    "subDomain": null,
    "businessUnit": {
        "id": "1",
        "name": "První BU"
    },
    "sourceLang": "en",
    "domain": null,
    "name": "Moje nová TM"
}

Přidávání souborů při vytváření zakázky

Přidejte tento soubor do těla žádosti jako binární přílohu. Ujistěte se, že hlavičky Phrase a Content-Disposition jsou správně vloženy.

Ukázkový PHP kód z Postmanu:

<?php

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

$request->setQueryData(array(
'token' => 'Váš token sem patří'
));

$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;
}

Zpracování chyb

Pokud dojde k problému při zpracování API požadavku, bude vrácena následující JSON struktura. Chybový kód bude vždy přítomen; podrobný popis může být null.

{ "errorCode": "InvalidArguments",
"errorDescription": "Povinný argument \"heslo\" typu \"řetězec\" chybí."
}

Chybovou odpověď lze detekovat přečtením HTTP statusu kódu odpovědi. Pokud dojde k chybě, nikdy nebude nastaven na 2xx. Status kód je 400 bad request, 401 nebo 403 pro problémy s ověřováním nebo autorizací.

Hlásení problémů

Když hlásíš problém Technické podpoře, přidej do zprávy následující:

  • Koncový bod API

  • Požadavek

  • Čas (a časové pásmo)

  • Odpověď

  • Phrase-Action-ID odpovědi

Byl pro vás tento článek užitečný?

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.