Phrase TMS API

API Technology (TMS)

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

我们的API将应用实体(项目、作业、设置)视为可以检索、创建、修改和删除的资源。 

每个HTTP方法代表一个动作:

  • GET

    检索资源,永远不改变资源

  • POST

    创建资源。POST也用于不适合四种操作或具有长或复杂输入的操作——例如搜索翻译记忆或创建作业。

  • PUT

    更新资源。请注意,整个实体及其所有字段都是必需的,而不仅仅是那些更改的字段;不包括它意味着应该设置为null。

  • DELETE

    删除资源。

重要

输入和输出数据通常采用JSON格式,UTF-8编码。对于请求体内容类型,使用application/octet-streammultipart/form-data

实体在可能的情况下使用扁平结构以保持良好的响应时间。在回答中,不是包含整个子对象,而是包含包含ID、UID和其他几个属性的引用。期望使用IDReferenceUidReferenc对象来引用相关实体。

所有响应列表都是分页的。使用参数pageNumberpageSize来检索请求的数据。最大页面大小为50。

文档

OpenAPI 3.0用于API文档。Swagger代码生成器推荐用于客户端开发。

API示例

获取所有翻译记忆库的列表

GET

/web/api2/v1/transMemories

响应

200

{
    "pageNumber":0,
    "content": [
        {
            "internalId":1,
            "createdBy": {
                "userName": "admin",
                "id":"3",
                "firstName":"一月",
                "lastName":"Janocko",
                "role":"ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "client": null,
            "备注": "在TM中不必要使用",
            "dateCreated":"2018-01-09T14:07:46+0000",
            "id":"1",
            "targetLangs": [
                "es",
                "it"
            ],
            "subDomain": null,
            "businessUnit": {
                "id":"1",
                "name":"第一个BU"
            },
            "sourceLang": "en",
            "domain": null,
            "name":"我的新TM"
        }
    ],
    "numberOfElements":1,
    "totalElements":1,
    "pageSize":50,
    "totalPages":1
}

创建新的翻译记忆库

POST

/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":"一月",
        "role":"ADMIN",
        "email": "jan.j@phrase.com"
    },
    "client": null,
    "备注": "在TM中不必要使用",
    "dateCreated":"2018-01-09T14:07:46+0000",
    "id":"1",
    "targetLangs": [
        "es",
        "it"
    ],
    "subDomain": null,
    "businessUnit": {
        "id":"1",
        "name":"第一个BU"
    },
    "sourceLang": "en",
    "domain": null,
    "name":"我的新TM"
}

创建工作时添加文件

将此文件作为二进制附件添加到请求的主体中。确保Phrase和Content-Disposition头正确插入。

来自Postman的示例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\\"}}'
));

try {
$response = $request->send();

echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}

错误处理

如果在处理API请求时出现问题,将返回以下JSON结构。错误代码将始终存在;详细描述可能为null。

{ "errorCode":"InvalidArguments",
"errorDescription":"缺少类型为\"字符串\"的必需参数\"password\"。"
}

可以通过读取HTTP状态响应代码来检测错误响应。如果发生错误,它将永远不会设置为2xx。状态代码为400错误请求,401或403表示身份验证或授权问题。

报告问题

在向技术支持报告问题时,请在报告中包含以下内容:

  • API 端点

  • 请求

  • 时间(和时区)

  • 响应

  • 响应的短语-操作-ID

这篇文章有帮助吗?

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.