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 호출에 필요하며 예제 매개변수에는 나열되지 않습니다.

필수 매개변수를 사용하여 인증하려면 Login API를 사용하십시오. 이 경우 usernamepassword<4>가 필요합니다.

  • 방법 

    POST

  • 요청 URL 

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

  • 요청 본문: 

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

    인증 토큰.

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

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

프로젝트 생성

프로젝트 API 호출을 사용하여 name, sourceLangtargetLangs 필수 매개변수로 프로젝트를 생성하십시오.

  • 방법 

    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} 표현식은 획득한 프로젝트 템플릿 UID가 삽입되는 요청 URL의 자리 표시자 역할을 합니다. 

  • 방법 

    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} 표현식은 획득한 프로젝트 UID가 삽입되는 요청 URL의 자리 표시자 역할을 합니다. 작업 생성 API 호출 시, 요청의 헤더를 Phrase에서 요구하는 것과 일치하도록 변경해야 합니다(다른 호출에서는 Postman이 요청에 적절한 헤더를 자동으로 추가합니다).

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

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

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

  • 방법 

    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)

    AsyncRequest UID

작업이 성공적으로 생성되었고 기능이 작동하는지 확인하려면 생성 작업 호출의 AsyncRequest UID와 함께 비동기 요청 가져오기를 사용하십시오.

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

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

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

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

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

    1. 설정 Setup_gear.png페이지에서 관리 섹션으로 스크롤을 내린 후 사용자를 클릭하거나 사이드바에서 사용자를 클릭하십시오.

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

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

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

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

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

    선택적 매개변수인 userName을 문의에 추가하여 특정 사용자 이름이 있는 사용자만 목록으로 표시할 수 있습니다.

할당된 사용자에게 알림

작업 UID는 Notify assigned users 호출에서 선택적 매개변수로 사용할 수 있으며, 이때 사용할 이메일 템플릿의 ID를 나타내는 emailTemplate 매개변수와 함께 사용됩니다. 이는 List email templates 호출을 사용하여 얻을 수 있습니다.

  • 요청 URL 

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

  • 응답 

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

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

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

번역된 파일 다운로드

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

번역된 파일을 다운로드하려면 Download target file (async) Download target file based on async request 호출, 두 가지 API 호출이 필요합니다.

첫 번째 단계는 projectUidjobUid 매개변수와 함께 Download target file (async)을 호출하는 것입니다. 여러 워크플로 단계가 있는 프로젝트에서 완료된 파일을 다운로드하는 경우, 완료된 파일을 다운로드하려는 특정 워크플로 단계(예: 검토 워크플로 단계)의 jobUid를 사용해야 합니다.

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

    1. 프로젝트를 엽니다.

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

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

  • 다음을 사용하십시오: List jobs API 호출. 

    이 엔드포인트는 지정된 프로젝트 내의 작업 목록을 반환합니다. workflowLevel 문의 매개변수와 함께 호출을 사용하십시오. 이 매개변수는 0이 아닌 기반 매개변수로, 반환된 작업이 속한 워크플로 단계를 나타냅니다. 지정하지 않으면 기본값으로 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 

  • 응답 

    완료된 파일 자체가 포함된 바이너리 응답

프로젝트를 완료 상태로 설정

프로젝트 내 작업이 완료되면 프로젝트를 마무리하기 위해 편집 프로젝트 상태 호출을 필수 매개변수인 projectUid상태와 함께 사용하여 전체 프로젝트의 상태를 완료(으)로 변경하십시오. 이 변경은 수동으로 수행되지만 프로젝트 상태 자동화를 사용하면 상태가 자동으로 변경됩니다. 웹 후크를 기다렸다가 수신된 콜백을 기반으로 다른 작업을 시작할 수도 있습니다.

  • 방법 

    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.