Это простой сценарий API с примерами вызовов API и инструкциями о том, как связать их вместе для выполнения простого действия, используя только API. Опции, которые можно установить через API, обширны. Обратитесь к соответствующим разделам документации REST API, чтобы узнать больше обо всех доступных опциях.
Платформа API Postman была использована для создания сценария.
В этих примерах стандартный URL-адрес запроса начинается с https://cloud.memsource.com. В случае, если API используются организацией в центре обработки данных США, URL-адрес запроса должен начинаться с https://us.cloud.memsource.com.
Сценарий
-
Аутентификация
Пользователь аутентифицирован (эквивалент API входа в систему).
-
Создание
Создание простого проекта, загруженные задания и назначение лингвиста с уведомлением по электронной почте.
-
Перевод
Работа по переводу выполняется вне сценария API (в любом из редакторов).
-
Функция API
После завершения задания (отмеченного как Завершено лингвистом), статус проекта устанавливается на Завершено и готовый документ загружается из проекта.
Методология
Каждый отдельный вызов REST API имеет соответствующий указанный метод. Использование неправильного метода (например, GET вместо POST в вызове создания проекта) приводит к неудачному вызову API.
Шаг 1: Аутентификация
Существует два метода аутентификации:
-
Генерирует токен аутентификации, действительный в течение 24 часов. Токен необходимо вставить во все последующие API. Токен проверяет пользователей и позволяет им выполнять любые другие функции в профиле.
-
Позволяет проверить приложение. Проверенное приложение находится в постоянной связи и не требует дальнейшей аутентификации.
Для сценария используется вызов API аутентификации. Сгенерированный токен необходим для всех последующих вызовов API и не указан в примерах параметров.
Используйте API Вход для аутентификации с необходимыми параметрами. В этом случае требуются имя пользователя и пароль.
-
Метод
POST
-
URL запроса
https://cloud.memsource.com/web/api2/v3/auth/login
-
Тело запроса:
{ "userName":"username", "password":"password"} -
Ответ
Токен аутентификации.
Члены нескольких организаций TMS имеют одно и то же имя пользователя и пароль для нескольких учетных записей. В этом случае userUid должен быть добавлен в тело запроса, чтобы указать, в какую организацию пользователь хочет войти. Если не указано, пользователь входит в учетную запись по умолчанию, связанную с данным именем пользователя и паролем.
Этап 2: Создание проекта, импорт и назначение
Создание проекта
Используйте вызов API Projects, чтобы создать проект с обязательными параметрами name, sourceLang и targetLangs.
-
Метод
POST
-
URL запроса
https://cloud.memsource.com/web/api2/v3/projects
-
Тело запроса
{ "name":"My project", "sourceLang":"en", "targetLangs":[ "de","fr" ]} -
Ответ
UID проекта (например, KmtNyVlz1skQd2aMVEipp7)
Возможно создать шаблон проекта, используя вызов API Создать шаблон проекта с UID проекта из последнего вызова.
-
Метод
POST
-
URL запроса
https://cloud.memsource.com/web/api2/v1/projectTemplates
-
Тело запроса
{ "project": { "uid": "строка" }, "name": "строка", "importSettings": { "uid": "строка" }, "useDynamicTitle": true, "dynamicTitle": "string" } -
Ответ
UID шаблона проекта (например, AmtNyVlz1skQd2aMVEipp8)
Наиболее эффективный способ создания проектов — использовать шаблон проекта. Используйте Создать проект из шаблона с UID шаблона проекта из последнего вызова, чтобы создать новый проект на основе настроек шаблона проекта.
Выражение {templateUid} служит заполнителем в URL запроса, куда вставляется полученный UID шаблона проекта.
-
Метод
POST
-
URL запроса
https://cloud.memsource.com/web/api2/v2/projects/applyTemplate/oNQiljwTGHpd2l1nnQRiu4
-
Тело запроса
{ "name": "строка", "sourceLang": "string", "targetLangs": [ "строка" ], "workflowSteps": [ { "id": "строка" } ], "dateDue": "2019-08-24T14:15:22Z", "note": "строка", "client": { "id": "строка" }, "businessUnit": { "id": "строка" }, "domain": { "id": "строка" }, "subDomain": { "id": "строка" }, "costCenter": { "id": "строка" } }{ "project": { "uid": "строка" }, "name": "строка", "importSettings": { "uid": "строка" }, "useDynamicTitle": true, "dynamicTitle": "string" } -
Ответ
Идентификатор проекта (например, BmtNyVlz1skQd2aMVEipp9)
Создание задания
С идентификатором проекта из последнего вызова новые задания могут быть добавлены непосредственно в только что созданный проект, используя Создать задание.
Выражение {projectUid} служит заполнителем в URL запроса, куда вставляется полученный идентификатор проекта. При вызове 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 настройки импорта, который можно использовать в вызове создания задания, получен в ответе.
Чтобы назначить поставщиков на задание (если они не назначены напрямую в вызове Создания задания), используйте вызов Редактировать задание.
ID поставщика, который вставляется в вызов, можно получить двумя способами:
-
Чтобы получить ID из приложения Phrase, выполните следующие шаги:
-
Используйте Список пользователей вызов API.
Этот вызов API не требует никаких специфических параметров и вернет список всех пользователей в учетной записи. Ответ содержит как имена пользователей, так и их ID.
Необязательный параметр, имя пользователя, может быть добавлен к запросу, позволяя вам перечислить только пользователей с конкретными именами пользователей.
Уведомить назначенных пользователей
UID задания затем может быть использован как необязательный параметр в вызове Уведомить назначенных пользователей вместе с параметром шаблон электронной почты, представляющим ID шаблона электронной почты, который будет использоваться. Это можно получить, используя вызов Список шаблонов электронной почты.
-
URL запроса
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs/notifyAssigned
-
Ответ
Пустой (Статус 204: Нет контента)
Здесь переводчик начнет работать в своем профиле так же, как если бы использовался интерфейс Phrase. После завершения задания менеджер проекта получает уведомление, и инициируется следующая часть сценария. Обратный вызов может быть перехвачен через вебхуки, чтобы автоматически начать следующую часть сценария, но это не будет рассмотрено в этом примере.
Этап 3: Скачать переведённый (завершённый) файл, установить проект в статус Завершённый
Скачать переведённый файл
Этот сценарий работает с предположением, что переводчик завершает своё задание (отмечает работу как Завершено), но завершённый файл можно скачать в любое время, работа не обязательно должна иметь статус Завершено.
Чтобы скачать переведённый файл, необходимо выполнить два вызова API: Скачать целевой файл (асинхронно) и Скачать целевой файл на основе асинхронного запроса .
Первый шаг — вызвать Скачать целевой файл (асинхронно) с параметрами projectUid и jobUid. Если вы скачиваете завершённый файл из проекта с несколькими этапами рабочего процесса, убедитесь, что вы используете jobUid из конкретного этапа рабочего процесса, из которого вы хотите скачать завершённый файл, например, этап рабочего процесса ревизии.
-
Чтобы получить jobUID для конкретного этапа рабочего процесса из приложения Phrase, выполните следующие шаги:
-
Откройте проект.
-
В таблице заданий переключитесь на этап рабочего процесса, из которого вы хотите скачать завершённый файл.
-
Скопируйте уникальную часть URL после /job из браузера.
-
-
Используйте Список заданий вызов API.
Этот конечный пункт возвращает список заданий в указанном проекте. Используйте вызов с параметром запроса
workflowLevel. Этот параметр является непустым параметром, который указывает на этап рабочего процесса, к которому принадлежат возвращаемые задания. Если не указано иное, его значение по умолчанию установлено на1(= первый этап рабочего процесса). Например, если вам нужно получить задания с этапа ревизии, укажите номер этого этапа в параметре запроса, т.е.2.
Вызов Скачать целевой файл (асинхронно) инициирует асинхронный запрос на создание и скачивание целевого файла, содержащего переводы. Он не предоставляет целевой файл непосредственно в ответе, а только asyncRequestId, необходимый для следующего вызова.
-
Метод
ПУТ
-
URL запроса
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/targetFile
-
Ответ
Идентификатор асинхронного запроса
Используйте Получить асинхронный запрос с asyncRequestID из ответа, чтобы проверить, завершен ли запрос. После завершения асинхронного запроса вы можете скачать целевой файл, используя вызов Скачать целевой файл на основе асинхронного запроса. asyncRequestId можно использовать только один раз. После инициации загрузки asyncRequestId становится недействительным для дальнейшего использования.
-
Метод
ПОЛУЧИТЬ
-
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
-
Тело запроса
{ "статус": "ЗАВЕРШЕНО"} -
Ответ
Пустой (Статус 204: Нет контента)