这是一个简单的 API 场景,其中包含示例 API 调用和如何将它们联系在一起以仅使用 API 完成一个简单的操作的说明。通过 API 可以设置的选项很多。有关所有可用选项的更多信息,请参阅 REST API 文档的相应部分。
邮递员 API 平台用于创建场景。
在这些示例中,标准请求 URL 以 https://cloud.memsource.com
开头。如果 API 被美国数据中心的公司使用,请求 URL 应以 https://us.cloud.memsource.com
开头。
场景
-
身份验证""%1""
用户已通过身份验证(相当于登录的 API)。
-
创建“”
创建简单项目、上传工作和通过电子邮件通知分配译员。
-
翻译
在 API 场景外(在任何编辑器中)执行的翻译工作。
-
API 函数
任务完成后(标记为译员已完成),项目的状态设置为已完成,并从项目中下载已完成的文档。
方法
每个单独的 REST API 调用都列出了相应的方法。使用不正确的方法(例如,在项目创建调用中使用 GET 而不是 POST)会导致 API 调用失败。
步骤1:身份验证
身份验证方法有两种:
-
生成 24 小时内有效的身份验证令牌。令牌需要插入以下所有 API。令牌验证用户,并允许他们在个人资料文件中执行任何其他功能。
-
允许验证应用程序。经过验证的应用程序与 持续通信,无需进一步身份验证。
在这种情况下,使用了身份验证 API 调用。生成的令牌是所有后续 API 调用所必需的,未在示例参数中列出。
使用登录 API 进行具有所需参数的身份验证。在这种情况下,需要用户名和密码。
-
方法
POST
-
请求 URL
https://cloud.memsource.com/web/api2/v3/auth/login
-
请求正文:
{ "userName":"username", "password":"password"}
-
响应
身份验证令牌。
多个 TMS 组织的成员为多个帐户具有相同的用户名和密码。在这种情况下,必须在请求正文中添加 userUid
,以指定该用户要登录的公司。如果未指定,用户登录到与给定用户名和密码关联的默认账户。
步骤 2:项目创建、导入和分配
项目创建
使用 Projects API 调用创建具有强制参数 name、sourceLang 和 targetLangs 的项目。
-
方法
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,请按照以下步骤操作:
-
使用列表用户 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:下载译文文件(异步)并根据异步请求调用下载译文文件。
第一步是调用 projectUid 和 jobUid 参数下载译文文件(异步)。如果您从具有多个工作流步骤的项目下载完成的文件,请确保使用要从中下载完成文件的特定工作流步骤的jobUid,例如修订工作流步骤。
-
要从 phrase 应用程序中检索特定工作流步骤的工作 UID,请按照以下步骤操作:
-
打开项目。
-
在工作表中,切换到要从中下载已完成文件的工作流步骤。
-
从浏览器复制 /工作后 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:无内容)