Phrase TMS API

API 기술(TMS)

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

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

모든 HTTP 메소드는 액션을 나타냅니다.

  • GET

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

  • POST

    리소스를 만듭니다. POST는 네 가지 작업 중 어느 것에도 해당되지 않거나 번역 메모리 검색 또는 작업 생성과 같이 입력이 길거나 복잡한 작업에도 사용됩니다.

  • PUT

    리소스를 업데이트합니다. 전체 엔티티는 변경된 필드뿐만 아니라 모든 필드에 필요합니다. 포함하지 않으면 null로 설정해야 합니다.

  • DELETE

    리소스를 삭제합니다.

중요하다

입력 및 출력 데이터는 일반적으로 UTF-8로 인코딩된 JSON 형식입니다. 요청 본문 콘텐츠 형식으로서의 파일의 경우 애플리케이션/옥텟 스트림 또는 멀티파트/양식 데이터 사용됩니다.

엔터티는 양호한 응답 시간을 유지하기 위해 가능한 경우 플랫 구조를 사용합니다. 답변에 전체 자식 객체를 포함하는 대신 ID, UID 및 기타 몇 가지 속성을 포함하는 참조가 포함됩니다. 둘 중 하나 IDReference (ID참조) 또는 UidReferenc 님e 객체는 관련 엔터티를 참조해야 합니다.

모든 응답 목록이 페이징됩니다. 매개 변수 사용 페이지 번호 그리고 pageSize (페이지 크기) 요청된 데이터를 검색합니다. 최대 페이지 크기는 50입니다.

문서조사

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

원시 문서 파일:

API 예시

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

GET

/web/api2/v1/transMemories

응답

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "자노코",
                "role": "ADMIN",
                "email": "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": "첫 번째 BU"
            },
            "sourceLang": "en",
            "domain": null,
            "name": "나의 새로운 초월명상"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

새로운 번역 메모리 만들기

POST

/web/api2/v1/transMemories

{{
"name": "나의 새로운 TM",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
"note": "TM에서 사용할 필요 없음"
}

응답

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": "ADMIN",
        "email": "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": "첫 번째 BU"
    },
    "sourceLang": "en",
    "domain": null,
    "name": "나의 새로운 초월명상"
}

작업을 생성할 때 파일 추가

이 파일을 요청 본문에 이진 첨부 파일로 추가합니다. 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',
'캐시 제어'=> '캐시 없음',
'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 $ex) {
에코 $ex;
}

오류 처리

API 요청을 처리할 때 문제가 있는 경우 다음 JSON (영문) 구조체가 반환됩니다. 오류 코드는 항상 존재합니다. 자세한 설명은 null일 수 있습니다.

{ "errorCode": "InvalidArguments",
"errorDescription": "\"string\" 유형의 필수 인수 \"password\"가 없습니다."
}

HTTP 상태를 읽어 오류 응답을 감지할 수 있습니다 응답 코드. 오류가 발생하면 다음으로 설정되지 않습니다. 2xx. 상태 코드는 400 잘못된 요청, 인증 또는 권한 부여 문제의 경우 401 또는 403입니다.

문제 보고

문제를 보고할 때 기술 지원에는 보고서가 포함됩니다.

  • API 엔드포인트

  • 요청

  • 시간(및 시간대)

  • 응답

  • 응답의 Phrase-Action-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.