我们的 API 将应用程序实体(项目、工作、设置)视为可以检索、创建、修改和删除的资源。
每个 HTTP 方法都代表一个操作:
-
获取
获取资源,永不更改资源
-
员额
创建一个资源。POST 也可用于不属于这四种操作或输入时间长或复杂的操作,例如搜索翻译记忆库或创建工作。
-
PUT
更新资源。请注意,要求 ⁇ 整个实体及其所有字段,而不仅仅是已更改的字段;不包括它意味着它应设置为 null。
-
删除
删除资源。
重要
输入和输出数据 ⁇ 通常为 ⁇ JSON ⁇ 格式,UTF-8编码。对于请求正文内容类型的文件使用应用程序/八位字节流或多部分/形式数据。
实体尽可能使用扁平结构,以保持良好的响应时间。答案中不包含整子对象,而是包含包含 ID、UID 和其他一些属性的参考。需要 IDReference 或 UidReference 对象来引用相关实体。
所有响应列表都会被分页。使用参数pageNumber和pageSize来检索请求的数据。页面大小上限为 50。
文档
OpenAPI 3.0 用于 API 文档。建议客户开发使用快速代码生成器。
原始文档文件:
API 示例
获取所有翻译记忆库的列表
获取
/web/api2/v1/transMemories
响应
200
{ "pageNumber":0, "content": [ { "internalId":1, "createdBy": { "userName": "admin", "id":"3", "firstName":"Jan", "lastName":"Janocko", "role":"ADMIN", "email": "jan.janocko@phrase.com" }, "client": null, “注意”:“不必在翻译记忆库中使用”,“ "dateCreated":"2018-01-09T14:07:46+0000", "id":"1", "targetLangs": [ "es", “它” ], "subDomain": null, "businessUnit": { "id":"1", "name":“第一个 BU” }, "sourceLang": "en", "domain": null, "name":“我的新 翻译记忆库” } ], "numberOfElements":1, "totalElements":1, "pageSize":50, "totalPages":1 }
创建新的翻译记忆库
员额
/web/api2/v1/transMemories
{{ "name":“我的新 翻译记忆库” , "sourceLang": "en", "targetLangs": [ "es", "it-IT" ], "businessUnit": { "id":"1" }, “注意”:“不必在翻译记忆库中使用” }
响应
201
{ "internalId":1, "createdBy": { "userName": "admin", "id":"3", "firstName":"J", "lastName":"Jan", "role":"ADMIN", "email": "jan.j@phrase.com" }, "client": null, “注意”:“不必在翻译记忆库中使用”,“ "dateCreated":"2018-01-09T14:07:46+0000", "id":"1", "targetLangs": [ "es", “它” ], "subDomain": null, "businessUnit": { "id":"1", "name":“第一个 BU” }, "sourceLang": "en", "domain": null, "name":“我的新 翻译记忆库” }
创建工作时添加文件
将此文件以二进制附件的形式添加到请求的正文中。确保正确插入 Phrase ⁇ 和 ⁇ 内容处置 ⁇ 标头。
邮差 PHP 示例:
<?php $request = new HttpRequest(); $request->setUrl('https://cloud.memsource.com/web/api2/v1/projects/%7BUID%20of%20your%20project%7D/jobs'); $request->setMethod(HTTP_METH_POST); $request->setQueryData(array( “令牌” => “您的令牌转到这里” )); $request->setHeaders(array( 'postman-token' => 'ABC', 'cache-control' => 'no-cache', 'content-disposition' => 'filename*=UTF-8''Sample.txt', 'memsource' => '{\\“targetLangs\\”:[\\“de\\”,“fr\\”,“es\\”],\\“callbackUrl\\”:\\“https://my-shiny-service.com/consumeCallback\\”,“importSettings\\”:{\\“uid\\”:\\“WF0T1SfSHxII09yKr0dZh9\\”}}” )); 尝试 { $response = $request->send(); echo $response->getBody(); } catch (HttpException $exp) { echo $exp; }
错误处理
如果处理API请求时出现问题,将返回以下JSON结构。将始终显示 ⁇ 错误代码 ⁇ ;详细说明可能为空。
{ "errorCode":"InvalidArguments", "errorDescription":"需要的类型为""字符串""的参数\""密码\""缺失。" }
可通过读取响应的HTTP状态 代码来检测错误响应。如果发生错误,它永远不会设置为2xx。状态代码是 400 错误请求,401 或 403 用于身份验证或授权问题。
报告问题
在向技术支持报告问题时,在报告中包括以下几项:
-
API 端点
-
请求
-
时间(和时区)
-
响应
-
响应的 Phrase-操作-ID