Phrase TMS API

Webhooks (TMS)

文本由 Phrase Language AI 从英语机器翻译而得。

可用于

  • 团队、专业、商业、企业和软件 UI/UX 计划

关于许可问题,请联系销售团队

Webhook 是处理 HTTP POST 请求的任意 URL,允许通知第三方系统有关指定事件。

短语监控 webhook 回调是否成功接收。如果 webhook 接收失败 3000 次,则会被停用,并向账户的管理员发送通知,失败情况会在 Webhook 页面上的特定 webhook 上记录。重试机制最多可重试 10 次,重试之间的间隔计算最大值为 30 分钟。

可以通过选择单个 webhook 来禁用/启用 webhook、显示历史记录、测试或从 webhook 页面删除。历史 功能提供过去 14 天的调用概述,失败的 webhook 可以重放。

重要

通过 IP 地址白名单 Webhook 连接已被弃用,并已被 Webhook 安全令牌取代。

可以为以下事件选择 Webhook:

  • Job status changed

  • 工作已创建

  • Job assigned

  • 工作截止日期已更改

  • 工作原文已更新

  • 作业目标已更新(指的是 更新目标 操作在 作业 上)

  • 连续工作已更新

  • 项目已创建

  • 项目状态已更改

  • 项目截止日期已更改

  • 项目模板已创建

  • 项目模板已更改

  • 项目模板已删除

  • Shared project assigned

  • 项目元数据已更新

  • 预翻译完成

  • 分析报告已创建

  • 工作已删除

  • 项目已删除

  • 已导出的工作

  • 未导出的工作

  • 语言 AI 导入完成

  • Language AI 翻译已完成

配置 Webhook

要配置 Webhook,请按照以下步骤操作:

  1. 从设置 Setup_gear.png 页面,下拉到 集成 部分并单击 Webhook

    Webhook 页面打开。

  2. 单击 添加 webhook新建

    创建新 webhook 页面打开。

  3. 提供名称、URL 和安全令牌(如有需要)。

    指定一个值以包含在 x-memsource-token 头或 Authorization 头中,允许用户选择其首选的 webhook 发送者身份验证方法。

  4. 选择事件。

  5. 单击 预览架构 以查看运行时的 webhook 响应。

  6. 单击 创建 webhook

    webhook 被添加到 Webhooks 页面上的列表中。

webhook 使用示例

一个名为 RequestBin 的网站将提供一个 URL,用于创建 webhook 时使用。

下次在账户中更改工作状态或创建工作时,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白皮书编辑.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、Webhook和用户界面时,状态的名称可能会略有不同。

Rest API

Webhook

UI

NEW

NEW

新建

ACCEPTED

ASSIGNED

已接受(由服务商)

DECLINED

DECLINED_BY_LINGUIST

已拒绝(由服务商)

REJECTED

REJECTED_BY_LINGUIST

已拒绝(由服务商)

DELIVERED

COMPLETED

已交付

EMAILED

EMAILED

已发邮件(由服务商)

COMPLETED

COMPLETED_BY_LINGUIST

已完成(由服务商)

CANCELLED

CANCELLED

CANCELLED

这篇文章有帮助吗?

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.