Phrase TMS API

API 사용하기 (TMS)

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

이것은 샘플 API 호출과 이를 연결하여 API만 사용하여 간단한 작업을 완료하는 방법에 대한 지침이 포함된 간단한 API 시나리오입니다. API를 통해 설정할 수 있는 옵션은 광범위합니다. 모든 사용 가능한 옵션에 대해 더 알아보려면 REST API 문서의 해당 섹션을 참조하십시오.

이 시나리오는 Postman API 플랫폼을 사용하여 생성되었습니다.

이 예제에서 표준 요청 URL은 https://cloud.memsource.com로 시작합니다. 미국 데이터 센터에서 조직이 API를 사용하는 경우 요청 URL은 https://us.cloud.memsource.com로 시작해야 합니다.

시나리오

  1. 인증  

    사용자가 인증됩니다 (API에서 로그인하는 것과 동등합니다).

  2. 생성  

    간단한 프로젝트 생성, 업로드된 작업 및 이메일 알림이 포함된 번역자 할당입니다.

  3. 번역 

    API 시나리오 외부에서 수행된 번역 작업 (모든 편집기에서).

  4. API 기능 

    할당이 완료되면 (번역자에 의해 완료로 표시됨), 프로젝트의 상태는 완료로 설정되고 완료된 문서는 프로젝트에서 다운로드됩니다.

방법론

각 개별 REST API 호출에는 적절한 메서드가 나열되어 있습니다. 잘못된 메서드 사용 (예: 프로젝트 생성 호출에서 POST 대신 GET 사용)은 API 호출이 실패하게 만듭니다.

1단계: 인증

인증 방법은 두 가지가 있습니다:

  1. 인증 API 호출:

    24시간 유효한 인증 토큰을 생성합니다. 토큰은 모든 후속 API에 삽입되어야 합니다. 토큰은 사용자를 검증하고 프로필 내에서 다른 모든 기능을 수행할 수 있도록 허용합니다.

  2. oAuth 2.0

    애플리케이션의 검증을 허용합니다. 검증된 애플리케이션은 지속적으로 통신하며 추가 인증이 필요하지 않습니다.

이 시나리오에서는 인증 API 호출이 사용됩니다. 생성된 토큰은 모든 후속 API 호출에 필요하며 예제 매개변수에 나열되지 않습니다.

인증을 위해 필요한 매개변수를 사용하여 로그인 API를 사용하십시오. 이 경우, 사용자 이름비밀번호가 필요합니다.

  • 메서드 

    POST

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v3/auth/login

  • 요청 본문: 

    { "userName":"username", "password":"password"}
  • 응답 

    인증 토큰입니다.

여러 TMS 조직의 구성원은 여러 계정에 대해 동일한 사용자 이름과 비밀번호를 가지고 있습니다. 이 경우, userUid는 사용자가 로그인하고자 하는 조직을 지정하기 위해 요청 본문에 추가되어야 합니다. 지정하지 않으면 사용자는 주어진 사용자 이름과 비밀번호와 연결된 기본 계정에 로그인됩니다.

단계 2: 프로젝트 생성, 가져오기 및 할당

프로젝트 생성

프로젝트 API 호출을 사용하여 필수 매개변수 이름, 소스 언어, 및 대상 언어로 프로젝트를 생성합니다.

  • 메서드 

    POST

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v3/projects

  • 요청 본문 

    { "name":"My project", "sourceLang":"en", "targetLangs":[ "de","fr" ]}
  • 응답 

    프로젝트 UID (예: KmtNyVlz1skQd2aMVEipp7)

마지막 호출에서 가져온 프로젝트 UID를 사용하여 프로젝트 템플릿 생성 API 호출로 프로젝트 템플릿을 생성할 수 있습니다.

  • 메서드 

    POST

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v1/projectTemplates

  • 요청 본문 

    {
      "project": {
        "uid": "string"
      },
      "name": "string",
      "importSettings": {
        "uid": "string"
      },
      "useDynamicTitle": true,
      "dynamicTitle": "string"
    }
  • 응답 

    프로젝트 템플릿 UID (예: AmtNyVlz1skQd2aMVEipp8)

프로젝트를 생성하는 가장 효율적인 방법은 프로젝트 템플릿을 사용하는 것입니다. 마지막 호출에서 가져온 프로젝트 템플릿 UID로 템플릿에서 프로젝트 생성을 사용하여 프로젝트 템플릿의 설정을 기반으로 새 프로젝트를 생성합니다.

