Phrase TMS API

Using APIs (TMS)

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

这是一个简单的 API 场景,其中包含示例 API 调用和如何将它们联系在一起以仅使用 API 完成一个简单的操作的说明。通过 API 可以设置的选项很多。有关所有可用选项的更多信息,请参阅 REST API 文档的相应部分。

邮递员 API 平台用于创建场景。

在这些示例中,标准请求 URL 以 https://cloud.memsource.com 开头。如果 API 被美国数据中心的公司使用,请求 URL 应以 https://us.cloud.memsource.com 开头。

场景

  1. 身份验证""%1"" 

    用户已通过身份验证(相当于登录的 API)。

  2. 创建“” 

    创建简单项目、上传工作和通过电子邮件通知分配译员。

  3. 翻译 

    在 API 场景外(在任何编辑器中)执行的翻译工作。

  4. API 函数 

    任务完成后(标记为译员已完成),项目的状态设置为已完成,并从项目中下载已完成的文档。

方法

每个单独的 REST API 调用都列出了相应的方法。使用不正确的方法(例如,在项目创建调用中使用 GET 而不是 POST)会导致 API 调用失败。

步骤1:身份验证

身份验证方法有两种:

  1. 身份验证 API 调用

    生成 24 小时内有效的身份验证令牌。令牌需要插入以下所有 API。令牌验证用户,并允许他们在个人资料文件中执行任何其他功能。

  2. outh 2.0:

    允许验证应用程序。经过验证的应用程序与 持续通信,无需进一步身份验证。

在这种情况下,使用了身份验证 API 调用。生成的令牌是所有后续 API 调用所必需的,未在示例参数中列出。

使用登录 API 进行具有所需参数的身份验证。在这种情况下,需要用户名密码

  • 方法 

    POST

  • 请求 URL 

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

  • 请求正文: 

    { "userName":"username", "password":"password"}
  • 响应 

    身份验证令牌。

多个 TMS 组织的成员为多个帐户具有相同的用户名和密码。在这种情况下,必须在请求正文中添加 userUid,以指定该用户要登录的公司。如果未指定,用户登录到与给定用户名和密码关联的默认账户。

步骤 2:项目创建、导入和分配

项目创建

使用 Projects API 调用创建具有强制参数 namesourceLangtargetLangs 的项目。

  • 方法 

    POST

  • 请求 URL 

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

  • 请求正文 

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

    项目 UID(例如 KmtNyVlz1skQd2aMVEipp7)

使用创建项目模板 API 调用与上次调用的项目 UID 可以创建项目模板。

  • 方法 

    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": [
        “字符串”
      ],
      "workflowSteps": [
        {
          "id": "string"
        }
      ],
      "dateDue":"2019-08-24T14:15:22Z",
      “注释”:“字符串”,
      “客户”: {
        "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"
    }
  • 响应 

    项目 UID(例如 BmtNyVlz1skQd2aMVEipp9)

工作创建

使用上次调用的项目 UID,可以使用创建工作直接将新工作添加到新创建的项目。

