Интерфейс приложений API Phrase TMS

Технология интерфейс приложений API (TMS)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Наш интерфейс приложений API рассматривает сущности приложения (проекты, задания, настройки) как ресурсы, которые можно получить, создать, изменить и удалить. 

Каждый метод HTTP представляет собой действие:

  • ПОЛУЧИТЬ

    Получает ресурс, никогда не изменяя его

  • POST

    Создает ресурс. POST также используется для операций, которые не вписываются ни в одну из четырех операций или имеют длинный или сложный ввод — например, поиск в памяти переводов или создание заданий.

  • PUT

    Обновляет ресурс. Обратите внимание, что требуется вся сущность целиком со всеми ее полями, а не только измененные; если поле не включено, это означает, что для него должно быть установлено значение null.

  • УДАЛИТЬ

    Удалить ресурс.

Важно

Входные и результат данные обычно представлены в формате JSON, кодировка UTF-8. Для файла в качестве контент типа тела запроса используется application/octet-stream или multipart/form-data.

Сущности используют плоскую структуру, когда это возможно, для поддержания хорошего времени отклика. Вместо включения целых дочерний элемент объектов в ответы, содержатся ссылки, которые включают Идентификатор, UID и несколько других атрибутов. Ожидаются объекты IDReference или UidReference для ссылки на связанные сущности.

Все списки ответов разбиты на страницы. Использовать параметры pageNumber и pageSize для получения запрошенных данных. Максимальный размер страницы составляет 50.

Документация

OpenAPI 3.0 используется для Документация интерфейс приложений API. Генераторы кода Swagger рекомендуются для разработки клиент интерфейс приложений API.

Примеры интерфейс приложений API

Получить список всех память переводов (TM)

ПОЛУЧИТЬ

/web/api2/v1/transMemories

Ответ

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "role": "ADMIN",
                "электронная почта": "jan.janocko@phrase.com"
            },
            "клиент": null,
            "note": "не обязательно использовать в память переводов (TM)",
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "it"
            ],
            "subDomain": null,
            "businessUnit": {
                "id": "1",
                "name": "First BU"
            },
            "sourceLang": "en",
            "domain": null,
            "name": "My new TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Создать новую память переводов (TM)

POST

/web/api2/v1/transMemories

{{
"name": "Моя новая память переводов (TM)",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"Идентификатор": "1"
},
"note": "не обязательно использовать в память переводов (TM)"
}

Ответ

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": "ADMIN",
        "электронная почта": "jan.j@phrase.com"
    },
    "клиент": null,
    "note": "не обязательно использовать в память переводов (TM)",
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "it"
    ],
    "subDomain": null,
    "businessUnit": {
        "id": "1",
        "name": "First BU"
    },
    "sourceLang": "en",
    "domain": null,
    "name": "My new TM"
}

Добавление файлов при создании задания

Добавьте этот файл в тело запроса в качестве бинарного вложения. Убедитесь, что Phrase и заголовки Content-Disposition вставлены правильно.

Пример PHP из Postman:

<?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-токен' => '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

  • Запрос

  • Время (и часовой пояс)

  • Ответ

  • Phrase-Действие-Идентификатор ответа

Была ли эта статья полезной?

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.