Phrase TMS API

ウェブフック (TMS)

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

利用可能対象

  • チーム、プロフェッショナル、ビジネス、エンタープライズおよびソフトウェア UI/UX プラン

ライセンスに関する質問は、営業担当までお問い合わせください。

ウェブフックは、指定されたイベントについて3rdパーティシステムに通知するHTTP POSTリクエストを処理する任意のURLです。

フレーズは、ウェブフックコールバックが正常に受信されたかどうかを監視します。ウェブフックの受信が3000回失敗した場合、アカウントの管理者に通知が送信され、特定のウェブフックに失敗が記録されて無効化されます。ウェブフックページで。再試行メカニズムは最大10回の再試行を行い、再試行間の間隔は最大30分まで計算されます。

ウェブフックページから、個々のウェブフックを選択してツールバーを表示することで、ウェブフックを無効化/有効化、履歴を表示、テスト、または削除できます。履歴機能は、過去14日間の呼び出しの概要を提供し、失敗したウェブフックを再生できます。

重要

IPアドレスによるウェブフック接続のホワイトリスト化は廃止され、ウェブフックセキュリティトークンに置き換えられました。

ウェブフックは次のイベントに対して選択できます:

  • ジョブステータス変更

  • ジョブ作成

  • ジョブ割り当て

  • ジョブの納期が変更されました

  • ジョブのソースが更新されました

  • ジョブのターゲットが更新されました(ターゲットを更新アクションに関連しますジョブ

  • 継続ジョブが更新されました

  • プロジェクトが作成されました

  • プロジェクトのステータスが変更されました

  • プロジェクトの納期が変更されました

  • プロジェクトテンプレートが作成されました

  • プロジェクトテンプレートが変更されました

  • プロジェクトテンプレートが削除されました

  • 共有プロジェクトが割り当てられました

  • プロジェクトのメタデータが更新されました

  • 事前翻訳が完了しました

  • 解析が作成されました

  • ジョブが削除されました

  • プロジェクトが削除されました

  • ジョブがエクスポートされました

  • ジョブがエクスポート解除されました

  • Language AIのインポートが完了しました

  • Language AIの翻訳が完了しました

Webhookを設定する

Webhookを設定するには、次の手順に従ってください:

  1. 設定Setup_gear.pngページから、統合機能セクションまでスクロールし、Webhookをクリックします。

    Webhookページが開きます。

  2. ウェブフックを追加 または 新規 をクリックします。

    新しいウェブフックを作成 ページが開きます。

  3. 名前、URL、および必要に応じてセキュリティトークンを提供します。

    ユーザーがウェブフック送信者の認証方法を選択できるように、x-memsource-token ヘッダーまたは Authorization ヘッダーに含める値を指定します。

  4. イベントを選択します。

  5. スキーマのプレビュー をクリックして、実行時のウェブフック応答を表示します。

  6. ウェブフックを作成 をクリックします。

    ウェブフックは ウェブフック ページのリストに追加されます。

ウェブフックの使用例

RequestBin というウェブサイトが、ウェブフックを作成する際に使用するURLを提供します。

次回、アカウント内でジョブのステータスが変更されるか、ジョブが作成されると、URLはシステムから適切な応答を受け取ります。実際の使用はより複雑であり、応答の受信は接続されたアプリケーションが特定のアクションを実行するための信号と見なされるべきです。

イベント

ジョブのステータス変更、ジョブの割り当て、ジョブの作成、およびジョブの納期が変更されたときの例。

ジョブのステータスが変更されました

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NEW",
    "wordsCount": 2,
    "beginIndex": 0,
    "endIndex": 1,
    "isParentJobSplit": false,
    "dateDue": null,
    "dateCreated": "2016-11-02T17:06:54Z",
    "project": {
      "id": 2,
      "uid": "4RvyVbwX00KerkomA7kpT9",
      "lastWorkflowLevel": 1
    },
    "assignedTo": [
      {
        "vendor": {
          "id": 1,
          "name": "Abc",
          "vendorToken": "4-ifos0-CAqPo"
        }
      },
      {
        "linguist": {
          "id": 3,
          "firstName": "Admin",
          "lastName": "Admin",
          "userName": "admin",
          "email": "admin@example.com",
          "role": "ADMIN",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_STATUS_CHANGED"
}

ジョブが割り当てられました

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NEW",
    "wordsCount": 2,
    "beginIndex": 0,
    "endIndex": 1,
    "isParentJobSplit": false,
    "dateDue": null,
    "dateCreated": "2016-11-02T17:06:54Z",
    "project": {
      "id": 2
      "uid": "4RvyVbwX00KerkomA7kpT9",
      "lastWorkflowLevel": 1
    },
    "assignedTo": [
      {
        "vendor": {
          "id": 1,
          "name": "Abc",
          "vendorToken": "4-ifos0-CAqPo"
        }
      },
      {
        "linguist": {
          "id": 3,
          "firstName": "Admin",
          "lastName": "Admin",
          "userName": "admin",
          "email": "admin@example.com",
          "role": "ADMIN",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_ASSIGNED"
}

ジョブが作成されました

{
 "jobParts": [
   {
     "id": 9,
     "uid": "ipmdz5p0sagqcOYaijTZU2",
     "internalId": "4",
     "task": "SEfSaenvqFgctE1I0_dc1",
     "fileName": "en.txt",
     "targetLang": "af",
     "workflowLevel": 1,
     "status": "NEW",
     "wordsCount": 2,
     "beginIndex": 0,
     "endIndex": 1,
     "isParentJobSplit": false,
     "dateDue": null,
     "dateCreated": "2016-11-02T17:06:54Z",
     "project": {
       "id": 2,
       "uid": "4RvyVbwX00KerkomA7kpT9",
       "lastWorkflowLevel": 1
     },
     "assignedTo": [
       {
         "vendor": {
           "id": 1,
           "name": "Abc",
           "vendorToken": "4-ifos0-CAqPo"
         }
       },
       {
         "linguist": {
           "id": 3,
           "firstName": "Admin",
           "lastName": "Admin",
           "userName": "admin",
           "email": "admin@example.com",
           "role": "ADMIN",
           "timezone": "Europe/London",
           "active": true,
           "deleted": false,
           "terminologist": false,
           "dateCreated": "2016-10-11T07:43:22Z"
         }
       }
     ]
   }
 ],
 "event": "JOB_CREATED"
}

ジョブの納期が変更されました

{
  "jobParts": [
    {
      "id": 127865777,
      "uid": "ElTXvXnNIHEN2xgL5sU2L2",
      "internalId": "1",
      "task": "LvkAHilgobApeoVm_dc4",
      "fileName": "EU White Paper Edited.doc",
      "targetLang": "de",
      "workflowLevel": 1,
      "status": "NEW",
      "wordsCount": 204,
      "beginIndex": 0,
      "endIndex": 16,
      "isParentJobSplit": false,
      "dateDue": "2018-09-11T22:00:00Z",
      "dateCreated": "2018-09-10T06:25:41Z",
      "project": {
        "id": 12277756,
        "uid": "4RvyVbwX00KerkomA7kpT9
        "lastWorkflowLevel": 1
      },
      "assignedTo": []
    }
  ],
  "event": "JOB_DUE_DATE_CHANGED"
}

ステータス表

API、ウェブフック、UIを使用する際、ステータスの名称が若干異なる場合があります。

REST API

ウェブフック

UI

NEW

NEW

NEW

承諾済

割り当て済

承諾済(プロバイダーによる)

拒否済

DECLINED_BY_LINGUIST

拒否済(プロバイダーによる)

却下済

REJECTED_BY_LINGUIST

却下済(プロバイダーによる)

納品済

完了済

納品済

メール済み

メール済み

メール済み(プロバイダーによる)

完了済

COMPLETED_BY_LINGUIST

完了済(プロバイダーによる)

キャンセルされた

キャンセルされた

キャンセルされた

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

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.