You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Сервер WNAM QoW позволяет обеспечить взаимодействие с внешней информационной системой - например, системой мониторинга вашей организации, или универсальным дашбордом сервисов организации, по HTTP/REST протоколу.

Для этого внешняя информационная система должна отправлять специальным образом сформированные запросы на API-эндпоинт сервера QoW. Для авторизации доступа используется передача заголовка "X-API-Key" со значением, соответствующем значению параметра netams.remoteToken, определенного в конфигурационном файле /home/qow/application.properties сервера. При помощи API внешняя система может получить справочники различных объектов (сенсоров, групп, ...) сервера, состояние последнего измерения по заданному объекту, запустить внеочередное выполнение измерения по заданному объекту (например, проблемной точке доступа).

Формат обмена данных - JSON, кодировка UTF-8. Все эндпоинты вызываются по методу HTTP GET. Ответ сервера - в формате JSON.

Справочник допустимых эндпоинтов API:

URLПараметрыВозвращаемое значениеОписание
/api/objects/listGroupsнетМассив краткой информации по всем группам в системе
/api/objects/getGroup/{groupId}идентификатор группыКраткая информация по заданной группе
/api/objects/listSensorsнетМассив краткой информации по всем сенсорам в системе
/api/objects/getSensor/{sensorId}идентификатор сенсораКраткая информация по заданному сенсору
/api/objects/listAccessPointsнетМассив краткой информации по всем "своим" точкам доступа в системе
/api/objects/getAccessPoint/{accessPointId}идентификатор точки доступаКраткая информация по заданной точке доступа
/api/objects/listTasksнетМассив краткой информации по всем задачам в системе
/api/objects/getTask/{taskId}идентификатор задачиКраткая информация по заданной задаче
/api/healthSummary/getLatest

один из параметров должен быть указан:

groupId, sensorId, accessPointId или bssid

Краткая информация по результатам измерения для заданного объекта,

взятая из последнего измерения из БД сервера.

Запрос последних известных данных по измерениям для заданного объекта.

Параметры объекта передаются в URL запросе в виде ключ=значение, например

https://dev.wifisensor.pro/api/healthSummary/getLatest?sensorId=611a211ff1290747553498f4

Ответ сервера приходит синхронно и за короткое время (миллисекунды).

/api/healthSummary/requestHealth

один из параметров должен быть указан:

groupId, sensorId, accessPointId, accessPointName,

taskId, ssid или bssid (все - строки)

обязательные параметры callbackUrl (строка)

и timeout (число секунд)

Статус запуска задачи "вне очереди" на подходящих по параметрам

запроса сенсоре (сенсорах)

Запрос выполнения измерения для заданного объекта.

Параметры объекта передаются в URL запросе в виде ключ=значение.

Ответ сервера приходит асинхронно после заданного таймаута, либо раньше, если измерения

завершатся до него, путем отправки запроса на заданный Callback URL вашей системы.

При этом идентификатором является ключ в базе MongoDB, под которым хранятся сведения об объекте. Это длинная строка вида "611a213bf1290747553498f9".

Внимание! Выдаются сокращенные сведения об объекте: id, имя, местоположение, принадлежность к группе и несколько других базовых характеристик. Полная информация об объекте (как она хранится на сервере) в данном API не предоставляется. 

Например:

Запрос информации о сенсоре

curl -X GET \
https://wifisensor-server/api/objects/getSensor/611a211ff1290747553498f4 \
-H 'X-API-Key: sxdgfgdfghdgjgfdhjlasdgf' \
-H 'cache-control: no-cache'

Ответ сервера

HTTP/1.1 200
Server: nginx/1.14.2
Date: Wed, 12 Jan 2022 12:20:59 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: JSESSIONID=706F8360029679006C5548E26C0E1A33; Path=/; HttpOnly
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Requested-With,X-API-Key

{
    "id": "611a211ff1290747553498f4",
    "mac": "94:83:C4:09:04:DC",
    "location": "FNM_B_r220",
    "name": "QoW-1",
    "testingAccessPointIds": [
        "614a0c47b6fb545d0e1ea1b0"
    ],
    "groupId": "611a213bf1290747553498f9"
}




  • No labels