표현식 {templateUid}는 요청 URL에서 얻은 프로젝트 템플릿 UID가 삽입되는 자리 표시자로 사용됩니다. 

  • 메서드 

    POST

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v2/projects/applyTemplate/oNQiljwTGHpd2l1nnQRiu4

  • 요청 본문 

    {
      "name": "string",
      "sourceLang": "string",
      "targetLangs": [
        "string"
      ],
      "workflowSteps": [
        {
          "id": "string"
        }
      ],
      "dateDue": "2019-08-24T14:15:22Z",
      "note": "string",
      "client": {
        "id": "string"
      },
      "businessUnit": {
        "id": "string"
      },
      "domain": {
        "id": "string"
      },
      "subDomain": {
        "id": "string"
      },
      "costCenter": {
        "id": "string"
      }
    }{
      "project": {
        "uid": "string"
      },
      "name": "string",
      "importSettings": {
        "uid": "string"
      },
      "useDynamicTitle": true,
      "dynamicTitle": "string"
    }
  • 응답 

    프로젝트 UID (예: BmtNyVlz1skQd2aMVEipp9)

작업 생성

마지막 호출에서 가져온 프로젝트 UID로 새 작업을 새로 생성된 프로젝트에 직접 추가할 수 있습니다 작업 생성.

표현식 {projectUid}는 요청 URL에서 얻은 프로젝트 UID가 삽입되는 자리 표시자로 사용됩니다. 작업 생성 API 호출을 사용하여 요청의 헤더를 Phrase에서 요구하는 것과 일치하도록 변경해야 합니다 (다른 호출에서는 Postman이 자동으로 요청에 적절한 헤더를 추가합니다).

모든 가져오기 매개변수는 사용자 지정 Memsource 헤더에 삽입해야 합니다.

Content-Disposition 헤더는 가져오기 요청을 올바르게 처리하기 위해 미리 정의된 형식으로 파일 이름을 포함해야 합니다.

소스 파일을 가져오려면 본문으로 이동하여 이진을 선택하면 파일 선택 옵션이 나타납니다.

  • 메서드 

    POST

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs 

  • (헤더) Content-Disposition 

    filename*=UTF-8''file.txt 

  • (헤더) Memsource 

    {"targetLangs":["de","fr"]} 

  • (헤더) Content-Type 

    application/octet-stream

  • 응답 

    Job UID (e.g. dOYgeXzAdAbj4xFjuEVZP2)

    비동기 요청 UID

비동기 요청 가져오기를 사용하여 작업 생성 호출에서 비동기 요청 UID를 사용하여 작업이 성공적으로 생성되었고 기능이 작동하는지 확인하십시오.

반환된 작업 UID는 프로젝트의 각 워크플로 단계에서 고유합니다. 따라서, 작업이 워크플로가 있는 프로젝트에서 생성되면, 응답은 각 워크플로 단계에 대해 고유한 작업 UID를 반환합니다. 

재사용 가능한 가져오기 설정은 가져오기 설정 생성 호출로 구성할 수 있습니다. 작업 생성 호출에서 사용할 수 있는 가져오기 설정 UID가 응답으로 수신됩니다.

작업에 공급자를 할당하려면(작업 생성 호출에서 직접 할당되지 않는 한) 작업 편집 호출을 사용하십시오.

호출에 삽입된 공급자의 ID는 두 가지 방법으로 얻을 수 있습니다:

  • 문구 애플리케이션에서 ID를 검색하려면 다음 단계를 따르십시오: 

    1. 설정 Setup_gear.png 페이지에서 아래로 스크롤하여 관리 섹션으로 이동하고 사용자를 클릭하거나 사이드바에서 사용자를 클릭하십시오.

      사용자 페이지가 열립니다.

    2. 사용자의 을 클릭하고 브라우저에서 URL의 마지막 부분을 복사하십시오.

    3. 이 부분을 해당 사용자의 ID로 사용하십시오.

  • 사용하십시오 사용자 목록 API 호출. 

    이 API 호출은 특정 매개변수를 요구하지 않으며, 계정의 모든 사용자 목록을 반환합니다. 응답에는 사용자 이름과 ID가 모두 포함됩니다.

    선택적 매개변수인 사용자 이름을 쿼리에 추가하여 특정 사용자 이름을 가진 사용자만 나열할 수 있습니다.

할당된 사용자에게 알림

