Phrase TMS API

Using APIs (TMS)

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

これは単純な API シナリオです。サンプル API コールを使用し、API のみを使用して単純なアクションを完了するためにそれらを連鎖させる方法について説明します。APIで設定できるオプションは多岐にわたります。使用可能なすべてのオプションの詳細については、REST APIドキュメントのそれぞれのセクションを参照してください。

シナリオの作成には Postman 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 と必要なパラメータを使用します。この場合、ユーザー名パスワードが必要です。

  • メソッド 

    POST

  • リクエストURL 

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

  • リクエスト本文: 

    { "userName":"username", "password":"password"}
  • 返答 

    認証トークン

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

ステップ2:プロジェクト作成、インポート、アサイン

プロジェクト作成

プロジェクト API コールを使用して、必須パラメータの namesourceLang 、および targetLangs でプロジェクトを作成します。

  • メソッド 

    POST

  • リクエストURL 

    https://cloud.memsource.com/web/api2/v3/projects

  • リクエスト本文 

    { "name":"My project", "sourceLang":"en", "targetLangs":[ "de","fr" ]}
  • 返答 

    Project UID (e.g. KmtNyVlz1skQd2aMVEipp7)

プロジェクトテンプレートは、最後の呼び出しのプロジェクト UID でプロジェクトテンプレート作成 API 呼び出しを使用して作成できます。

  • メソッド 

    POST

  • リクエストURL 

    https://cloud.memsource.com/web/api2/v1/projectTemplates

  • リクエスト本文 

    {
      "project": {
        "uid": "string"
      },
      "name": "string",
      "importSettings": {
        "uid": "string"
      },
      "useDynamicTitle": true,
      "dynamicTitle": "string"
    }
  • 返答 

    プロジェクトテンプレート UID (例:AmtNyVlz1skQd2aMVEipp8)

プロジェクトを作成する最も効率的な方法は、プロジェクトテンプレートを使用することです。最後の呼び出しのプロジェクトテンプレート UID でテンプレートからプロジェクト作成を使用し、プロジェクトテンプレートの設定に基づいて新規プロジェクトを作成します。

{templateUid} は、取得したプロジェクトテンプレート UID が挿入される要求 URL のプレースホルダーとして機能します。 

  • メソッド 

    POST

  • リクエスト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"
    }
  • 返答 

    Project UID (e.g. BmtNyVlz1skQd2aMVEipp9)

ジョブ作成

最後の呼び出しのプロジェクト UID を使用すると、ジョブ作成を使用して、新しく作成されたプロジェクトに新しいジョブを直接追加できます。

{projectUid} は、取得したプロジェクト UID が挿入される要求 URL のプレースホルダーとして機能します。ジョブ作成 API コールでは、要求のヘッダーを phrase で必要なヘッダーと一致するように変更する必要があります(他のコールでは、Postman が自動的に適切なヘッダーを要求に追加します)。

すべてのインポート パラメータをカスタム Memsource ヘッダーに挿入する必要があります。

インポート オーダーを正しく処理するために、コンテンツ破棄ヘッダーに事前定義されたファイル形式のファイル名が含まれている必要があります。

原文ファイルをインポートするには、本文に移動し、 binary を選択 し、 ファイル選択 オプションが表示されます。

  • メソッド 

    POST

  • リクエストURL 

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

  • (ヘッダー)コンテンツ-破棄 

    filename*=UTF-8''file.txt 

  • (ヘッダー) Memsource 

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

  • (ヘッダー)コンテンツタイプ 

    application/octet-stream

  • 返答 

    Job UID (e.g. dOYgeXzAdAbj4xFjuEVZP2)

    AsyncRequest UID

ジョブ作成コールの非同期リクエストUIDを使用して、ジョブが正常に作成され、機能していることを確認します。

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

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

