Phrase TMS API

APIの使用 (TMS)

本コンテンツはPhrase Language AIの機械翻訳により、英語から翻訳されています。

これは、単純なAPIシナリオであり、サンプルAPI呼び出しと、それらを連結してAPIのみを使用して単純なアクションを完了する方法に関する手順が含まれています。API経由で設定できるオプションは広範囲にわたります。利用可能なすべてのオプションの詳細については、REST APIドキュメントの各セクションを参照してください。

Postman<1> APIプラットフォームを使用してシナリオを作成しました。

これらの例では、標準のリクエストURLはhttps://cloud.memsource.comで始まります。米国のデータセンターにある組織がAPIを使用する場合、リクエストURLはhttps://us.cloud.memsource.comで始まる必要があります。

シナリオ

  1. 認証 

    ユーザーが認証されます (ログインのAPI相当)。

  2. 作成 

    単純なプロジェクトの作成、ジョブのアップロード、およびメール注意を伴うリンギストの割り当て。

  3. 翻訳 

    APIシナリオ外(いずれかのエディター内)で実行される翻訳の仕事。

  4. API機能 

    割り当てが完了すると(リンギストによって完了とマークされる)、プロジェクトのステータスが完了に設定され、完了したドキュメントがプロジェクトからダウンロードされます。

手法

個々のREST API呼び出しには、適切なメソッドがリストされています。誤ったメソッドを使用すると(例:プロジェクト作成呼び出しでPOSTの代わりにGETを使用)、API呼び出しは失敗します。

ステップ 1: 認証

認証方法には2種類あります。

  1. 認証 API呼び出し:

    24時間有効な認証トークンを生成します。トークンは、以降のすべてのAPIに挿入する必要があります。トークンはユーザーを検証し、プロファイル内の他のあらゆる機能を実行できるようにします。

  2. OAuth 2.0

    アプリケーションの検証を可能にします。検証済みのアプリケーションは継続的に通信を行い、それ以上の認証は必要ありません。

このシナリオでは、認証 API呼び出しが使用されます。生成されたトークンは、以降のすべてのAPI呼び出しに必要であり、例のパラメーターには記載されていません。

必要なパラメーターを使用して認証を行うには、Login APIを使用してください。この場合、usernamepasswordが必要です。

  • Method 

    POST

  • Request URL 

    https://cloud.memsource.com/web/api2/v3/auth/login

  • Request body: 

    { "userName":"username", "password":"password"}
  • Response 

    認証トークン

複数のTMS組織のメンバーは、複数のアカウントに対して同じユーザー名とパスワードを使用します。この場合、ユーザーがログインする組織を指定するために、リクエストボディにuserUidを追加する必要があります。指定がない場合、ユーザーは指定されたユーザー名とパスワードに関連付けられたデフォルトのアカウントにログインします。

ステップ 2: プロジェクト作成、インポート、および割り当て

プロジェクト作成

プロジェクト API呼び出しを使用して、必須パラメータである namesourceLang、および targetLangs を指定してプロジェクトを作成します。

  • 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 

  • (ヘッダー) Content-Disposition 

    filename*=UTF-8''file.txt 

  • (ヘッダー) Memsource 

    {"targetLangs":["de","fr"]} 

  • (ヘッダー) Content-Type 

    application/octet-stream

  • Response 

    ジョブUID (例: dOYgeXzAdAbj4xFjuEVZP2)

    AsyncRequest UID

ジョブが正常に作成され、機能していることを確認するには、ジョブ作成の呼び出しから取得したAsyncRequest UIDを使用して非同期リクエストを取得します。

返されるジョブUIDは、プロジェクトの各ワークフローステップで一意です。したがって、ワークフローを含むプロジェクトでジョブが作成された場合、レスポンスは各ワークフローステップに対して一意のジョブUIDを返します。 

再利用可能なインポート設定は、インポート設定を作成の呼び出しで構成できます。ジョブ作成の呼び出しで使用できるインポート設定UIDがレスポンスで受信されます。

ジョブにプロバイダを割り当てるには(ジョブ作成の呼び出しで直接割り当てない場合)、ジョブを編集の呼び出しを使用します。

呼び出しに挿入されるプロバイダのIDは、次の2つの方法で取得できます。

  • PhraseアプリケーションからIDを取得するには、以下の手順に従ってください。 

    1. 設定Setup_gear.pngページから、管理セクションまでスクロールダウンし、ユーザーをクリックするか、サイドバーのユーザーをクリックします。

      ユーザーページが開きます。

    2. ユーザーのをクリックし、ブラウザのURLの最後の部分をコピーします。

    3. この部分をそのユーザーの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を取得するには、以下の手順に従ってください。 

    1. プロジェクトを開きます。

    2. ジョブ一覧で、完了したファイルをダウンロードしたいワークフローステップに切り替えます。

    3. ブラウザのURLの /job 以降の固有部分をコピーします。

  • 以下の ジョブ一覧 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 

    取得

  • Request URL 

    https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/downloadTargetFile/1291716982 

  • Response 

    完了した訳文ファイルそのものを含むバイナリレスポンス

プロジェクトを完了に設定

プロジェクト内のジョブが完了した後にプロジェクトを確定するには、編集プロジェクトステータス呼び出しを使用し、必須パラメータであるprojectUidステータスを指定して、プロジェクト全体のステータスを完了に変更します。この変更は手動で行うものですが、プロジェクトステータス自動化を使用している場合は、ステータスが自動的に変更されます。ウェブフックを待機し、受信したコールバックに基づいて他のアクションを開始することも可能です。

  • Method 

    POST

  • Request URL 

    https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/setStatus 

  • リクエストボディ 

    { "status": "COMPLETED"}
  • Response 

    空欄 (ステータス 204: コンテンツなし)

この記事は役に立ちましたか?

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.