작업 UID는 지정된 사용자에게 알림 호출에서 선택적 매개변수로 사용될 수 있으며, 사용될 이메일 템플릿의 ID를 나타내는 이메일 템플릿 매개변수와 함께 사용됩니다. 이는 이메일 템플릿 목록 호출을 사용하여 얻을 수 있습니다.

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs/notifyAssigned

  • 응답 

    비어 있음 (상태 204: 콘텐츠 없음) 

여기서 번역가는 Phrase UI를 사용하는 것처럼 자신의 프로필에서 작업을 시작할 수 있습니다. 작업이 완료되면 담당 PM이 알림을 받고 시나리오의 다음 부분이 시작됩니다. 콜백은 웹훅을 통해 가로챌 수 있어 시나리오의 다음 부분을 자동으로 시작할 수 있지만, 이 예제에서는 다루지 않습니다.

단계 3: 번역된 (완료) 파일 다운로드, 프로젝트를 완료로 설정

번역된 파일 다운로드

이 시나리오는 번역가가 자신의 과제를 완료(작업을 완료로 표시)한다고 가정하지만, 완료된 파일은 언제든지 다운로드할 수 있으며, 작업은 완료 상태일 필요는 없습니다.  

번역된 파일을 다운로드하려면 두 개의 API 호출이 필요합니다: 대상 파일 다운로드 (비동기)비동기 요청에 따라 대상 파일 다운로드 호출입니다.

첫 번째 단계는 대상 파일 다운로드 (비동기)프로젝트 UID작업 UID 매개변수와 함께 호출하는 것입니다. 여러 워크플로 단계가 있는 프로젝트에서 완료된 파일을 다운로드하는 경우, 다운로드하려는 완료된 파일의 특정 워크플로 단계에서 작업 UID를 사용해야 합니다. 예: 수정 워크플로 단계.

  • 특정 워크플로 단계에 대한 jobUID를 Phrase 애플리케이션에서 검색하려면 다음 단계를 따르세요: 

    1. 프로젝트를 엽니다.

    2. 작업 테이블에서 완료된 파일을 다운로드하려는 워크플로 단계로 전환합니다.

    3. 브라우저에서 /job 이후의 URL의 고유 부분을 복사합니다.

  • 다음 사용 작업 목록 API 호출. 

    이 엔드포인트는 지정된 프로젝트 내의 작업 목록을 반환합니다. 워크플로 수준 쿼리 매개변수를 사용하여 호출합니다. 이 매개변수는 반환된 작업이 속한 워크플로 단계를 나타내는 비영 기반 매개변수입니다. 지정하지 않으면 기본적으로 그 값은 1 (= 첫 번째 워크플로 단계)로 설정됩니다. 예를 들어, 수정 단계에서 작업을 가져오려면 해당 단계의 번호를 쿼리 매개변수에 지정해야 합니다. 즉, 2입니다.

다운로드 대상 파일(비동기) 호출은 번역이 포함된 대상 파일을 생성하고 다운로드하기 위한 비동기 요청을 시작합니다. 응답 내에서 직접적으로 대상 파일을 제공하지 않지만, 다음 호출에 필요한 asyncRequestId을 제공합니다. 

  • 메서드 

    PUT

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/targetFile 

  • 응답 

    비동기 요청 ID

응답에서 asyncRequestID와 함께 비동기 요청 가져오기를 사용하여 요청이 완료되었는지 확인합니다. 비동기 요청이 완료되면 비동기 요청에 기반한 대상 파일 다운로드 호출을 사용하여 대상 파일을 다운로드할 수 있습니다. asyncRequestId는 한 번만 사용할 수 있습니다. 다운로드가 시작되면 asyncRequestId는 더 이상 사용할 수 없습니다.

  • 메서드 

    GET

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/downloadTargetFile/1291716982 

  • 응답 

    완료된 파일 자체에 대한 이진 응답

프로젝트를 완료로 설정

프로젝트의 작업이 완료되면 프로젝트를 최종화하기 위해 프로젝트 상태 편집 호출을 사용하여 필수 매개변수 projectUidstatus를 사용하여 전체 프로젝트의 상태를 완료로 변경합니다. 이 변경은 수동으로 이루어지지만, 프로젝트 상태 자동화가 사용되면 상태가 자동으로 변경됩니다. 콜백 수신에 따라 다른 작업을 시작하기 위해 웹 후크를 기다리는 것도 가능합니다.

  • 메서드 

    POST

  • 요청 URL 

    https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/setStatus 

  • 요청 본문 

    { "status": "COMPLETED"}
  • 응답 

    비어 있음 (상태 204: 콘텐츠 없음)

도움이 되었습니까?

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.