Для интеграции с back-end сервером WCS использует REST / HTTP вызовы, которые мы называем REST Methods.
Таким образом, вы предоставляете WCS-серверу API на ваших скриптах, на которое WCS будет отправлять данные о коннектах, звонках, видеопотоках, и т.д.
REST-методы могут быть использованы для следующих целей:
REST-методы должны быть реализованы в виде простых HTTP / HTTPS - скриптов, которые работают с JSON в теле HTTP-запроса и отдают JSON в теле HTTP ответов.
Protocol | HTTP / HTTPS |
URL | |
Method | POST |
Content-Type | application/json |
Body | JSON |
В ответ WCS должен получить стандартный HTTP ответ с телом JSON
status | 200 |
Reason phrase | OK |
Body | JSON |
По умолчанию, обработка REST методов включена. Для отключения необходимо установить в файле flashphoner.properties следующий параметр
disable_rest_requests=true |
При больших нагрузках возможны задержки ответов back-end сервера на запросы WCS. Контролировать максимальную длительность таких задержек можно при помощи настройки в файле flashphoner.properties
rest_request_timeout=15 |
По умолчанию, максимальная длительность задержки ответа back-end сервера установлена в 15 секунд. Если в течение этого времени ответ не был получен, в логе сервера будет зафиксировано исключение
09:05:17,012 ERROR RestClient - API-ASYNC-pool-12-thread-2 Got exception in REST java.net.SocketTimeoutException: Read timed out |
Ошибка будет обработана в соответствии с настройкой restClientConfig.
Рекомендуется задавать максимальную длительность задержки при ответе сервера в пределах от 1 до 60 секунд. Значение
rest_request_timeout=0 |
полностью отключает контроль задержки.
Начиная со сборки 5.2.1475, если при попытке отправить запрос к бэкенд серверу возникает ошибка, будет предпринято указанное число повторных попыток, по умолчанию 3:
rest_client_request_retry_count=3 |
Обработку ошибок можно отключить при помощи настройки
rest_client_request_sent_retry_enabled=false |
В этом случае, если отправить запрос не удалось, в лог сервера сразу будет выведено соответствующее исключение, например
10:32:43,072 ERROR RestClient - API-ASYNC-pool-13-thread-15 Got exception in REST org.apache.http.NoHttpResponseException: localhost:8081 failed to respond |