表达式 {projectUid 作为插入获得的项目 UID 的请求 URL 中的占位符。使用创建工作 API 调用时,必须更改请求的标题以匹配 phrase 所需的标题(在其他调用中,邮递员会自动为请求添加适当的标题)。

所有导入参数都需要插入到自定义 Memsource 标题中。

内容处理标题必须包含预定义格式的文件名,才能正确处理导入请求。

要导入原文/源语文件,请转到正文,选择“二进制文件”,“选择文件”选项出现。

  • 方法 

    POST

  • 请求 URL 

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

  • (标题)内容处置 

    filename*=UTF-8''file.txt 

  • (标题)Memsource 

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

  • (标题)内容类型 

    application/octet-stream

  • 响应 

    工作 UID(例如 dOYgeXzAdAbj4xFjuEVZP2)

    AsyncRequest UID

使用创建工作调用中的 AsyncRequest UID 获取异步请求,检查工作是否已成功创建且正常运行。

返回的工作 UID 在项目的每个工作流步骤都是唯一的。因此,如果在具有工作流流的项目中创建了工作,则响应为每个工作流步骤回一个唯一的工作 UID。 

可使用创建导入设置调用配置可重复使用的导入设置。回复中收到可用于创建工作调用的导入设置 UID。

要为工作分配提供者(除非在创建工作调用中直接分配),使用编辑工作调用。

可以通过两种方式获得在调用中插入的服务商的ID:

  • 要从 phrase 应用程序中检索 ID,请按照以下步骤操作: 

    1. 从设置Setup_gear.png页,向下滚动到“管理”部分,然后单击“用户”或侧边栏中的“用户”

      打开“用户”页面。

    2. 点击用户的姓氏,从浏览器复制网址的最后一部分。

    3. 使用此部分作为该用户的 ID。

  • 使用列表用户 API 调用。 

    此 API 调用不需要任何特定参数,它将返回账户中所有用户的列表。响应包含用户名和 ID。

    可以向查询添加一个可选参数,userName,允许您仅列出具有特定用户名的用户。

通知分配的用户

然后,工作 U ID 可以作为通知分配用户调用的可选参数,同时使用代表要使用的电子邮件模板 ID 的电子邮件模板参数。这可以通过使用列表电子邮件模板调用获得。

  • 请求 URL 

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

  • 响应 

    empty(状态204:无内容) 

译员将从此处开始在个人资料中工作,就像正在使用 phrase UI 一样。工作完成后,项目经理会收到通知,然后开始方案的下一个部分。可以通过网络钩子截取回调以自动开始方案的下一个部分,但在本示例中不会涉及这个问题。

步骤3:下载翻译(完成)文件,将项目设置为已完成

下载翻译文件

这种方案采用的假设是,译员完成了任务(将工作标记为已完成),但可以随时下载已完成的文件,工作不需要具有已完成状态。 

下载翻译文件需要调用两个 API:下载译文文件(异步)并根据异步请求调用下载译文文件。

第一步是调用 projectUidjobUid 参数下载译文文件(异步)。如果您从具有多个工作流步骤的项目下载完成的文件,请确保使用要从中下载完成文件的特定工作流步骤的jobUid,例如修订工作流步骤。

  • 要从 phrase 应用程序中检索特定工作流步骤的工作 UID,请按照以下步骤操作: 

    1. 打开项目。

    2. 在工作表中,切换到要从中下载已完成文件的工作流步骤。

    3. 从浏览器复制 /工作后 URL 的唯一部分。

  • 使用列表工作 API 调用。 

    此端点返回指定项项目的工作列表。将调用与 WorkflowLevel 查询参数一起使用。该参数是基于非零的参数,指示返回的工作所属的工作流步骤。如果未指定,其值默认设置为1(=第一个工作流步骤)。例如,如果您需要从修订步骤获得工作,在查询参数中指定该步骤的编号,即2

下载译文文件 (async) 调用会发起一个异步请求,以生成和下载包含译文的文件。它不直接在响应中提供译文文件,而是提供后续调用所需的异步RequestId。 

  • 方法 

    PUT

  • 请求 URL 

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

  • 响应 

    异步请求 ID

使用 从响应中带有 asyncRequestID异步请求来检查请求是否已完成。异步请求完成后,您可以使用基于异步请求调用的下载译文文件下载译文文件。asyncRequestId 只能使用一次。下载开始后,asyncRequestId 无效,无法继续使用。

  • 方法 

    GET

  • 请求 URL 

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

  • 响应 

    带有已完成文件本身的二进制响应

将项目设置为已完成

要在项目工作完成后完成项目,使用带有强制参数 projectUid状态编辑项目状态调用将整个项目的状态更改为已完成。此更改是手动更改,但如果使用项目状态自动化,状态将自动更改。还可以等待 webhook 并根据收到的回调发起其他操作。

  • 方法 

    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.