Общее описание API:
Формирование запроса к сокету
Описание ответ от сокета
Запросы на сервер:
Получение доступа к сигнализации (ws)
Просмотр данных сигнализации (ws)
Изменение данных сигнализации (ws)
Запросы от сервера:
Запрос на обновление состояния (ws)
Общее описание API
- Формирование запроса к сокету
Запрос к сокету серверу формируются следующим образом:
Код:ws://pride.gudsoft.ru:8082
{
params
}где:
params - параметры запроса в формате json
- Описание ответа от сокета
Рассмотрим простой запрос:
Код:ws://pride.gudsoft.ru:8082Сервер вернёт ответ в следующем формате:
Код:{"data":null,"message":"Ошибка выполнения запроса"}
Рассмотрит данные ответа:
data - массив содержит список возвращаемых данных, например, данные сигнализации. обратите внимание, массив
data содержит не сами данные, а наборы вложенных данных, к примеру,
alertData.
message - текст сообщения.
запрос можно считать успешным, если
message пустой.
Запросы на сервер
- Получение доступа к сигнализации (ws):
Для получения доступа к управлению сигнализацией, необходимо отправить запрос через сокет. Передаются параметры в формате json:
id - идентификатор сигнализации;
key - ключ доступа к сигнализации;
Код:ws://pride.gudsoft.ru:8082
{
action: "srv/alert/auth",
id: "1",
key: "aaa"
}ответ от сервераКод:'alertData' => stdClass#2
(
[id] => '1'
[state] => '2'
[phoneNotifyList] => []
[mac] => null
[dateUpdate] => '2016-07-17 15:57:52'
)Объект
alertData содержит данные сигнализации:
id - ID сигнализации
state - состояние, может принимать значения:
1 - на охране
2 - снят с охраны
3 - тревога: движение
4 - тревога: пожар
5 - тревога: утечка газа
6 - тревога: шум
phoneNotifyList - список телефонов уведомлений
mac - мак-адреса, например: 08-00-27-0E-25-B8
dateUpdate - дата последнего опроса датчиком
- Просмотр данных сигнализации (ws):
Запрос возвращает данные сигнализации. Для использования, необходимо иметь
доступ к управлению сигнализацией. Передаются параметры:
id - идентификатор сигнализации;
Код:ws://pride.gudsoft.ru:8082
{
action: "srv/alert/view",
id: "1",
}ответ от сервераКод:'alertData' => stdClass#2
(
[id] => '1'
[state] => '2'
[phoneNotifyList] => []
[mac] => null
[dateUpdate] => '2016-07-17 15:57:52'
)Объект
alertData содержит данные сигнализации:
id - ID сигнализации
state - состояние
phoneNotifyList - список телефонов уведомлений
mac - мак-адреса, например: 08-00-27-0E-25-B8
dateUpdate - дата последнего опроса датчиком
- Изменение данных сигнализации (ws):
Запрос обновляет статус или состояние сигнализации.
Для использования, необходимо иметь
доступ к управлению сигнализацией. Передаются параметры:
id - идентификатор сигнализации;
state - состояние
Код:ws://pride.gudsoft.ru:8082
{
action: "srv/alert/update",
id: "1",
state: "1",
}При успешном выполнении операции, придёт ответ, аналогичный ответу при
просмотре данных сигнализации
- Запрос на обновление состояния (ws):
Данный запрос может прийти от сервера в случае, когда клиент на сайте изменяет состояние сигнализации. Для использования, необходимо иметь
доступ к управлению сигнализацией.
От сервера через сокет придёт запрос:
Код:{
cmd: "srv/alert/update",
alertData: {zxc}
}где
alertData - данные сигнализации на сервере;
Далее, приложение должно обновить данные сигнализации у себя, и начать работать в обычном режиме.