ジョブにプロバイダを割り当てるには(ジョブ作成コールで直接割り当てられた場合を除く)、編集ジョブコールを使用します。

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

  • Phrase アプリケーションから ID を取得する手順は、次のとおりです。 

    1. 設定Setup_gear.pngから Administration セクションまでスクロールし、[Users]をクリックするか、サイドバーの[Users]をクリックします。

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

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

    3. この部分をそのユーザーの ID として使用します。

  • ユーザー一覧 API コールを使用 

    この API コールはパラメータを必要とせず、アカウント内のすべてのユーザーのリストが返されます。レスポンスにはユーザー名と ID の両方が含まれます。

    オプションのパラメータ userName をクリエに追加して、特定のユーザ名を持つユーザだけを一覧表示できます。

割り当て済ユーザーに通知する

ジョブ UID は、使用する電子メール テンプレートの ID を表すメールテンプレート パラメータとともに、割り当て済ユーザ通知コールのオプション パラメータとして使用できます。メールテンプレート一覧呼び出しを使用して取得できます。

  • リクエストURL 

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

  • 返答 

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

ここから翻訳者は、まるでPhrase UIを使用しているかのようにプロファイルで仕事を始めることができます。ジョブが終了すると、担当の PM に通知が届き、シナリオの次への部分を開始できます。コールバックはウェブフック経由で代行受信して、シナリオの次への部分を自動的に開始できますが、この例では扱いません。

ステップ3:翻訳済(完了)ファイルをダウンロード、プロジェクトを完了に設定

翻訳済みファイルのダウンロード

このシナリオは、翻訳者が割り当てを完了し(ジョブを「完了」と表記)、完了ファイルはいつでもダウンロードできるため、ジョブのステータスを「完了」にする必要はないという前提で機能します。 

翻訳されたファイルをダウンロードするには、2 つの API コールが必要です。訳文ダウンロード(async) および非同期リクエスト呼び出しに基づく訳文ダウンロード

最初のステップは、 projectUidjobUid パラメータを指定して訳文ダウンロード (非同期) を呼び出すことです。複数のワークフローステップがあるプロジェクトから完成ファイルをダウンロードする場合は、完成ファイルをダウンロードする特定のワークフローステップの jobUid (たとえば、リビジョンワークフローステップ) を必ず使用してください。

  • phrase アプリケーションから特定のワークフローステップのジョブ ID を取得する手順は、次のとおりです。 

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

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

    3. /ジョブの後のURLの一意の部分をブラウザからコピーします。

  • ジョブ一覧 API コールを使用 

    このエンドポイントは、指定されたプロジェクト内のジョブ一覧を返します。コールは、workflowLevel クエリ パラメータとともに使用します。このパラメータは、返されるジョブのワークフローステップを示すゼロ以外のパラメータです。指定しない場合、値はデフォルトで 1 (=最初のワークフローステップ) に設定されます。たとえば、リビジョン ステップからジョブを取得する必要がある場合は、クエリー パラメータでそのステップの番号(2)を指定します。

訳文ファイルのダウンロード(非同期)呼び出しは、翻訳を含む訳文ファイルの生成とダウンロードの非同期要求を開始します。応答内の訳文ファイルは直接提供されませんが、次の呼び出しに必要な asyncRequestId を提供します。 

  • メソッド 

    PUT

  • リクエストURL 

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

  • 返答 

    AsyncRequest ID

応答の asyncRequestID非同期リクエスト取得を使用して、リクエストが完了したことを確認します。非同期要求が完了したら、非同期要求呼び出しに基づく訳文ファイルのダウンロードを使用して訳文ファイルをダウンロードできます。asyncRequestId は 1 回だけ使用できます。ダウンロードが開始されると、asyncRequestId はその後使用できません。

  • メソッド 

    取得

  • リクエストURL 

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

  • 返答 

    バイナリ形式の完了ファイル

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

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

  • メソッド 

    POST

  • リクエストURL 

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

  • リクエスト本文 

    { "status":"COMPLETED"}
  • 返答 

    empty (ステータス 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.