Phrase TMS API

网络钩子 (TMS)

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

包含在

  • Team、Professional、Business 和 Enterprise 套餐中

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

网络钩子是处理 HTTP POST 请求的任意 URL,允许就指定事件通知第三方系统。

phrase 监控 webhook 回调是否成功接收。如果 webhook 接收失败 3000 次,它将被停用,并向账户管理员发送通知,并在 Webhook 页面上的特定 webhook 上注明失败。重试机制最多 10 次重试,每次重试的间隔最多 30 分钟。

通过将鼠标悬停在单个网络钩子并单击ellipses.png访问菜单,可以禁用/启用、测试或从网络钩子页面中删除网络钩子。历史功能提供过去 14 天呼叫的概览,失败的网络钩子可以重播。

重要

按 IP 地址白名单 webhook 连接已弃用,已被 webhook 安全令牌取代。

可以为以下事件选择网络钩子:

  • Job status changed

  • 工作已创建

  • Job assigned

  • 工作截止日期已更改

  • 工作原文已更新

  • 工作译文更新d(参考工作译文更新操作)

  • 连续工作已更新

  • 项目已创建

  • 项目状态已更改

  • 项目截止日期已更改

  • 项目模板已创建

  • 项目模板已更改

  • 项目模板已删除

  • Shared project assigned

  • 项目元数据已更新

  • 预翻译完成

  • 分析报告已创建

  • 工作已删除

  • 项目已删除

  • 已导出的工作

  • 未导出的工作

  • Language AI 导入已完成

  • Language AI 翻译已完成

配置网络钩子

要配置网络钩子,请遵循以下步骤:

  1. 从设置Setup_gear.png页面,下拉到集成部分,然后单击网络钩子

    网络钩子页面打开。

  2. 单击添加 webhook

    创建页面打开。

  3. 提供 URL。

  4. 如果需要,提供安全令牌。

    指定要包含在 x-Memsource-令牌标头或 Authorization 标头中的一个值,该值允许用户选择自己的首选方法来验证 webhook 发件人。

  5. 选择事件。

  6. 单击预览方案,在运行时查看 webhook 响应。

  7. 单击创建 webhook

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

webhook 使用示例

一个名为 RequestBin 的网站将在创建 webhook 时提供一个 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":"欧洲/伦敦",
          "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":"欧洲/伦敦",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated":"2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event":"工作_分配"
}

工作已创建

{
 "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":"欧洲/伦敦",
           "active": true,
           "deleted": false,
           "terminologist": false,
           "dateCreated":"2016-10-11T07:43:22Z"
         }
       }
     ]
   }
 ],
 "event":"工作_创建"
}

工作截止日期已更改

{
  "jobParts": [
    {
      "id":127865777,
      "uid":"ElTXvXnNIHEN2xgL5sU2L2",
      "internalId":"1",
      "task":"LvkAHilgobApeoVm_dc4",
      "fileName":"欧盟白皮书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、网络钩子和用户界面时,状态的名称可能略有不同。

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.