Phrase TMS API

Webhooks (TMS)

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

사용 가능:

  • 팀, 전문, 비즈니스, 기업 및 소프트웨어 UI/UX 계획

라이선스에 관한 질문은 영업팀에 문의하십시오.

웹 후크는 HTTP POST 요청을 처리하는 임의의 URL로, 특정 이벤트에 대해 3자 시스템에 알림을 보낼 수 있습니다.

구문은 웹 후크 콜백이 성공적으로 수신되었는지 모니터링합니다. 웹 후크 수신이 3000회 실패하면 비활성화되며, 계정의 관리자에게 알림이 전송되고 실패는 웹 후크 페이지의 특정 웹 후크에 기록됩니다. 재시도 메커니즘은 최대 10회의 재시도를 가지며, 재시도 간의 간격은 최대 30분까지 계산됩니다.

웹 후크는 비활성화/활성화할 수 있으며, 기록을 표시하고, 테스트하거나 웹 후크 페이지에서 개별 웹 후크를 선택하여 도구 모음을 표시하여 삭제할 수 있습니다. 기록 기능은 지난 14일 동안의 호출 개요를 제공하며 실패한 웹 후크는 재생할 수 있습니다.

중요

IP 주소에 의한 웹 후크 연결의 화이트리스트는 더 이상 사용되지 않으며 웹 후크 보안 토큰으로 대체되었습니다.

웹 후크는 다음 이벤트에 대해 선택할 수 있습니다:

  • Job status changed

  • 작업 생성됨

  • Job assigned

  • 작업 만기일 변경됨

  • 작업 소스 업데이트됨

  • 작업 대상 업데이트됨 (작업의 대상 업데이트 작업을 참조)

  • 연속 작업 업데이트됨

  • 프로젝트 생성됨

  • 프로젝트 상태 변경됨

  • 프로젝트 만기일 변경됨

  • 프로젝트 템플릿이 생성됨

  • 프로젝트 템플릿 변경됨

  • 프로젝트 템플릿이 삭제됨

  • Shared project assigned

  • 프로젝트 메타데이터 업데이트됨

  • 사전 번역 완료됨

  • 분석 생성됨

  • 작업 삭제됨

  • 프로젝트 삭제됨

  • 작업 내보냄

  • 작업 내보내지 않음

  • 언어 AI 가져오기 완료

  • 언어 AI 번역 완료

웹 후크 구성하기

웹 후크를 구성하려면 다음 단계를 따르십시오:

  1. 설정 Setup_gear.png 페이지에서 통합 섹션으로 스크롤하고 웹 후크를 클릭합니다.

    웹 후크 페이지가 열립니다.

  2. 웹 후크 추가 또는 새로 만들기를 클릭합니다.

    새 웹 후크 만들기 페이지가 열립니다.

  3. 이름, URL 및 필요한 경우 보안 토큰을 제공하십시오.

    x-memsource-token 헤더 또는 Authorization 헤더에 포함될 값을 지정하여 사용자가 웹 후크 발신자를 인증하는 선호하는 방법을 선택할 수 있도록 합니다.

  4. 이벤트 선택.

  5. 실행 시 웹 후크 응답을 보려면 미리 보기 스키마를 클릭하십시오.

  6. 웹 후크 생성을 클릭하십시오.

    웹 후크가 웹 후크 페이지의 목록에 추가됩니다.

웹 후크 사용 예시

RequestBin이라는 웹사이트가 웹 후크를 생성할 때 사용할 URL을 제공합니다.

작업 상태가 변경되거나 계정에 작업이 생성될 때마다 URL은 시스템으로부터 적절한 응답을 받습니다. 실제 사용은 더 복잡할 수 있으며 응답 수신은 연결된 애플리케이션이 특정 작업을 수행하도록 신호로 간주되어야 합니다.

이벤트

작업 상태 변경, 작업 할당, 작업 생성 및 작업의 마감일 변경 예시.

