これは、単純なAPIシナリオであり、サンプルAPI呼び出しと、それらを連結してAPIのみを使用して単純なアクションを完了する方法に関する手順が含まれています。API経由で設定できるオプションは広範囲にわたります。利用可能なすべてのオプションの詳細については、REST APIドキュメントの各セクションを参照してください。
Postman<1> APIプラットフォームがシナリオの作成に使用されました。
これらの例では、標準のリクエストURLはhttps://cloud.memsource.com<1>で始まります。米国のデータセンターにある組織によってAPIが使用される場合、リクエストURLはhttps://us.cloud.memsource.com<2>で始まる必要があります。
シナリオ
-
認証
ユーザーが認証されます (ログインのAPI相当)。
-
作成
単純なプロジェクトの作成、ジョブのアップロード、およびメール注意を伴うリンギストの割り当て。
-
翻訳
APIシナリオ外(いずれかのエディター内)で実行される翻訳の仕事。
-
API機能
割り当てが完了すると(リンギストによって完了とマークされると)、プロジェクトのステータスが完了に設定され、完了したドキュメントがプロジェクトからダウンロードされます。
手法
個々のREST API呼び出しには、適切なメソッドがリストされています。誤ったメソッドを使用すると(例:プロジェクト作成呼び出しでPOSTの代わりにGETを使用するなど)、API呼び出しは失敗します。
ステップ 1: 認証
認証方法には2種類あります:
-
24時間有効な認証トークンを生成します。トークンは、以降のすべてのAPIに挿入する必要があります。トークンはユーザーを検証し、プロファイル内の他のあらゆる機能を実行できるようにします。
-
アプリケーションの検証を可能にします。検証済みのアプリケーションは継続的に通信を行うため、それ以上の認証は不要です。
このシナリオでは、Authentication API callが使用されます。生成されたトークンは、以降のすべてのAPI呼び出しに必要であり、例のパラメーターには記載されていません。
必要なパラメーターを使用して認証を行うには、Login APIを使用してください。この場合、usernameとpasswordが必要です。
-
Method
POST
-
Request URL
https://cloud.memsource.com/web/api2/v3/auth/login
-
Request body:
{ "userName":"username", "password":"password"} -
Response
認証トークン。
複数の組織のメンバーは、複数のアカウントに対して同じユーザー名とパスワードを使用します。この場合、ユーザーがログインしたい組織を指定するために、userUidをリクエストボディに追加する必要があります。指定がない場合、ユーザーは指定されたユーザー名とパスワードに関連付けられたデフォルトのアカウントにログインします。
ステップ 2: プロジェクトの作成、インポート、および割り当て
プロジェクト作成
プロジェクト API呼び出しを使用して、必須パラメーターである名前、原文言語、およびターゲット言語を指定してプロジェクトを作成します。
-
Method
POST
-
Request URL
https://cloud.memsource.com/web/api2/v3/projects
-
リクエスト本文
{ "name":"My project", "sourceLang":"en", "targetLangs":[ "de","fr" ]} -
Response
プロジェクトUID(例: KmtNyVlz1skQd2aMVEipp7)
前回の呼び出しで取得したプロジェクトUIDを使用して、プロジェクトテンプレートを作成 API呼び出しでプロジェクトテンプレートを作成できます。
-
Method
POST
-
Request URL
https://cloud.memsource.com/web/api2/v1/projectTemplates
-
リクエスト本文
{ "project": { "uid": "string" }, "name": "string", "importSettings": { "uid": "string" }, "useDynamicTitle": true, "dynamicTitle": "string" } -
Response
プロジェクトテンプレートUID(例: AmtNyVlz1skQd2aMVEipp8)
プロジェクトを作成する最も効率的な方法は、プロジェクトテンプレートを使用することです。プロジェクトテンプレートからプロジェクトを作成を、前回の呼び出しで取得したプロジェクトテンプレートUIDと共に使用して、プロジェクトテンプレートの設定に基づいた新しいプロジェクトを作成します。
{templateUid}という式は、取得したプロジェクトテンプレートUIDが挿入されるリクエストURL内のプレースホルダーとして機能します。
-
Method
POST
-
Request URL
https://cloud.memsource.com/web/api2/v2/projects/applyTemplate/oNQiljwTGHpd2l1nnQRiu4
-
リクエスト本文
{ "name": "string", "sourceLang": "string", "targetLangs": [ "string" ], "workflowSteps": [ { "id": "string" } ], "dateDue": "2019-08-24T14:15:22Z", "note": "string", "client": { "id": "string" }, "businessUnit": { "id": "string" }, "domain": { "id": "string" }, "subDomain": { "id": "string" }, "costCenter": { "id": "string" } }{ "project": { "uid": "string" }, "name": "string", "importSettings": { "uid": "string" }, "useDynamicTitle": true, "dynamicTitle": "string" } -
Response
プロジェクトUID(例: BmtNyVlz1skQd2aMVEipp9)
ジョブ作成
前回の呼び出しで取得したプロジェクトUIDを使用して、ジョブを作成により、新しく作成されたプロジェクトに直接新しいジョブを追加できます。
{projectUid}という式は、取得したプロジェクトUIDが挿入されるリクエストURL内のプレースホルダーとして機能します。ジョブを作成API呼び出しでは、リクエストのヘッダーをPhraseで要求されるものと一致するように変更する必要があります(他の呼び出しでは、Postmanが自動的に適切なヘッダーをリクエストに追加します)。
すべてのインポートパラメーターをカスタムMemsourceヘッダーに挿入する必要があります。
Content-Dispositionヘッダーには、インポートリクエストを正しく処理するために、定義済みのファイル形式でファイル名を含める必要があります。
原文ファイルをインポートするには、本文に移動し、を選択すると、オプションが表示されます。
-
Method
POST
-
Request URL
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs
-
(Header) コンテンツ-Disposition
filename*=UTF-8''file.txt -
(Header) Memsource
{"targetLangs":["de","fr"]} -
(Header) コンテンツ-Type
application/octet-stream
-
Response
ジョブUID(例: dOYgeXzAdAbj4xFjuEVZP2)
AsyncRequest UID
作成ジョブ呼び出しからのAsyncRequest UIDを使用して非同期リクエストを取得し、ジョブが正常に作成され、機能していることを確認します。
返されるジョブUIDは、プロジェクトの各ワークフローステップで一意です。したがって、ワークフローを含むプロジェクトでジョブが作成された場合、レスポンスは各ワークフローステップに対して一意のジョブUIDを返します。
再利用可能なインポート設定は、作成インポート設定呼び出しで構成できます。作成ジョブ呼び出しで使用できるインポート設定UIDがレスポンスで受信されます。
ジョブにプロバイダを割り当てるには(作成ジョブ呼び出しで直接割り当てない場合)、編集ジョブ呼び出しを使用します。
呼び出しに挿入されるプロバイダのIDは、次の2つの方法で取得できます。
-
PhraseアプリケーションからIDを取得するには、以下の手順に従ってください。
-
使用する 一覧ユーザー API呼び出し。
このAPI呼び出しには特定のパラメータは必要なく、アカウント内の全ユーザーの一覧が返されます。レスポンスにはユーザー名とIDの両方が含まれています。
オプションのパラメータ userName をクエリに追加することで、特定のユーザー名を持つユーザーのみを一覧表示できます。
割り当てられたユーザーに注意を送信
ジョブ UID は、割り当てられたユーザーに注意を送信 呼び出しのオプションパラメータとして使用でき、使用するメールテンプレートの ID を表す emailTemplate パラメータも併せて使用できます。これは、メールテンプレート一覧 呼び出しを使用して取得できます。
-
Request URL
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs/notifyAssigned
-
Response
空欄 (ステータス 204: コンテンツなし)
これは、翻訳者が Phrase UI を使用しているかのように、自身のプロファイルで仕事を開始する場所です。ジョブが完了すると、担当の PM に注意が届き、シナリオの次の部分が開始されます。コールバックは webhooks を介してインターセプトし、シナリオの次の部分を自動的に開始できますが、この例では扱いません。
ステップ 3: 訳文ファイル (完了) をダウンロードし、プロジェクトを完了に設定する
訳文ファイルをダウンロード
このシナリオは、翻訳者が割り当てを完了(ジョブを 完了 とマーク)することを前提としていますが、完了したファイルはいつでもダウンロードでき、ジョブが 完了 ステータスである必要はありません。
訳文ファイルをダウンロードするには、訳文ファイルをダウンロード (非同期) と 非同期リクエストに基づいて訳文ファイルをダウンロード という2つの API 呼び出しが必要です。
最初のステップは、projectUid および jobUid パラメータを指定して 訳文ファイルをダウンロード (非同期) を呼び出すことです。複数のワークフローステップがあるプロジェクトから完了したファイルをダウンロードする場合は、完了したファイルをダウンロードする特定のワークフローステップ(例:校正ワークフローステップ)の jobUid を必ず使用してください。
-
Phrase アプリケーションから特定のワークフローステップの jobUID を取得するには、以下の手順に従ってください:
-
プロジェクトを開きます。
-
ジョブ一覧で、完了したファイルをダウンロードするワークフローステップに切り替えます。
-
ブラウザの /job 以降の URL の一意の部分をコピーします。
-
-
以下の ジョブ一覧 API 呼び出しを使用します。
このエンドポイントは、指定されたプロジェクト内のジョブの一覧を返します。
workflowLevelクエリパラメータを使用して呼び出します。このパラメータは0以外の値から始まるパラメータで、返されるジョブが属するワークフローステップを示します。指定しない場合、デフォルトで値は1(= 最初のワークフローステップ)に設定されます。例えば、改訂ステップからジョブを取得する必要がある場合は、クエリパラメータにそのステップの番号、つまり2を指定します。
訳文ファイルのダウンロード(非同期)呼び出しは、翻訳を含む訳文ファイルを生成してダウンロードするための非同期リクエストを開始します。これはレスポンス内で直接訳文ファイルを提供するのではなく、次の呼び出しに必要な asyncRequestId を提供します。
-
Method
PUT
-
Request URL
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/targetFile
-
Response
非同期リクエストID
非同期リクエストの取得 を使用し、レスポンスから asyncRequestID を使用してリクエストが完了したことを確認します。非同期リクエストが完了したら、非同期リクエストに基づく訳文ファイルのダウンロード 呼び出しを使用して訳文ファイルをダウンロードできます。asyncRequestId は一度しか使用できません。ダウンロードが開始されると、asyncRequestId はそれ以降の使用に対して無効になります。
-
Method
GET
-
Request URL
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/downloadTargetFile/1291716982
-
Response
完了したファイルそのものを含むバイナリレスポンス
プロジェクトを完了に設定
プロジェクト内のジョブが完了したらプロジェクトを確定させるには、必須パラメータ projectUid および status を指定して プロジェクトステータスの編集 呼び出しを使用し、プロジェクト全体のステータスを 完了 に変更します。この変更は手動で行うものですが、プロジェクトステータスの自動化 を使用している場合は、ステータスが自動的に変更されます。ウェブフック を待機し、受信したコールバックに基づいて他のアクションを開始することも可能です。
-
Method
POST
-
Request URL
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/setStatus
-
リクエスト本文
{ "status": "COMPLETED"} -
Response
空欄 (ステータス 204: コンテンツなし)