Toto je jednoduchý scénář API s ukázkovými voláními API a pokyny, jak je spojit dohromady, aby se dokončila jednoduchá akce pomocí pouze API. Možnosti, které lze nastavit prostřednictvím API, jsou rozsáhlé. Konzultujte příslušné části dokumentace REST API, abyste se dozvěděli více o všech dostupných možnostech.
API platforma Postman byla použita k vytvoření scénáře.
V těchto příkladech standardní URL požadavku začíná na https://cloud.memsource.com. Pokud API používá organizace v datovém centru v USA, měla by URL požadavku začínat na https://us.cloud.memsource.com.
Scenario
-
Ověřování
Uživatel je ověřen (ekvivalent API přihlášení).
-
Vytvoření
Vytvoření jednoduchého projektu, nahrání úloh a přiřazení překladatele s e-mailovým oznámením.
-
Translation
Překladová práce prováděná mimo scénář API (v jakémkoli z editorů).
-
Funkce API
Jakmile je úkol dokončen (označen jako Dokončeno překladatelem), stav projektu je nastaven na Dokončeno a hotový dokument je stažen z projektu.
Metodologie
Každé jednotlivé volání REST API má uvedenou příslušnou metodu. Použití nesprávné metody (např. GET místo POST při volání pro vytvoření projektu) vede k neúspěšnému volání API.
Krok 1: Ověřování
Existují dvě metody ověřování:
-
Generuje ověřovací token platný po dobu 24 hodin. Token musí být vložen do všech následujících API. Token ověřuje uživatele a umožňuje jim provádět jakékoli další funkce v rámci profilu.
-
Umožňuje ověření aplikace. Ověřená aplikace je v neustálé komunikaci a nevyžaduje další ověření.
Pro tento scénář se používá API volání pro ověřování. Vygenerovaný token je vyžadován pro všechna následující API volání a není uveden v příkladových parametrech.
Použijte API Přihlášení pro ověření s požadovanými parametry. V tomto případě jsou vyžadovány uživatelské jméno a heslo.
-
Metoda
POST
-
URL požadavku
https://cloud.memsource.com/web/api2/v3/auth/login
-
Tělo požadavku:
{ "userName":"username", "password":"password"} -
Odpověď
Ověřovací token.
Členové více organizací TMS mají stejné uživatelské jméno a heslo pro více účtů. V tomto případě musí být userUid přidán do těla požadavku, aby se specifikovalo, do které organizace se uživatel chce přihlásit. Pokud není uvedeno jinak, uživatel je přihlášen k výchozímu účtu spojenému s daným uživatelským jménem a heslem.
Fáze 2: Vytvoření projektu, import a přiřazení
Vytvoření projektu
Použijte volání API Projects k vytvoření projektu s povinnými parametry name, sourceLang a targetLangs.
-
Metoda
POST
-
URL požadavku
https://cloud.memsource.com/web/api2/v3/projects
-
Žádost o tělo
{ "name":"Můj projekt", "sourceLang":"en", "targetLangs":[ "de","fr" ]} -
Odpověď
Project UID (e.g. KmtNyVlz1skQd2aMVEipp7)
Je možné vytvořit šablonu projektu pomocí volání API Vytvořit šablonu projektu s UID projektu z posledního volání.
-
Metoda
POST
-
URL požadavku
https://cloud.memsource.com/web/api2/v1/projectTemplates
-
Žádost o tělo
{ "project": { "uid": "řetězec" }, "name": "string", "importSettings": { "uid": "řetězec" }, "useDynamicTitle": true, "dynamicTitle": "string" } -
Odpověď
UID šablony projektu (např. AmtNyVlz1skQd2aMVEipp8)
Nejefektivnější způsob, jak vytvářet projekty, je použít šablonu projektu. Použijte Vytvořit projekt ze šablony s UID šablony projektu z posledního volání k vytvoření nového projektu na základě nastavení šablony projektu.
Výraz {templateUid} slouží jako zástupný znak v URL žádosti, kde je vloženo získané UID šablony projektu.
-
Metoda
POST
-
URL požadavku
https://cloud.memsource.com/web/api2/v2/projects/applyTemplate/oNQiljwTGHpd2l1nnQRiu4
-
Žádost o tělo
{ "name": "string", "sourceLang": "string", "targetLangs": [ "řetězec" ], "workflowSteps": [ { "id": "řetězec" } ], "dateDue": "2019-08-24T14:15:22Z", "note": "string", "client": { "id": "řetězec" }, "businessUnit": { "id": "řetězec" }, "domain": { "id": "řetězec" }, "subDomain": { "id": "řetězec" }, "costCenter": { "id": "řetězec" } }{ "project": { "uid": "řetězec" }, "name": "string", "importSettings": { "uid": "řetězec" }, "useDynamicTitle": true, "dynamicTitle": "string" } -
Odpověď
Project UID (e.g. BmtNyVlz1skQd2aMVEipp9)
Vytvoření zakázky
S UID projektu z posledního volání mohou být nové zakázky přidány přímo do nově vytvořeného projektu pomocí Vytvořit zakázku.
Výraz {projectUid} slouží jako zástupný znak v URL požadavku, kde je vloženo získané UID projektu. Při volání API pro Vytvoření zakázky musí být Hlavičky požadavku změněny tak, aby odpovídaly těm, které vyžaduje Phrase (v jiných voláních Postman automaticky přidává vhodné hlavičky do požadavku).
Všechny parametry importu musí být vloženy do vlastního Memsource záhlaví.
Záhlaví Content-Disposition musí obsahovat název souboru v předem definovaném formátu, aby bylo možné správně zpracovat požadavek na import.
Pro import zdrojového souboru přejděte do těla, vyberte a objeví se možnost .
-
Metoda
POST
-
URL požadavku
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs
-
(Hlavička) Content-Disposition
filename*=UTF-8''file.txt -
(Hlavička) Memsource
{"targetLangs":["de","fr"]} -
(Hlavička) Content-Type
aplikace/octet-stream
-
Odpověď
UID zakázky (např. dOYgeXzAdAbj4xFjuEVZP2)
UID asynchronního požadavku
Použijte Získat asynchronní požadavek s UID asynchronního požadavku z volání Vytvořit zakázku, abyste zkontrolovali, že zakázka byla úspěšně vytvořena a že je funkční.
Vrácený UID zakázky je jedinečný v každé fázi pracovního postupu projektu. Proto, pokud je zakázka vytvořena v projektu s pracovním postupem, odpověď vrací jedinečný UID zakázky pro každou fázi pracovního postupu.
Nastavení importu, které lze znovu použít, lze nakonfigurovat pomocí volání Vytvořit nastavení importu. UID nastavení importu, které lze použít ve volání vytvoření zakázky, je obdrženo v odpovědi.
Pro přiřazení poskytovatelů k zakázce (pokud nejsou přiřazeni přímo ve volání Vytvořit zakázku) použijte volání Upravit zakázku.
ID poskytovatele, které je vloženo do volání, lze získat dvěma způsoby:
-
Chcete-li získat ID z aplikace Phrase, postupujte podle těchto kroků:
-
Použijte Seznam uživatelů API volání.
Toto API volání nevyžaduje žádné specifické parametry a vrátí seznam všech uživatelů v uživatelském účtu. Odpověď obsahuje jak uživatelská jména, tak ID.
Volitelný parametr, uživatelské jméno, může být přidán k dotazu, což vám umožní vypsat pouze uživatele se specifickými uživatelskými jmény.
<1>Upozornit přiřazené uživatele
UID zakázky může být poté použit jako volitelný parametr v Oznámit přiděleným uživatelům volání spolu s parametrem šablonaE-mailu, který představuje ID šablony e-mailu, která má být použita. Toho lze dosáhnout pomocí volání Seznam šablon e-mailů.
-
URL požadavku
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs/notifyAssigned
-
Odpověď
Prázdný (Stav 204: Žádný obsah)
Tady by překladatel začal pracovat ve svém profilu, jako by byla používána uživatelská rozhraní Phrase. Po dokončení zakázky obdrží PM zodpovědný za projekt oznámení a je zahájena další část scénáře. Zpětné volání může být zachyceno prostřednictvím webhooks, aby automaticky zahájilo další část scénáře, ale to nebude v tomto příkladu řešeno.
Fáze 3: Stáhnout přeložený (dokončený) soubor, nastavit projekt na dokončený
Stáhnout přeložený soubor
Tento scénář funguje na předpokladu, že překladatel dokončí svou zakázku (označí zakázku jako Dokončeno), ale dokončený soubor může být stažen kdykoliv, zakázka nemusí mít stav Dokončeno.
Pro stažení přeloženého souboru jsou potřeba dva API volání: Stáhnout cílový soubor (asynchronně) a Stáhnout cílový soubor na základě asynchronního požadavku volání.
Prvním krokem je zavolat Stáhnout cílový soubor (asynchronně) s parametry projectUid a jobUid. Pokud stahujete dokončený soubor z projektu s více fázemi pracovního postupu, ujistěte se, že používáte jobUid z konkrétní fáze pracovního postupu, ze které byste chtěli stáhnout dokončený soubor, např. fáze revize pracovního postupu.
-
Chcete-li získat jobUID pro konkrétní fázi pracovního postupu z aplikace Phrase, postupujte podle těchto kroků:
-
Otevřete projekt.
-
Ve tabulce Zakázky přepněte na fázi pracovního postupu, ze které byste chtěli stáhnout dokončený soubor.
-
Zkopírujte unikátní část URL po /job z prohlížeče.
-
-
Použijte Seznam zakázek API volání.
Tento koncový bod vrací seznam zakázek v rámci specifikovaného projektu. Použijte volání s parametrem dotazu
workflowLevel. Tento parametr je parametr, který není založen na nule a označuje fázi pracovního postupu, ke které se vrácené zakázky vztahují. Pokud není specifikováno, jeho hodnota je ve výchozím nastavení nastavena na1(= první fáze pracovního postupu). Například, pokud potřebujete získat zakázky z fáze revize, specifikujte číslo této fáze v parametru dotazu, tj.2.
Volání pro stažení cílového souboru (asynchronně) iniciuje asynchronní požadavek na vygenerování a stažení cílového souboru obsahujícího překlady. Nedává přímo cílový soubor v odpovědi, ale asyncRequestId potřebný pro následující volání.
-
Metoda
PUT
-
URL požadavku
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/targetFile
-
Odpověď
ID asynchronního požadavku
Použijte Získat asynchronní požadavek s asyncRequestID z odpovědi, abyste zkontrolovali, že byl požadavek dokončen. Jakmile je asynchronní požadavek dokončen, můžete stáhnout cílový soubor pomocí volání Stáhnout cílový soubor na základě asynchronního požadavku. asyncRequestId lze použít pouze jednou. Jakmile je stažení zahájeno, asyncRequestId se stává neplatným pro další použití.
-
Metoda
GET
-
URL požadavku
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/downloadTargetFile/1291716982
-
Odpověď
Binární odpověď s dokončeným souborem samotným
Nastavit projekt na dokončený
Aby bylo možné projekt dokončit, jakmile je zakázka v projektu dokončena, použijte volání Upravit stav projektu s povinnými parametry projectUid a status pro změnu stavu celého projektu na Dokončeno. Tato změna je manuální, ale pokud je použita Automatizace stavu projektu, stav se změní automaticky. Je také možné čekat na webhook a iniciovat další akce na základě přijatého zpětného volání.
-
Metoda
POST
-
URL požadavku
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/setStatus
-
Žádost o tělo
{ "status": "DOKONČENO"} -
Odpověď
Prázdný (Stav 204: Žádný obsah)