작업 상태가 변경되었습니다

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NEW",
    "wordsCount": 2,
    "beginIndex": 0,
    "endIndex": 1,
    "isParentJobSplit": false,
    "dateDue": null,
    "dateCreated": "2016-11-02T17:06:54Z",
    "project": {
      "id": 2,
      "uid": "4RvyVbwX00KerkomA7kpT9",
      "lastWorkflowLevel": 1
    },
    "assignedTo": [
      {
        "vendor": {
          "id": 1,
          "name": "Abc",
          "vendorToken": "4-ifos0-CAqPo"
        }
      },
      {
        "linguist": {
          "id": 3,
          "firstName": "Admin",
          "lastName": "Admin",
          "userName": "admin",
          "email": "admin@example.com",
          "role": "ADMIN",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_STATUS_CHANGED"
}

작업 할당됨

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NEW",
    "wordsCount": 2,
    "beginIndex": 0,
    "endIndex": 1,
    "isParentJobSplit": false,
    "dateDue": null,
    "dateCreated": "2016-11-02T17:06:54Z",
    "project": {
      "id": 2
      "uid": "4RvyVbwX00KerkomA7kpT9",
      "lastWorkflowLevel": 1
    },
    "assignedTo": [
      {
        "vendor": {
          "id": 1,
          "name": "Abc",
          "vendorToken": "4-ifos0-CAqPo"
        }
      },
      {
        "linguist": {
          "id": 3,
          "firstName": "Admin",
          "lastName": "Admin",
          "userName": "admin",
          "email": "admin@example.com",
          "role": "ADMIN",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_ASSIGNED"
}

작업 생성됨

{
 "jobParts": [
   {
     "id": 9,
     "uid": "ipmdz5p0sagqcOYaijTZU2",
     "internalId": "4",
     "task": "SEfSaenvqFgctE1I0_dc1",
     "fileName": "en.txt",
     "targetLang": "af",
     "workflowLevel": 1,
     "status": "NEW",
     "wordsCount": 2,
     "beginIndex": 0,
     "endIndex": 1,
     "isParentJobSplit": false,
     "dateDue": null,
     "dateCreated": "2016-11-02T17:06:54Z",
     "project": {
       "id": 2,
       "uid": "4RvyVbwX00KerkomA7kpT9",
       "lastWorkflowLevel": 1
     },
     "assignedTo": [
       {
         "vendor": {
           "id": 1,
           "name": "Abc",
           "vendorToken": "4-ifos0-CAqPo"
         }
       },
       {
         "linguist": {
           "id": 3,
           "firstName": "Admin",
           "lastName": "Admin",
           "userName": "admin",
           "email": "admin@example.com",
           "role": "ADMIN",
           "timezone": "Europe/London",
           "active": true,
           "deleted": false,
           "terminologist": false,
           "dateCreated": "2016-10-11T07:43:22Z"
         }
       }
     ]
   }
 ],
 "event": "JOB_CREATED"
}

작업 마감일 변경됨

{
  "jobParts": [
    {
      "id": 127865777,
      "uid": "ElTXvXnNIHEN2xgL5sU2L2",
      "internalId": "1",
      "task": "LvkAHilgobApeoVm_dc4",
      "fileName": "EU 백서 편집됨.doc",
      "targetLang": "de",
      "workflowLevel": 1,
      "status": "NEW",
      "wordsCount": 204,
      "beginIndex": 0,
      "endIndex": 16,
      "isParentJobSplit": false,
      "dateDue": "2018-09-11T22:00:00Z",
      "dateCreated": "2018-09-10T06:25:41Z",
      "project": {
        "id": 12277756,
        "uid": "4RvyVbwX00KerkomA7kpT9
        "lastWorkflowLevel": 1
      },
      "assignedTo": []
    }
  ],
  "event": "JOB_DUE_DATE_CHANGED"
}

상태 테이블

API, 웹후크 및 UI 작업 시 상태가 약간 다르게 명명될 수 있습니다.

REST API

Webhook

UI

신규

신규

신규

ACCEPTED

ASSIGNED

수락됨 (공급자에 의해)

거부됨

DECLINED_BY_LINGUIST

거부됨 (공급자에 의해)

거절됨

REJECTED_BY_LINGUIST

거절됨 (공급자에 의해)

전송됨

완료됨

전송됨

EMAILED

EMAILED

이메일 발송됨 (공급자에 의해)

완료됨

COMPLETED_BY_LINGUIST

완료됨 (공급자에 의해)

취소됨

취소됨

취소됨

도움이 되었습니까?

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.