ウェブフックは、HTTP POSTリクエストを処理する任意のURLであり、指定されたイベントについてサードパーティシステムに注意を通知できます。
Phraseは、ウェブフックのコールバックが正常に受信されたかどうかを監視します。ウェブフックの受信が3000回失敗すると、そのウェブフックは無効になり、アカウントの管理者に注意が送信されます。また、その失敗はページの特定のウェブフックに記録されます。再試行メカニズムには最大10回の再試行があり、再試行の間隔は最大30分まで計算されます。
ウェブフックは、ウェブフックページから個々のウェブフックを選択してツールバーを表示することで、無効化/有効化、履歴の表示、テスト、または削除ができます。機能は過去14日間の呼び出しの概要を提供し、失敗したウェブフックは再実行できます。
ウェブフックは、以下のイベントに対して選択できます:
-
Job status changed
-
ジョブが作成されました
-
Job assigned
-
ジョブの納期が変更されました
-
ジョブの原文が更新されました
-
ジョブ訳文が更新されました(ジョブのアクションを指します)
-
継続ジョブを更新しました
-
プロジェクトが作成されました
-
プロジェクトステータスが変更されました
-
プロジェクトの納期が変更されました
-
プロジェクトテンプレートが作成されました
-
プロジェクトテンプレートが変更されました
-
プロジェクトテンプレートが削除されました
-
Shared project assigned
-
プロジェクトのメタデータを更新しました
-
一括翻訳が完成しました
-
解析が作成されました
-
ジョブが削除されました
-
プロジェクトが削除されました
-
ジョブがエクスポートされました
-
ジョブはエクスポートされませんでした
-
Language AI翻訳が完了しました
ウェブフックを設定するには、以下の手順に従ってください:
-
設定
ページから、セクションまでスクロールし、ウェブフックをクリックします。
ページが開きます。
-
ウェブフックを追加または新規作成をクリックします。
ページが開きます。
-
名前、URL、および必要に応じてセキュリティトークンを入力してください。
X-Memsource-トークンヘッダーまたはAuthorizationヘッダーのいずれかに含める値を指定します。これにより、ユーザーはウェブフック送信者の認証に好みの方法を選択できます。 -
イベントを選択します。
-
プレビュー スキーマをクリックして、実行時のウェブフック応答を表示します。
-
ウェブフックを作成をクリックします。
ウェブフックは、ページの一覧に追加されます。
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を操作する場合、ステータスの名称がわずかに異なることがあります。