Phrase TMS API

API Technology (TMS)

컨텐츠는 영어 텍스트를 Phrase Language AI를 이용해 기계 번역한 것입니다.

우리 API는 애플리케이션 엔티티(프로젝트, 작업, 설정)를 검색, 생성, 수정 및 삭제할 수 있는 리소스로 봅니다. 

모든 HTTP 메서드는 작업을 나타냅니다:

  • GET

    리소스를 검색하며, 리소스를 변경하지 않습니다.

  • POST

    리소스를 생성합니다. POST는 네 가지 작업에 맞지 않거나 긴 또는 복잡한 입력이 필요한 작업(예: 번역 메모리 검색 또는 작업 생성)에도 사용됩니다.

  • PUT

    리소스를 업데이트합니다. 전체 엔티티가 모든 필드와 함께 필요하며, 변경된 필드만 포함되지 않습니다; 포함하지 않으면 null로 설정해야 합니다.

  • DELETE

    리소스를 삭제합니다.

중요 사항

입력 및 출력 데이터는 일반적으로 JSON 형식이며, UTF-8로 인코딩됩니다. 파일을 요청 본문 콘텐츠 유형으로 사용할 때 application/octet-stream 또는 multipart/form-data가 사용됩니다.

엔티티는 가능한 경우 평면 구조를 사용하여 좋은 응답 시간을 유지합니다. 전체 하위 객체를 답변에 포함하는 대신, ID, UID 및 몇 가지 다른 속성을 포함하는 참조가 포함됩니다. 관련 엔티티를 참조하기 위해 IDReference 또는 UidReferenc 객체가 예상됩니다.

모든 응답 목록은 페이지로 나뉩니다. 요청된 데이터를 검색하기 위해 매개변수 pageNumberpageSize를 사용하십시오. 최대 페이지 크기는 50입니다.

문서

API 문서화에 OpenAPI 3.0이 사용됩니다. Swagger 코드 생성기는 클라이언트 개발에 권장됩니다.

API 예제

모든 번역 메모리 목록 가져오기

GET

/web/api2/v1/transMemories

응답

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "1월",
                "lastName": "자노코",
                "role": "관리자",
                "email": "jan.janocko@phrase.com"
            },
            "클라이언트": 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": "내 새로운 TM",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
"노트": "TM에서 사용할 필요 없음"
}

응답

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "1월",
        "role": "관리자",
        "email": "jan.j@phrase.com"
    },
    "클라이언트": 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(
'token' => '여기에 토큰을 입력하세요'
));

$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": "유형이 \"string\"인 필수 인수 \"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.