Интерфейс приложений API Phrase TMS

Вебхуки (TMS)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Доступно для

  • Планы Team, Professional, Business, Enterprise и Software UI/UX

Свяжитесь с отделом продаж по вопросам лицензирования.

Вебхуки — это произвольные URL-адреса, которые обрабатывают HTTP POST-запросы, позволяя отправлять уведомление сторонним системам о заданных событиях.

Phrase отслеживает, был ли успешно получен обратный вызов вебхука. Если получение вебхука не удается 3000 раз, он деактивируется с отправкой уведомления администраторам учетной записи, а сбой фиксируется для конкретного вебхука на странице Вебхуки. Механизм повторных попыток имеет максимум 10 попыток, при этом интервал между ними рассчитывается до максимального значения в 30 минут.

Вебхуки можно отключать/включать, просматривать их историю, тестировать или удалять на странице вебхуков, выбрав нужный вебхук для отображения панели инструментов. Функция История предоставляет обзор вызовов за предыдущие 14 дней, а неудачные вебхуки можно повторить.

Важно

Белый список IP-адресов для подключений через вебхук был признан устаревшим и заменен токенами безопасности вебхука.

Вебхуки можно выбрать для следующих событий:

  • Job status changed

  • Задание создано

  • Job assigned

  • Срок выполнения задания изменен

  • Оригинал задания обновлен

  • Перевод задания обновлен (относится к действию Обновить перевод в заданиях)

  • Продолжающееся задание обновлено

    Срабатывает, когда оригинал непрерывного задания обновляется через хранилище, отслеживаемое коннектором. Не срабатывает при ручном действии Обновить оригинал для обычного (не непрерывного) задания.

  • Проект создан

  • Статус проекта изменен

  • Срок выполнения проекта изменен

  • Шаблон проекта создан

  • Шаблон проекта изменен

  • Шаблон проекта удален

  • Shared project assigned

  • Метаданные проекта обновлены

  • Предварительный перевод завершен

  • Анализ создан

  • Задание удалено

  • Проект удален

  • Задание экспортировано

  • Задание не экспортировано

  • Импорт Language AI завершен

  • Перевод Language AI завершен

Настроить вебхуки

Чтобы настроить вебхуки, выполните следующие действия:

  1. Со страницы Setup_gear.png настроек прокрутите вниз раздел «Интеграции» и нажмите «Вебхуки».

    Откроется страница «Вебхуки».

  2. Нажмите Добавить вебхук или Создать.

    Откроется страница Создать новый вебхук.

  3. Укажите имя, URL-адрес и токен безопасности, если это необходимо.

    Укажите значение, которое будет включено в заголовок X-memsource-токен или заголовок 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": {
      "Идентификатор": 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 White Paper Edited.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, вебхуками и пользовательским интерфейсом названия статусов могут немного отличаться.

REST API интерфейс приложений API

Webhook

ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС

NEW

NEW

НОВЫЙ

ACCEPTED

ASSIGNED

ПРИНЯТО (поставщиком)

DECLINED

DECLINED_BY_LINGUIST

ОТКЛОНЕНО (поставщиком)

REJECTED

REJECTED_BY_LINGUIST

ОТВЕРГНУТО (поставщиком)

DELIVERED

COMPLETED

СДАНО

EMAILED

EMAILED

ОТПРАВЛЕНО (по поставщику)

COMPLETED

COMPLETED_BY_LINGUIST

ЗАВЕРШЕНО (по поставщикам)

ОТМЕНЕНО

CANCELLED

ОТМЕНЕНО

Была ли эта статья полезной?

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.