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

Вебхуки (TMS)

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

Доступно для

  • Командные, Профессиональные, Бизнес, Корпоративные и Программные UI/UX планы

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

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

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

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

Важно

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

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

  • Статус задания изменен

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

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

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

  • Исходник задания обновлен

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

  • Непрерывное задание обновлено

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

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

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

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

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

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

  • Общий проект назначен

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

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

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

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

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

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

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

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

  • Перевод Language 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 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

вебхук

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

НОВЫЙ

НОВЫЙ

НОВЫЙ

ПРИНЯТО

ПРИСВОЕНО

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

ОТКЛОНЕНО

DECLINED_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.