API Phrase TMS

Technologie API (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, úlohy, nastavení) jako zdroje, které lze získat, vytvořit, upravit a odstranit. 

Každá metoda HTTP představuje akci:

  • GET

    Získá zdroj, aniž by jej kdykoli změnila

  • POST

    Vytvoří zdroj. POST se také používá pro operace, které nezapadají do žádné ze čtyř operací nebo mají dlouhý či složitý vstup – jako je vyhledávání v překladových pamětech nebo vytváření úloh.

  • PUT

    Aktualizuje zdroj. Vezměte prosím na vědomí, že je vyžadována celá entita se všemi svými poli, nejen ta změněná; pokud ji neuvedete, znamená to, že by měla být nastavena na null.

  • ODSTRANIT

    Odstraní zdroj.

Důležité

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

Entity používají plochou strukturu, kdykoli je to možné, aby se udržela dobrá doba odezvy. Místo zahrnutí celých vedlejších objektů do odpovědí jsou obsaženy odkazy, které obsahují ID, UID a několik dalších atributů. Očekávají se buď objekty IDReference, nebo UidReference pro odkazování na související entity.

Všechny seznamy odpovědí jsou stránkovány. 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 rozhraní API. Generátory kódu Swagger jsou doporučeny pro vývoj klientů.

Příklady rozhraní 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": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "role": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            \"klient\": 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": "First BU"
            },
            "sourceLang": "en",
            "domain": null,
            \"name\": \"My new TM\"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Vytvořit novou překladovou paměť

POST

/web/api2/v1/transMemories

{{
\"name\": \"My new 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"
    },
    \"klient\": 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": "First BU"
    },
    "sourceLang": "en",
    "domain": null,
    \"name\": \"My new TM\"
}

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

Přidejte tento soubor do těla požadavku jako binární přílohu. Zajistěte, aby byly hlavičky Phrase a Content-Disposition správně vloženy.

Ukázka PHP z 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' => 'Zde vložte svůj token'
));

$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 nastane problém při zpracování požadavku API, bude vrácena následující struktura JSON. Chybový kód bude vždy přítomen; podrobný popis může být null.

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

Chybovou odpověď lze zjistit přečtením stavového kódu odpovědi HTTP. Pokud dojde k chybě, nikdy nebude nastaven na 2xx. Stavový kód je 400 bad request, 401 nebo 403 v případě problémů s ověřováním nebo autorizací.

Hlášení problémů

Při hlášení problému technické podpoře uveďte v hlášení následující údaje:

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