Содержание

Программная реализация

Программно HTTP API предоставляется модулем web2Веб-сервер 2.0 (см. Настройка Сервера для подключения Клиентов с помощью модуля Веб-сервер 2.0).

Возможности

HTTP API позволяет использовать следующие функции:

  1. Получать сведения об интерактивных картах: список карт, имя карты, список слоев карты, параметры слоя, фоновый рисунок слоя, информация о списке точек и отдельной точке на слое (см. Карта).
  2. Получать сведения о классах объектов, созданных на Сервере, список состояний для класса объектов и информацию о состоянии, а также иконки для определенного состояния (см. Классы объектов).
  3. Получать список объектов, созданных на сервере, информацию об отдельном объекте, состояния объекта, список доступных действий с объектом (см. Объекты).
  4. Получать события с Сервера как отдельно, так и блоками (см. Получение событий).
  5. Отсылать команды на Сервер (см. Отсылка команд на сервер).
  6. Запускать выполнение макрокоманд (см. Макрокоманды).
  7. Работать с видео: получить кадры, запрашивать конфигурацию, получать живое видео и архив, управлять записью, ставить и снимать камеры с охраны, управлять телеметрией (см. Видео).
  8. Получать живой и архивный звук (см. Звук).
  9. Получать список пользователей (см. Пользователи).
  10. Отправлять события и реакции в ядро ПК Интеллект (см. Отправка реакций и событий в ПК Интеллект по HTTP-запросу).
  11. Обращаться к API Face-Интеллект и API Авто-Интеллект (см. Обращение к API вертикальных решений через HTTP API ПК Интеллект).
  12. Настраивать интеграции с Техносерв и ЕЦХД (см. Настройка интеграции с Техносерв и Команды, используемые для интеграции ЕЦХД).

Особенности и ограничения

  1. В примерах, приводимых в данном разделе, используются следующие обозначения:
    1. Port – порт. По умолчанию порт модуля Веб-сервер 2.0 – 8085. Указывать порт при отправке команд HTTP API обязательно.
    2. /web2 – веб-контекст, в котором работает модуль web2. Это контекст веб-приложения.
      Далее описание будет опускаться там, где действие запроса понятно из контекста.
  2. URL, id объектов и расширения файлов чувствительны к регистру.
  3. Дата и время указываются в формате RFC3339, подробнее см. http://www.ietf.org/rfc/rfc3339.txt.
  4. Должно быть отключено сжатие сообщений от ядер, то есть ключ реестра 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, его использование нужно включить в Веб-сервере 2.0 и в объекте Web-сервер (см. Настройки HTTPS и Задание параметров подключения Клиентов к Web-серверу). Порт для HTTPS по умолчанию – 8443.

Если использование HTTPS в настройках не включено, но в запросах при этом используется порт 8443, то будет происходить переадресация на HTTP. Например, при запросе «https://127.0.0.1:8443/web2/secure/configuration» автоматически произойдёт переход на «http://127.0.0.1:8085/web2/secure/configuration».

  • No labels