REST API v3¶
Начиная со сборки 5.3.392 пользователям доступно новое REST API v3.
Warning
REST API v2 устарело. Все новые методы и возможности добавляются только в REST API v3.
Автоматически генерируемая при сборке сервера документация доступна на официальном сайте Flashphoner: REST API v3
Также, документация доступна в веб-интерфейсе Web Call Server:

Асинхронные вызовы REST API¶
Некоторые длительные операции, запущенные вызовами REST API, могут выполняться асинхронно: чтение картинки водяного знака из файла, запуск VOD потока, соединение по RTSP с IP камерой и т.п. Такие REST API методы запускают асинхронные задания (job):
-
Если задание завершается в течение определенного времени, возвращается
200 OKи результат выполнения запроса в теле ответа. -
Если задание продолжается в фоне, возвращается
202 Acceptedс идентификатором задания. Результат выполнения задания может быть получен позднее при помощи метода/jobs/findв полеresultJSON объекта Job.
Задание в определенный момент времени находится в одном из следующих состояний:
PENDING— Задание создано и ждет запускаRUNNING— Задание выполняетсяDONE— Задание завершено успешноFAILED— Задание завершено с ошибкойCANCELLED— Задание сброшено по таймауту
Настройки асинхронного задания¶
Стандартный HTTP заголовок Prefer используется для настройки таймаутов задания на стороне клиента
curl --location 'http://localhost:8081/rest-api/v3/vod/startup' \
--header 'Content-Type: application/json' \
--header 'Prefer: respond-async, wait=3, timeout=10' \
--data '{"uri": "vod-live://sample.mp4", "localStreamName": "test", "loop": true}'
Здесь:
wait=3— Время ожидания результата в секундах. Запрос вернет200 OK, если задание завершено за указанное время, в противном случае202 Accepted. Значение по умолчанию: 5.timeout=10— Максимальное время выполнения в секундах. Если задание не завершено за указанное время, оно будет автоматически сброшено. Значение по умолчанию: 60.
На стороне сервера эти значения устанавливаются для всех запросов следующими параметрами
Если запрос не содержит заголовка Prefer, или значение, переданное в заголовке, превышает заданное в настойках сервера, к запросу будут применены настройки сервера.