You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 24
Next »
Программная реализация
Программно HTTP API предоставляется модулем web2 − Веб-сервер 2.0 (см. Настройка Сервера для подключения Клиентов с помощью модуля Веб-сервер 2.0).
Возможности
HTTP API позволяет использовать следующие функции:
- Получать сведения об интерактивных картах: список карт, имя карты, список слоев карты, параметры слоя, фоновый рисунок слоя, информация о списке точек и отдельной точке на слое (см. Карта).
- Получать сведения о классах объектов, созданных на Сервере, список состояний для класса объектов и информацию о состоянии, а также иконки для определенного состояния (см. Классы объектов).
- Получать список объектов, созданных на сервере, информацию об отдельном объекте, состояния объекта, список доступных действий с объектом (см. Объекты).
- Получать события с Сервера как отдельно, так и блоками (см. Получение событий).
- Отсылать команды на Сервер (см. Отсылка команд на сервер).
- Запускать выполнение макрокоманд (см. Макрокоманды).
- Работать с видео: получить кадры, запрашивать конфигурацию, получать живое видео и архив, управлять записью, ставить и снимать камеры с охраны, управлять телеметрией (см. Видео).
- Получать живой и архивный звук (см. Звук).
- Получать список пользователей (см. Пользователи).
- Отправлять события и реакции в ядро ПК Интеллект (см. Отправка реакций и событий в ПК Интеллект по HTTP-запросу).
- Обращаться к API Face-Интеллект и API Авто-Интеллект (см. Обращение к API вертикальных решений через HTTP API ПК Интеллект).
- Настраивать интеграции с Техносерв и ЕЦХД (см. Настройка интеграции с Техносерв и Команды, используемые для интеграции ЕЦХД).
Особенности и ограничения
- В примерах, приводимых в данном разделе, используются следующие обозначения:
- Port – порт. По умолчанию порт модуля Веб-сервер 2.0 – 8085. Указывать порт при отправке команд HTTP API обязательно.
- /web2 – веб-контекст, в котором работает модуль web2. Это контекст веб-приложения.
Далее описание будет опускаться там, где действие запроса понятно из контекста.
- URL, id объектов и расширения файлов чувствительны к регистру.
- Дата и время указываются в формате RFC3339, подробнее см. http://www.ietf.org/rfc/rfc3339.txt.
- Должно быть отключено сжатие сообщений от ядер, то есть ключ реестра MsgCompressOn=0 (см. Справочник ключей для Интеллекта базового).
Авторизация
Для выполнения запросов необходима авторизация. Поддерживаются 2 типа авторизации: Basic и Bearer.
При авторизации Basic данные пользователя необходимо добавлять во все HTTP запросы в следующем виде:
http://[имя_пользователя]:[пароль]@[IP-адрес]:[порт]/web2
При авторизации Bearer используется токен, полученный от web-сервера (см. Авторизация в ПК Интеллект по token ключу).
Формат ответа по умолчанию
По умолчанию формат ответа JSON. Включение ответа по умолчанию в формате XML осуществляется на панели настройки объекта Веб-сервер 2.0 (см. Настройка типа ответа на запросы HTTP API по умолчанию). Также формат ответа может быть явно указан в заголовке Accept, например application/json или application/xml. Указанный формат ответа в запросе имеет больший приоритет, чем заданный на панели настройки объекта Веб-сервер 2.0 формат ответа по умолчанию.
Кросс-доменные запросы (CORS)
Для выполнения кросс-доменных запросов или для получения доступа к необходимым заголовкам в ответе (например, в связи с ограничениями из-за политики CORS браузера), необходимо в заголовке запроса указать Origin (домен сайта, с которого происходит запрос). В таком случае в ответе будет содержаться заголовок Access-Control-Allow-Origin, который указывает на разрешение доступа к ресурсу с указанного домена кросс-сайтовым способом. Заголовок Access-Control-Allow-Origin: * означает, что к ресурсу можно получить доступ с любого домена кросс-сайтовым способом.
Использование HTTPS
По умолчанию Веб-сервер 2.0 использует протокол HTTP. Чтобы передавать данные по протоколу HTTPS, его использование нужно включить (см. Настройки HTTPS). Порт для HTTPS по умолчанию – 8443.
Если использование HTTPS в настройках не включено, но в запросах при этом используется порт 8443, то будет происходить переадресация на HTTP. Например, при запросе «https://127.0.0.1:8443/web2/secure/configuration» автоматически произойдёт переход на «http://127.0.0.1:8085/web2/secure/configuration».