Доступен набор API вызовов, позволяющий:
-
Интеграция Phrase и стороннего программного обеспечения (например, инструментов управления переводом, системы управления контентом (CMS) и т. п.)
-
Разработка рабочего места переводчика. «CAT Editor» построен на основе публичных API.
-
Создание совершенно нового инструмента или услуги с использованием Phrase в качестве бэкенда.
Основной рабочий процесс
Процедуры и рабочий процесс должны быть поняты перед использованием API. Рекомендуется ознакомиться с процедурой в Phrase перед внедрением соответствующего API.
Основной рабочий процесс таков:
-
Создайте TM, TB и, при необходимости, добавьте систему машинного перевода.
-
Создайте проект с прикреплёнными TM, TB и системой машинного перевода (если необходимо).
-
Сохраните проект как шаблон проекта и повторно используйте его для создания нового проекта перевода.
-
Загрузите файл для перевода в проект (создайте задание).
-
Затем можно анализировать, предварительно перевести или назначить задание лингвисту.
Асинхронные API
Асинхронные API всегда следует использовать вместо синхронных API. При вызове синхронных API существует вероятность получения ответа о превышении времени ожидания при обработке больших пакетов файлов или даже одного большого файла. Синхронные API следует использовать только для небольших файлов и небольшой интеграции.
Опрос
После вызова асинхронного API возвращается мгновенный ответ, содержащий идентификатор запроса. Используйте этот идентификатор, чтобы проверить статус запроса, вызвав getAsyncRequest и проверив поле asyncResponse. Этот метод опроса может привести к множеству вызовов getAsyncRequest до получения ненулевого значения поля asyncResponse.
Обратные вызовы
В ответ на недостатки метода опроса во всех асинхронных API реализована поддержка обратных вызовов. При вызове асинхронного запроса укажите URL (в параметре callbackUrl), который запрашивается после завершения работы, инициированной асинхронным запросом.
Обратные вызовы осуществляются посредством HTTP POST запросов, а данные передаются в теле, закодированном в формате JSON. Объект JSON всегда содержит:
-
Информацию об асинхронном запросе (такую же, как при вызове getAsyncRequest).
-
Подробная информация о результате действия, например, полный анализ или сведения о задании.
{
"asyncRequest": {
...
}
"analyse": {
...
}
}
Если URL обратного вызова недоступен, запрос повторяется через 2, 4, 8, 16 и 30 минут до тех пор, пока не завершятся 10 неудачных попыток.
URL обратного вызова должен возвращать код состояния HTTP 200 OK, чтобы считаться успешным.