Web API: различия между версиями

Материал из wiki.quadrobit.com
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
h1. API v01
+
* API v01 *
  
 
API ( json )
 
API ( json )
Строка 8: Строка 8:
  
 
request:
 
request:
Адрес: [site] /api/login
+
 
параметры запроса: (string) email , (string) password
+
Request URL: [site]/api/login
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(string) email,
 +
 
 +
(string) password
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 17: Строка 24:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 
параметры ответа: (object)
 
параметры ответа: (object)
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 41: Строка 50:
  
 
request:
 
request:
Адрес: [site] /api/registration
+
Request URL: [site]/api/registration
параметры запроса: (string) email , (string) password
+
 
пример:  
+
параметры запроса:
 +
 
 +
(string) email,
 +
 
 +
(string) password
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 70: Строка 85:
  
 
request:
 
request:
Адрес: [site] /api/profile/
+
 
 +
Request URL: [site]/api/profile/
 +
 
 
параметры запроса: (string) token
 
параметры запроса: (string) token
пример:  
+
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 103: Строка 121:
  
 
request:
 
request:
Адрес: [site] /api/profile/rooms/
+
 
параметры запроса: (string) token
+
Request URL: [site]/api/profile/rooms/
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(string) token
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 111: Строка 134:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 +
 
параметры ответа: (object)
 
параметры ответа: (object)
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 141: Строка 167:
 
   
 
   
 
request:
 
request:
Адрес: [site] /api/profile/room-info/
+
 
параметры запроса: (string) token, (int) room_id
+
Request URL: [site]/api/profile/room-info/
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(string) token,
 +
 
 +
(int) room_id
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 150: Строка 183:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
параметры ответа: (object)
+
 
пример:  
+
Параметры ответа: (object)
 +
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 178: Строка 214:
  
 
request:
 
request:
Адрес: [site] /api/ctrl/list/
+
Request URL: [site]/api/ctrl/list/
 +
 
 
параметры запроса: (string) token
 
параметры запроса: (string) token
пример:  
+
 
 +
Пример запроса:
 +
 
<pre>
 
<pre>
 
{
 
{
Строка 186: Строка 225:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 +
 
параметры ответа: (array)  
 
параметры ответа: (array)  
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 217: Строка 259:
  
 
request:
 
request:
Адрес: [site] /api/ctrl/info/
+
Request URL: [site]/api/ctrl/info/
 +
 
 
параметры запроса: (int) controller_id , (string) token
 
параметры запроса: (int) controller_id , (string) token
пример:  
+
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 226: Строка 270:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 +
 
параметры ответа: (object)
 
параметры ответа: (object)
пример:  
+
 
 +
Пример ответа:  
  
 
<pre>
 
<pre>
Строка 246: Строка 293:
  
 
request:
 
request:
Адрес: [site] /api/ctrl/armed/
+
 
 +
Request URL: [site]/api/ctrl/armed/
 +
 
 
параметры запроса: (int) controller_id , (string) token
 
параметры запроса: (int) controller_id , (string) token
 
пример:  
 
пример:  
 +
 
<pre>
 
<pre>
 
{
 
{
Строка 266: Строка 316:
  
  
== Добавление Контроллера (add) =
+
= Добавление Контроллера (add) =
  
 
request:
 
request:
Адрес: [site] /api/ctrl/add
+
 
 +
Request URL: [site]/api/ctrl/add
 +
 
 
параметры запроса: (string) token
 
параметры запроса: (string) token
пример:  
+
 
 +
Пример:  
 
<pre>
 
<pre>
 
{
 
{
Строка 285: Строка 338:
 
}
 
}
 
</pre>
 
</pre>
после ввода пин-кода необходимо обновить список Контроллеров (/api/ctrl/list/)
+
После ввода пин-кода необходимо обновить список Контроллеров (/api/ctrl/list/)
  
 
= Обновление списка устройств и действий на Контроллере (update) =
 
= Обновление списка устройств и действий на Контроллере (update) =
Строка 291: Строка 344:
 
=== Этап 1 - обновляем список IDS устройств на Контроллере ===
 
=== Этап 1 - обновляем список IDS устройств на Контроллере ===
 
request:
 
request:
Адрес: [site] /api/ctrl/update/
+
 
 +
Request URL: [site]/api/ctrl/update/
 
параметры запроса: (int) controller_id , (string) token
 
параметры запроса: (int) controller_id , (string) token
 
пример:  
 
пример:  
Строка 312: Строка 366:
  
 
request:
 
request:
Адрес: [site] /api/ctrl/update-devices/
+
Request URL: [site]/api/ctrl/update-devices/
 +
 
 
параметры запроса:
 
параметры запроса:
  
(int) controller_id , (string) token
+
(int) controller_id,
пример:  
+
(string) token
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 323: Строка 380:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 +
 
параметры ответа:  
 
параметры ответа:  
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 336: Строка 396:
 
= Удаление Контроллера (delete) =
 
= Удаление Контроллера (delete) =
  
request:
+
Request URL: [site]/api/ctrl/delete
Адрес: [site] /api/ctrl/del
+
 
параметры запроса:  
+
Параметры запроса:  
пример:  
+
 
 +
Пример запроса:
 +
 
<pre>
 
<pre>
 
{
 
{
+
"token":"8yE-VIQrYuZ2bTeho_lajxjOJPnIe_Yx",
 +
"controller_id":"81"
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 
параметры ответа:  
 
параметры ответа:  
Строка 350: Строка 414:
 
<pre>
 
<pre>
 
{
 
{
 
+
"error":null,
 +
"data":{"resuls":"Ok"}
 
}
 
}
 
</pre>
 
</pre>
Строка 358: Строка 423:
  
 
request:
 
request:
Адрес: [site] /api/device/list/
+
Request URL: [site]/api/device/list
 +
 
 
параметры запроса: (int) controller_id , (string) token
 
параметры запроса: (int) controller_id , (string) token
пример:  
+
 
 +
Пример запрса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 367: Строка 434:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
параметры ответа:  
+
параметры ответа:
пример:  
+
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 421: Строка 490:
  
 
request:
 
request:
Адрес: [site] /api/device/info/
+
 
параметры запроса: (int) controller_id , (int) device_id , (string) token
+
Request URL: [site]/api/device/info/
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(int) controller_id,
 +
 
 +
(int) device_id,
 +
 
 +
(string) token
 +
 
 +
Пример запрса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 431: Строка 509:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
параметры ответа:  
+
 
пример:  
+
параметры ответа:
 +
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 478: Строка 559:
  
 
request:
 
request:
Адрес: [site] /api/device/event/
+
 
параметры запроса: (string) controller_name , (int) device_external_id, (int) cod_external_id,       (string) token, (int) device_type
+
Request URL: [site]/api/device/event/
пример:  
+
параметры запроса:
<pre>
+
 
{
+
(string) controller_name,
 +
 
 +
(int) device_external_id,
 +
 
 +
(int) cod_external_id,
 +
 
 +
(string) token,
 +
 
 +
(int) device_type
 +
 
 +
Пример запроса:  
 +
 
 +
<pre>
 +
{
 
"controller_name": " AS_7F26335CCF4B" ,
 
"controller_name": " AS_7F26335CCF4B" ,
 
"device_external_id": 19,
 
"device_external_id": 19,
Строка 490: Строка 584:
 
}
 
}
 
</pre>
 
</pre>
 +
 
так как MQTT  односторонний - ответа быть не может. Может быть возвращён ответ, что запрос отправлен:
 
так как MQTT  односторонний - ответа быть не может. Может быть возвращён ответ, что запрос отправлен:
 
response:
 
response:
 +
 
параметры ответа:  
 
параметры ответа:  
пример:  
+
 
 +
Пример ответа:  
 +
 
 
<pre>
 
<pre>
 
{
 
{
Строка 504: Строка 602:
  
 
request:
 
request:
Адрес: [site] /api/device/update/
+
 
параметры запроса: (int) device_id , (string) name, (int) active, (string) token,
+
Request URL: [site]/api/device/update/
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(int) device_id,
 +
 
 +
(string) name,
 +
 
 +
(int) active,
 +
 
 +
(string) token,
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 516: Строка 625:
 
</pre>
 
</pre>
 
response:
 
response:
параметры ответа:  
+
 
пример:  
+
параметры ответа:
 +
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 527: Строка 638:
  
 
request:
 
request:
Адрес: [site] /api/device/delete/
+
 
параметры запроса: (int) device_id, (string) token
+
Request URL: [site]/api/device/delete/
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(int) device_id,
 +
 
 +
(string) token
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 536: Строка 654:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
параметры ответа:  
+
 
пример:  
+
Параметры ответа:  
 +
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 552: Строка 673:
  
 
request:
 
request:
Адрес: [site] /api/property/info/
+
 
параметры запроса: (int) controller_id, (int) device_id, (int) code_id, (string) token
+
Request URL: [site]/api/property/info/
пример:  
+
 
 +
параметры запроса:
 +
(int) controller_id,
 +
 
 +
(int) device_id,
 +
 
 +
(int) code_id,
 +
 
 +
(string) token
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 564: Строка 695:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 
параметры ответа:  
 
параметры ответа:  
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 592: Строка 725:
  
 
request:
 
request:
Адрес: [site] /api/
+
Request URL: [site]/api/
 
параметры запроса:  
 
параметры запроса:  
 
пример:  
 
пример:  
Строка 613: Строка 746:
 
request:
 
request:
  
Адрес: [site] /api/property/update/
+
Request URL: [site]/api/property/update/
параметры запроса: (int) device_id , (int) code_id, (string)name, (int) active, (string) token
+
 
пример:  
+
Параметры запроса:
<pre>
+
 
{
+
(int) device_id,
 +
 
 +
(int) code_id,
 +
 
 +
(string)name,
 +
 
 +
(int) active,
 +
 
 +
(string) token
 +
 
 +
Пример запроса:  
 +
 
 +
<pre>
 +
{
 
"device_id": 107,  // local device id
 
"device_id": 107,  // local device id
 
"name": "New name", // new name
 
"name": "New name", // new name
Строка 624: Строка 770:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 +
 
параметры ответа:  
 
параметры ответа:  
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 634: Строка 783:
  
 
= (delete) ?? =
 
= (delete) ?? =
 +
 
request:
 
request:
Адрес: [site] /api/
+
 
 +
Request URL: [site]/api/
 +
 
 
параметры запроса:  
 
параметры запроса:  
 +
 
пример:  
 
пример:  
 
{
 
{
Строка 642: Строка 795:
 
}
 
}
 
response:
 
response:
 +
 
параметры ответа:  
 
параметры ответа:  
 +
 
пример:  
 
пример:  
 
{
 
{
Строка 650: Строка 805:
  
 
= Список действий (list) =
 
= Список действий (list) =
h3. (list)
+
 
 +
 
 
request:
 
request:
Адрес: [site] /api/scheduler/list/
+
Request URL: [site]/api/scheduler/list/
 +
 
 
параметры запроса: (string) token
 
параметры запроса: (string) token
пример:  
+
 
 +
Пример запроса:
 +
 
<pre>
 
<pre>
 
{
 
{
Строка 660: Строка 819:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 +
 
параметры ответа:  
 
параметры ответа:  
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 721: Строка 883:
 
Запрос осуществляется в 2 этапа: на первом этапе происходит при запросе на обновление Контроллера (см. "Обновление Контроллера");
 
Запрос осуществляется в 2 этапа: на первом этапе происходит при запросе на обновление Контроллера (см. "Обновление Контроллера");
 
на втором этапе обновляется информация о каждом действии.
 
на втором этапе обновляется информация о каждом действии.
 +
 
request:
 
request:
Адрес: [site] /api/scheduler/update/
+
Request URL: [site]/api/scheduler/update/
параметры запроса: (int) controller_id, (string) token
+
 
пример:  
+
параметры запроса:
 +
 
 +
(int) controller_id,
 +
 
 +
(string) token
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 731: Строка 900:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 +
 
параметры ответа:  
 
параметры ответа:  
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 745: Строка 917:
  
 
request:
 
request:
Адрес: [site] /api/scheduler/info/
+
Request URL: [site]/api/scheduler/info/
параметры запроса: (int) scheduler_id, (string) token
+
 
пример:  
+
параметры запроса:
 +
 
 +
(int) scheduler_id,
 +
 
 +
(string) token
 +
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 755: Строка 933:
 
</pre>
 
</pre>
 
response:
 
response:
 +
 
параметры ответа:  
 
параметры ответа:  
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 805: Строка 985:
 
=== (create) ===
 
=== (create) ===
 
request:
 
request:
Адрес: [site] /api/
+
Request URL: [site]/api/
 
параметры запроса:  
 
параметры запроса:  
 
пример:
 
пример:
Строка 825: Строка 1005:
 
=== (update) ===
 
=== (update) ===
 
request:
 
request:
Адрес: [site] /api/
+
Request URL: [site]/api/
 
параметры запроса:  
 
параметры запроса:  
 
пример:  
 
пример:  
Строка 845: Строка 1025:
 
=== (delete)===
 
=== (delete)===
 
request:
 
request:
Адрес: [site] /api/login
+
Request URL: [site]/api/login
 
параметры запроса:  
 
параметры запроса:  
 
пример:  
 
пример:  
Строка 866: Строка 1046:
 
= Логи пользователя (logs) =
 
= Логи пользователя (logs) =
 
request:
 
request:
Адрес: [site] /api/profile/logs/
+
 
 +
Request URL: [site]/api/profile/logs/
 +
 
 
параметры запроса: (string) token
 
параметры запроса: (string) token
пример:  
+
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 887: Строка 1070:
  
 
request:
 
request:
Адрес: [site] /api/device/meteo-last/
+
Request URL: [site]/api/device/meteo-last/
параметры запроса: (string) token, (int) device_id
+
 
пример:  
+
параметры запроса:
 +
 
 +
(string) token,
 +
 
 +
(int) device_id
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 897: Строка 1086:
 
</pre>
 
</pre>
 
response:
 
response:
 +
 
параметры ответа: (object)
 
параметры ответа: (object)
пример:  
+
 
 +
Пример ответа:  
 +
 
 
<pre>
 
<pre>
 
{
 
{
Строка 918: Строка 1110:
 
= Получение метеоданных за период (period) =
 
= Получение метеоданных за период (period) =
 
request:
 
request:
Адрес: [site] /api/device/meteo-period/
+
 
параметры запроса: (string) token, (int) device_id, (int) period
+
Request URL: [site]/api/device/meteo-period/
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(string) token,
 +
 
 +
(int) device_id,
 +
 
 +
(int) period
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 930: Строка 1131:
  
 
response:
 
response:
 +
 
параметры ответа: (array to objects)
 
параметры ответа: (array to objects)
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
[
 
[
Строка 959: Строка 1162:
 
   
 
   
 
request:
 
request:
Адрес: [site] /api/device/electro-last/
+
Request URL: [site]/api/device/electro-last/
параметры запроса: (string) token, (int) device_id
+
 
пример:  
+
параметры запроса:
 +
 
 +
(string) token,
 +
 
 +
(int) device_id
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 968: Строка 1177:
 
}
 
}
 
</pre>
 
</pre>
 +
 
response:
 
response:
 +
 
параметры ответа: (object)
 
параметры ответа: (object)
пример:  
+
 
 +
Пример ответа:  
 +
 
 
<pre>
 
<pre>
 
{
 
{
Строка 994: Строка 1207:
 
   
 
   
 
request:
 
request:
Адрес: [site] /api/device/electro-period/
+
 
параметры запроса: (string) token, (int) device_id, (int) period
+
Request URL: [site]/api/device/electro-period/
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(string) token,
 +
 
 +
(int) device_id,
 +
 
 +
(int) period
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 1005: Строка 1227:
 
</pre>
 
</pre>
 
response:
 
response:
 +
 
параметры ответа: (array to objects)
 
параметры ответа: (array to objects)
пример:  
+
 
 +
Пример ответа:
 +
 
<pre>
 
<pre>
 
[
 
[
Строка 1037: Строка 1262:
 
   
 
   
 
request:
 
request:
Адрес: [site] /api/device/other-last/
+
 
параметры запроса: (string) token, , (int) device_id
+
Request URL: [site]/api/device/other-last/
пример:  
+
 
 +
Параметры запроса:
 +
 
 +
(string) token,
 +
 
 +
(int) device_id
 +
 
 +
Пример запроса:  
 
<pre>
 
<pre>
 
{
 
{
Строка 1047: Строка 1279:
 
</pre>
 
</pre>
 
response:
 
response:
 +
 
параметры ответа: (object)
 
параметры ответа: (object)
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 1070: Строка 1304:
 
=?? (period) =
 
=?? (period) =
 
request:
 
request:
Адрес: [site] /api/device/other-period/
+
 
параметры запроса: (string) token, (int) device_id, (int) period
+
Request URL: [site]/api/device/other-period/
пример:  
+
 
 +
параметры запроса:
 +
 
 +
(string) token,
 +
 
 +
(int) device_id,
 +
 
 +
(int) period
 +
 
 +
Пример запроса:  
 
{
 
{
 
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
 
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
Строка 1079: Строка 1322:
 
}
 
}
 
response:
 
response:
 +
 
параметры ответа: (array to objects)
 
параметры ответа: (array to objects)
пример:  
+
 
 +
Пример ответа:  
 
<pre>
 
<pre>
 
{
 
{
Строка 1106: Строка 1351:
  
 
=== Ошибки: ===
 
=== Ошибки: ===
параметры ошибки:  
+
 
 +
параметры ошибки:
 +
 
пример:  
 
пример:  
 +
 
<pre>
 
<pre>
 
{
 
{
Строка 1120: Строка 1368:
 
= Получение списка иконок мест (places) =
 
= Получение списка иконок мест (places) =
  
Адрес: [site] /api/places/get-icons
+
Request URL: [site]/api/places/get-icons
  
 
Пример ответа:
 
Пример ответа:
Строка 1132: Строка 1380:
 
= Получение списка созданных мест (index) =
 
= Получение списка созданных мест (index) =
  
Адрес: [site] /api/places/index
+
Request URL: [site]/api/places/index
  
 
Request params:
 
Request params:
 +
 
token (required): string, 64
 
token (required): string, 64
  
Строка 1151: Строка 1400:
  
  
Адрес: [site] /api/places/create
+
Request URL: [site]/api/places/create
  
 
Request params:
 
Request params:
Строка 1209: Строка 1458:
 
=  Редактирование места (edit) =
 
=  Редактирование места (edit) =
  
Адрес: [site] /api/places/edit
+
Request URL: [site]/api/places/edit
  
 
Request params:
 
Request params:
Строка 1269: Строка 1518:
 
= Удаление места (delete) =
 
= Удаление места (delete) =
  
Адрес: [site] /api/places/delete
+
Request URL: [site]/api/places/delete
  
 
Request params:
 
Request params:
Строка 1288: Строка 1537:
  
 
request:
 
request:
Адрес: [site] /api/ ctrl/update-status/
 
  
Параметры запроса: (string) token, (int) controller_id
+
Request URL: [site]/api/ ctrl/update-status/
 +
 
 +
Параметры запроса:
 +
 
 +
(string) token,
  
пример:
+
(int) controller_id
 +
 
 +
Пример запроса:
 
<pre>
 
<pre>
 
{
 
{
Строка 1301: Строка 1555:
  
 
response:
 
response:
 +
 
параметры ответа:
 
параметры ответа:
пример:
+
 
 +
Пример ответа:
 
<pre>
 
<pre>
 
{
 
{
Строка 1314: Строка 1570:
 
= Получение актуального статуса Контроллера (get-status) =  
 
= Получение актуального статуса Контроллера (get-status) =  
 
request:
 
request:
Адрес: [site] /api/ ctrl/get-status/
+
 
параметры запроса: (string) token, (int) controller_id
+
Request URL: [site]/api/ ctrl/get-status/
пример:
+
 
 +
параметры запроса:
 +
 
 +
(string) token,
 +
 
 +
(int) controller_id
 +
 
 +
Пример запроса:
 
<pre>
 
<pre>
 
{
 
{
Строка 1325: Строка 1588:
  
 
response:
 
response:
 +
 
параметры ответа:
 
параметры ответа:
пример:
+
 
 +
Пример ответа:
 
<pre>
 
<pre>
 
{
 
{
Строка 1371: Строка 1636:
 
==  Датчик затопления (create-flood-sensor) ==
 
==  Датчик затопления (create-flood-sensor) ==
  
URL
+
Request URL: [site]/api/wizard/create-flood-sensor
/api/wizard/create-flood-sensor
 
  
 
Params:
 
Params:
  
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
device_name (optional): string, 256
 
device_name (optional): string, 256
 
code_alarm (optional): string, 64 //Название кода оповещения
 
code_alarm (optional): string, 64 //Название кода оповещения
 +
 
code_tamper (optional): string, 64 //Название кода вмешательства
 
code_tamper (optional): string, 64 //Название кода вмешательства
 +
 
code_low_battery (optional): string, 64 //Название кода садящейся батареи
 
code_low_battery (optional): string, 64 //Название кода садящейся батареи
  
Строка 1398: Строка 1666:
 
== Пульт,4 кнопки (create-console) ==
 
== Пульт,4 кнопки (create-console) ==
  
URL: [site]/api/wizard/create-console
+
Request URL: [site]/api/wizard/create-console
  
 
Params:
 
Params:
 +
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
device_name (optional): string, 256
 
device_name (optional): string, 256
 +
 
code_lock (optional): string, 64 //Название кода блокировки
 
code_lock (optional): string, 64 //Название кода блокировки
 +
 
code_unlock (optional): string, 64 //Название кода разблокировки
 
code_unlock (optional): string, 64 //Название кода разблокировки
 +
 
code_s (optional): string, 64 //Название кода s
 
code_s (optional): string, 64 //Название кода s
 +
 
code_alarm (optional): string, 64 //Название кода оповещения
 
code_alarm (optional): string, 64 //Название кода оповещения
  
Строка 1424: Строка 1699:
 
== Сирена (create-siren) ==
 
== Сирена (create-siren) ==
  
URL [site]/api/wizard/create-siren
+
Request URL: [site]/api/wizard/create-siren
  
 
Params:
 
Params:
  
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
device_name (optional): string, 256
 
device_name (optional): string, 256
 +
 
code_on (optional): string, 64 //Название кода включения
 
code_on (optional): string, 64 //Название кода включения
 +
 
code_off (optional): string, 64 //Название кода выключения
 
code_off (optional): string, 64 //Название кода выключения
 +
 
code_blank (optional): string, 64 //Название кода blank
 
code_blank (optional): string, 64 //Название кода blank
  
Строка 1449: Строка 1729:
  
 
== Метеостанция: получение списка обнаруженных метеостанций за последние 10 минут (get-meteos) ==
 
== Метеостанция: получение списка обнаруженных метеостанций за последние 10 минут (get-meteos) ==
URL: [site]/api/wizard/get-meteos
+
Request URL: [site]/api/wizard/get-meteos
  
 
Params:
 
Params:
  
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
  
Строка 1466: Строка 1747:
 
== Метеостанция: добавление (create-meteo) ==
 
== Метеостанция: добавление (create-meteo) ==
  
URL: [site]/api/wizard/create-meteo
+
Request URL: [site][site]/api/wizard/create-meteo
  
 
Params:
 
Params:
 +
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
meteo_num (required): int //Получается в списке выше
 
meteo_num (required): int //Получается в списке выше
 +
 
device_name (optional): string, 256
 
device_name (optional): string, 256
  
Строка 1501: Строка 1786:
 
=== Генерация кодов ===
 
=== Генерация кодов ===
  
URL: [site]/api/wizard/create-codes
+
Request URL: [site]/api/wizard/create-codes
  
 
Params:
 
Params:
  
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
  
Строка 1520: Строка 1806:
 
=== Выполнение кода ===
 
=== Выполнение кода ===
  
URL: [site]/api/wizard/execute-code
+
Request URL: [site]/api/wizard/execute-code
  
 
Params:
 
Params:
  
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
code (required): int // Берется из сгенерированных
 
code (required): int // Берется из сгенерированных
  
Строка 1540: Строка 1828:
 
=== Добавление крана ===
 
=== Добавление крана ===
  
URL: [site]/api/wizard/create-crane-by-codes
+
Request URL: [site]/api/wizard/create-crane-by-codes
  
 
Params:
 
Params:
  
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
code_1 (required): int
 
code_1 (required): int
 +
 
code_2 (required): int
 
code_2 (required): int
 +
 
device_name (optional): string, 256
 
device_name (optional): string, 256
 +
 
code_open (optional): string, 64 //Название кода открытия
 
code_open (optional): string, 64 //Название кода открытия
 +
 
code_close (optional): string, 64 //Название кода закрытия
 
code_close (optional): string, 64 //Название кода закрытия
  
Строка 1563: Строка 1857:
  
 
порядок добаления розетки следующий:
 
порядок добаления розетки следующий:
 +
 
1) Сгенерировать коды
 
1) Сгенерировать коды
 +
 
2) Зажать на розетке кнопку, пока она не начнет мигать
 
2) Зажать на розетке кнопку, пока она не начнет мигать
 +
 
3) Отправить один код
 
3) Отправить один код
 +
 
4) Зажать на розетке кнопку, пока она не начнет мигать
 
4) Зажать на розетке кнопку, пока она не начнет мигать
 +
 
5) Отправить второй код из сгенерированых
 
5) Отправить второй код из сгенерированых
 +
 
6) Отправить запрос на создание розетки
 
6) Отправить запрос на создание розетки
  
  
=== Генерация кодов: ===
+
=== Генерация кодов (create-codes) ===
  
URL: [site]/api/wizard/create-codes
+
Request URL: [site]/api/wizard/create-codes
  
 
Params:
 
Params:
 +
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
socket (required): любое значение.
 
socket (required): любое значение.
  
Строка 1593: Строка 1896:
 
=== Выполнение кода  (execute-code) ===
 
=== Выполнение кода  (execute-code) ===
  
URL: [site]/api/wizard/execute-code
+
Request URL: [site]/api/wizard/execute-code
  
 
Params:
 
Params:
  
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
code (required): int // Берется из сгенерированных
 
code (required): int // Берется из сгенерированных
  
Строка 1612: Строка 1917:
 
=== Добавление розетки (create-socket) ===
 
=== Добавление розетки (create-socket) ===
  
URL: [site]/api/wizard/create-socket
+
Request URL: [site]/api/wizard/create-socket
  
 
Params:
 
Params:
  
 
controller_id (required): int
 
controller_id (required): int
 +
 
token (required): string, 64
 
token (required): string, 64
 +
 
code_1 (required): int
 
code_1 (required): int
 +
 
code_2 (required): int
 
code_2 (required): int
 +
 
device_name (optional): string, 256
 
device_name (optional): string, 256
 +
 
code_off (optional): string, 64 //Название кода открытия
 
code_off (optional): string, 64 //Название кода открытия
 +
 
code_on (optional): string, 64 //Название кода закрытия
 
code_on (optional): string, 64 //Название кода закрытия
  
Строка 1640: Строка 1951:
  
 
token (required): string(64)
 
token (required): string(64)
 +
 
code_id (required): int
 
code_id (required): int
 +
 
name (optional): string(255)
 
name (optional): string(255)
  
Строка 1659: Строка 1972:
  
 
Request Params:
 
Request Params:
 +
 
token (required): string(64)
 
token (required): string(64)
 +
 
device_subtype_id (optional): int, default 0.
 
device_subtype_id (optional): int, default 0.
  
Строка 1673: Строка 1988:
  
 
Request params:
 
Request params:
 +
 
token (required) : string(64);
 
token (required) : string(64);
  

Версия 13:36, 27 марта 2019

  • API v01 *

API ( json )

URL https://quadrobit.com/

Содержание

Авторизация (login)

request:

Request URL: [site]/api/login

параметры запроса:

(string) email,

(string) password

Пример запроса:

{
	"email":"aaaa@aaaa.aa",
	"password":"12345678"
}

response: параметры ответа: (object)

Пример ответа:

{
	"user_id":1,
	"username":"Ivan Pupkin",
	"email":"aaaa@aaa.aa",
	"phone": "423546546546",
	"sex":2, 		// пол 0 - не указан , 1 - женский  , 2 - мужской
	"country":219,  		// код страны в базе
	"active_configuration":"1",
	"refcode":"JHE-1GD-T8B-9HB",
	"status":10,       		// 0 - неактивен , 10 - активен
	"token":"1Cyuvr9DKMbB6aFQ-mLPLeGZXFLyuK8d",
	"expired":1502586831 // метка времени до которой активен token
}


Регистрация (registration)

request: Request URL: [site]/api/registration

параметры запроса:

(string) email,

(string) password

Пример запроса:

{
	"email":"aaaa@aaaa.aa",
	"password":"12345678"
}

response: параметры ответа: (object) пример:

{
    	"user_id": 43,
    	"username": "user_4383",
    	"email": "aaaa@aaa.aa",
    	"sex": null,
   	 "country": null,
   	 "active_configuration": null,
    	"refcode": "746-81O-0RJ-RJS",
    	"status": 10
}


Профиль пользователя (profile)

request:

Request URL: [site]/api/profile/

параметры запроса: (string) token

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response: параметры ответа: (object) пример:

{
	"user_id":1,
	"username":"Ivan Pupkin",
	"email":"aaaa@aaa.aa",
	"phone": "423546546546",
	"sex":2, 		// пол 0 - не указан , 1 - женский  , 2 - мужской
	"send_email": 1,
              "send_sms": 0,
               "role": 1,
               "lang": 2,
	"country":219,  		// код страны в базе
	"active_configuration":"1",
	"refcode":"JHE-1GD-T8B-9HB",
	"status":10,       		// 0 - неактивен , 10 - активен
	"token":"1Cyuvr9DKMbB6aFQ-mLPLeGZXFLyuK8d",
}

Список помещений Пользователя (rooms)

request:

Request URL: [site]/api/profile/rooms/

параметры запроса:

(string) token

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

параметры ответа: (object)

Пример ответа:

{
"0":{
	"id":19,  //ID дирректории
	"root_id":0,  //ID корневой дирректории, 0 - верхний уровень
	"user_id":10,
	"lvl":0, // уровень вложенности текущей дирректории
	"name":"Дом",
	"icon_id":21,
	"icon_type":1,
	"color":"#674ea7", //цвет фона
	"position":0,	//позиция сортировки
	"readonly":0,	// если 1 - только для чтения, нельзя изменять
	"visible":1	//активно/неактивно
},
"1":{
	"id":22,
	"root_id":19,
	...
	}
}


Информация о помещении (room-info)

request:

Request URL: [site]/api/profile/room-info/

параметры запроса:

(string) token,

(int) room_id

Пример запроса:

{
	"room_id":22,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

Параметры ответа: (object)

Пример ответа:

{
	"id":19,  //ID локации
	"root_id":0,  //ID корневой локации, 0 - верхний уровень
	"user_id":10,
	"lvl":0, // уровень вложенности текущей локации
	"name":"Дом",
	"icon_id":21,
	"icon_type":1,
	"color":"#674ea7", //цвет фона
	"position":0,	//позиция сортировки
	"readonly":0,	// если 1 - только для чтения, нельзя изменять
	"visible":1	//активно/неактивно
	"devices_ids {  // IDs устройств прикрепленных к комнате
		"0":101,
		"1":103
		} 
}


Список Контроллеров Пользователя (list)

request: Request URL: [site]/api/ctrl/list/

параметры запроса: (string) token

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

параметры ответа: (array)

Пример ответа:

{
"0":{
	"id":"11",
	"name":"AS_A61301A020E4",
	"armed":"0",   //0 - снят с охраны, 1 - под охраной
	"device_ids":"a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}", //ids устройств на контроллере
	"action_ids":"a:0:{}", //ids действий на контроллере
	"timezone":"3",
	"token":"747D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2",
	"online":"1"
},
"1":{
	"id":"12",
	"name":"AS_A61301A020E5",
	"armed":"1",
	"device_ids":"a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}",
	"action_ids":"a:0:{}",
	"timezone":"2",
	"token":"734D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2",
	"online":"0"
}] 


Информация о Контроллере (info)

request: Request URL: [site]/api/ctrl/info/

параметры запроса: (int) controller_id , (string) token

Пример запроса:

{
	"controller_id": 1 ,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

параметры ответа: (object)

Пример ответа:

{
	"id":"6",
	"name":"AS_7F26335CCF4B",
	"armed":"1",
	"device_ids":"a:26:{i:0;i:25;i:1;i:26;i:2;i:28;i:3;i:19;i:4;i:40;i:5;i:41;i:6;i:42;i:7;i:43;i:8;i:36;i:9;i:34;i:10;i:29;i:11;i:45;i:12;i:38;i:13;i:33;i:14;i:30;i:15;i:31;i:16;i:49;i:17;i:24;i:18;i:46;i:19;i:47;i:20;i:44;i:21;i:27;i:22;i:22;i:23;i:9;i:24;i:23;i:25;i:7;}",
	"action_ids":"a:4:{i:0;i:45;i:1;i:46;i:2;i:49;i:3;i:42;}",
	"timezone":"3",
	"token":"660D91C2B0926A8C981AE7DA4AAA4421A3D86D136262A6F8E98ACF534A7A715B",
	"online":"1"
}

Постановка/снятие Контроллера на охрану / с охраны (armed)

request:

Request URL: [site]/api/ctrl/armed/

параметры запроса: (int) controller_id , (string) token пример:

{
	"controller_id": 6 ,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

так как MQTT односторонний - ответа быть не может. Ответ что запрос ушел: response: параметры ответа: пример:

{
	"result": "Ok"
}


Добавление Контроллера (add)

request:

Request URL: [site]/api/ctrl/add

параметры запроса: (string) token

Пример:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response: параметры ответа: пример:

{
	"PIN":"7gDH"
}

После ввода пин-кода необходимо обновить список Контроллеров (/api/ctrl/list/)

Обновление списка устройств и действий на Контроллере (update)

Этап 1 - обновляем список IDS устройств на Контроллере

request:

Request URL: [site]/api/ctrl/update/ параметры запроса: (int) controller_id , (string) token пример:

{
	"controller_id": 6 ,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response: параметры ответа: пример:

{
	"result": "Ok" // "Ok" = запрос ушел
}

Этап 2 - обновляем информацию о каждом устройстве

request: Request URL: [site]/api/ctrl/update-devices/

параметры запроса:

(int) controller_id, (string) token

Пример запроса:

{
	"controller_id": 6 ,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
}

response:

параметры ответа:

Пример ответа:

{
	"result": "Ok" // ответ что запрос ушел
}

Процесс происходит автоматически. Для получения результата требуется таймаут, после чего делается стандартный запрос на получение данных (контроллер, устройства)


Удаление Контроллера (delete)

Request URL: [site]/api/ctrl/delete

Параметры запроса:

Пример запроса:

{
	"token":"8yE-VIQrYuZ2bTeho_lajxjOJPnIe_Yx",
	"controller_id":"81"	
}

response: параметры ответа: пример:

{
	"error":null,
	"data":{"resuls":"Ok"}
}


Список устройств пользователя (list)

request: Request URL: [site]/api/device/list

параметры запроса: (int) controller_id , (string) token

Пример запрса:

{
	"controller_id": 1 ,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response: параметры ответа:

Пример ответа:

{
"0":{
	"id":"122",
	"external_id":"19", //id на контроллере
	"controller_id":"6",
	"name":"Сирена",
	"type_id":"2",  //тип устройства
	"codes":":{     //коды (кнопки)
		"0":{
		"id":"218",
		"external_cod_id":"32",
		"device_id":"122",
		"name":"ON",
		"code":"3675192",
		"protocol":"1",
		"pulse_len":null,
		"group_1":"1",
		"group_2":"0",
		"group_3":"0",
		"group_4":"0",
		"group_5":"0",
		"group_6":"0",
		"group_7":"0",
		"group_8":"0",
		"active":"1"
		}, 
		"1":{ ... }
	},
	"state":"1",
	"on_dashboard":"1", //показывать на главной
	"active":"1"  
},
"1":{
	"id":"120",
	"external_id":"22",
	"controller_id":"6",
	"name":"Пульт 4кн бел",
	"type_id":"3",
	"codes": ... ,
	"state":"1",
	"on_dashboard":"0",
	"active":"1"
}
}  


Информация об устройстве (info)

request:

Request URL: [site]/api/device/info/

параметры запроса:

(int) controller_id,

(int) device_id,

(string) token

Пример запрса:

{
	"controller_id": 1 ,
	"device_id": 122,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

параметры ответа:

Пример ответа:

{
	"id":"122",
	"external_id":"19",
	"controller_id":"6",
	"name":"Сирена",
	"type_id":"2",
	"codes":{
		"0":{
		"id":"218",
		"external_cod_id":"32",
		"device_id":"122",
		"name":"ON",
		"code":"3675192",
		"protocol":"1",
		"pulse_len":null,
		"group_1":"1",
		"group_2":"0",
		"group_3":"0",
		"group_4":"0",
		"group_5":"0",
		"group_6":"0",
		"group_7":"0",
		"group_8":"0",
		"active":"1"
		},
		"1":{
		"id":"219",
		"external_cod_id":"33",
		"device_id":"122",
		"name":"OFF",
		"code":"3675186
		...
		}
	},
	"state":"1",
	"on_dashboard":"1",
	"active":"1"
}

Нажатие кнопки на устройстве (event)

request:

Request URL: [site]/api/device/event/ параметры запроса:

(string) controller_name,

(int) device_external_id,

(int) cod_external_id,

(string) token,

(int) device_type

Пример запроса:

{
	"controller_name": " AS_7F26335CCF4B" ,
	"device_external_id": 19,
	"cod_external_id": 1,
	"device_type": 1,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

так как MQTT односторонний - ответа быть не может. Может быть возвращён ответ, что запрос отправлен: response:

параметры ответа:

Пример ответа:

{
	"result": "Ok"
}


Обновление информации об устройстве (update)

request:

Request URL: [site]/api/device/update/

параметры запроса:

(int) device_id,

(string) name,

(int) active,

(string) token,

Пример запроса:

{
	"device_id": 107,   // local device id
	"name": "New name", // new name
	"active": 1,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

параметры ответа:

Пример ответа:

{
	"resuls" : "Ok"
}

Удаление устройства (delete)

request:

Request URL: [site]/api/device/delete/

параметры запроса:

(int) device_id,

(string) token

Пример запроса:

{
	"device_id": 107,   // local device id
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

Параметры ответа:

Пример ответа:

{
	"resuls" : "Ok"

}


Код:

Получение информации об устройстве(info)

request:

Request URL: [site]/api/property/info/

параметры запроса: (int) controller_id,

(int) device_id,

(int) code_id,

(string) token

Пример запроса:

{
	"controller_id": 6,
	"device_id": 109, 
	"code_id": 192,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"

}

response: параметры ответа:

Пример ответа:

{
	"id":"192",
	"external_cod_id":"67",
	"device_id":"109",
	"name":"4 OFF",
	"code":"12209156",
	"protocol":"1",
	"pulse_len":null,
	"group_1":"1",
	"group_2":"0",
	"group_3":"0",
	"group_4":"0",
	"group_5":"0",
	"group_6":"0",
	"group_7":"0",
	"group_8":"0",
	"active":"1"
}


(create) ??

request: Request URL: [site]/api/ параметры запроса: пример:

{
	
}

response: параметры ответа: пример:

{

}

(update) ??

request:

Request URL: [site]/api/property/update/

Параметры запроса:

(int) device_id,

(int) code_id,

(string)name,

(int) active,

(string) token

Пример запроса:

{
	"device_id": 107,   // local device id
	"name": "New name", // new name
	"active": 1,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

параметры ответа:

Пример ответа:

{
	"resuls" : "Ok"
}

(delete) ??

request:

Request URL: [site]/api/

параметры запроса:

пример: {

} response:

параметры ответа:

пример: {

}


Список действий (list)

request: Request URL: [site]/api/scheduler/list/

параметры запроса: (string) token

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

параметры ответа:

Пример ответа:

{
"0":{
	"id":9,
	"external_id":42,
	"name":"test_form_web",
	"operation":"local",
	"armed":0,
	"type":"meteo",
	"action_id":1,
	"a_controller_id":6,
	"a_device_id":112,
	"a_code_id":0,
	"a_device_external_id":38,
	"a_armed":0,
	"a_conf1":0,
	"a_conf2":0,
	"a_conf3":0,
	"a_conf4":0,
	"a_conf5":0,
	"a_conf6":0,
	"a_conf7":0,
	"a_conf8":0,
	"target_id":1,
	"t_controller_id":6,
	"t_device_id":119,
	"t_code_id":203,
	"t_device_external_id":7,
	"t_armed":0,
	"t_conf1":0,
	"t_conf2":0,
	"t_conf3":0,
	"t_conf4":0,
	"t_conf5":0,
	"t_conf6":0,
	"t_conf7":0,
	"t_conf8":0,
	"date":null,
	"repetition":"0",
	"sensor_type":"1",
	"logic_operation":"=",
	"value":"3",
	"active":1
	},
"1":{
	"id":10,
	"external_id":45
	...
	} 
}


Обновление действий (update)

Запрос осуществляется в 2 этапа: на первом этапе происходит при запросе на обновление Контроллера (см. "Обновление Контроллера"); на втором этапе обновляется информация о каждом действии.

request: Request URL: [site]/api/scheduler/update/

параметры запроса:

(int) controller_id,

(string) token

Пример запроса:

{
	"controller_id": 6 ,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
}

response:

параметры ответа:

Пример ответа:

{
	"result": "Ok" // ответ что запрос ушел
}

Процесс обновления происходит автоматически. Для получения результата требуется таймаут, после чего делается стандартный запрос на получение данных (Контроллер, действия)


Информация о действии (info)

request: Request URL: [site]/api/scheduler/info/

параметры запроса:

(int) scheduler_id,

(string) token

Пример ответа:

{
	"scheduler_id": 122,
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response:

параметры ответа:

Пример ответа:

{
	"id":9,
	"external_id":42,
	"name":"test_form_web",
	"operation":"local",
	"armed":0,
	"type":"meteo",
	"action_id":1,
	"a_controller_id":6,
	"a_device_id":112,
	"a_code_id":0,
	"a_device_external_id":38,
	"a_armed":0,
	"a_conf1":0,
	"a_conf2":0,
	"a_conf3":0,
	"a_conf4":0,
	"a_conf5":0,
	"a_conf6":0,
	"a_conf7":0,
	"a_conf8":0,
	"target_id":1,
	"t_controller_id":6,
	"t_device_id":119,
	"t_code_id":203,
	"t_device_external_id":7,
	"t_armed":0,
	"t_conf1":0,
	"t_conf2":0,
	"t_conf3":0,
	"t_conf4":0,
	"t_conf5":0,
	"t_conf6":0,
	"t_conf7":0,
	"t_conf8":0,
	"date":null,
	"repetition":"0",
	"sensor_type":"1",
	"logic_operation":"=",
	"value":"3",
	"active":1
}


(create)

request: Request URL: [site]/api/ параметры запроса: пример:

  
{
	
}

response: параметры ответа: пример:

 
{

}

(update)

request: Request URL: [site]/api/ параметры запроса: пример:

 
{
	
}

response: параметры ответа: пример:

{

}

(delete)

request: Request URL: [site]/api/login параметры запроса: пример:

{
	
}

response: параметры ответа: пример:

{

}

Логи пользователя (logs)

request:

Request URL: [site]/api/profile/logs/

параметры запроса: (string) token

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae"
}

response: параметры ответа: (object) пример: {

} ________________________________________


Получение метеоданных (last)

request: Request URL: [site]/api/device/meteo-last/

параметры запроса:

(string) token,

(int) device_id

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
	"device_id": 130
}

response:

параметры ответа: (object)

Пример ответа:

{
	"id":"4046",
	"controller_name":"AS_7FD6785CCF5D",
	"internal_id":"55",
	"device_id":"130",
	"name":"7",
	"temp":"240",
	"hum":"245",
	"illum":"0",
	"pres":"1239",
	"volt":"32",
	"date_time":"2016-03-02 21:09:40",
	"new":"0"  
}

Получение метеоданных за период (period)

request:

Request URL: [site]/api/device/meteo-period/

параметры запроса:

(string) token,

(int) device_id,

(int) period

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
	"device_id": 130,
	"period": 1 // количество дней 
}

response:

параметры ответа: (array to objects)

Пример ответа:

[
	{
	"id":"4065",
	"controller_name":"AS_7FD6785CCF5D",
	"internal_id":"55",
	"device_id":"130",
	"name":"7",
	"temp":"240",
	"hum":"523",
	"illum":"0",
	"pres":"1239",
	"volt":"32",
	"date_time":"2017-07-30 21:11:07",
	"new":"0"
	},
	{
	"id":"4067",
	"controller_name":"AS_7FD6785CCF5D
	...
	},
]

Получение данных электропитания (last)

request: Request URL: [site]/api/device/electro-last/

параметры запроса:

(string) token,

(int) device_id

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
	"device_id": 130
}

response:

параметры ответа: (object)

Пример ответа:

{
	"id":"318",
	"controller_id":"11",
	"external_id":"2",
	"device_id":"125",
	"name":"23",
	"token":"747D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2",
	"last_seen":"2017-07-21 04:20:27",
	"available":"1",
	"voltage":"24",
	"have_voltage":"1",
	"current":"2147483647",
	"have_current":"1",
	"supp_voltage":"33",
	"date_create":"2017-07-21 01:20:33",
	"new":"0"
}

Получение данных электропитания за период (period)

request:

Request URL: [site]/api/device/electro-period/

параметры запроса:

(string) token,

(int) device_id,

(int) period

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
	"device_id": 130,
	"period": 1 // количество дней 
}

response:

параметры ответа: (array to objects)

Пример ответа:

[
	{
	"id":"318",
	"controller_id":"11",
	"external_id":"2",
	"device_id":"125",
	"name":"23",
	"token":"747D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2",
	"last_seen":"2017-07-21 04:20:27",
	"available":"1",
	"voltage":"24",
	"have_voltage":"1",
	"current":"2147483647",
	"have_current":"1",
	"supp_voltage":"33",
	"date_create":"2017-07-21 01:20:33",
	"new":"0"
	},
	{
	"id":"318",
	"controller_id":"11",
	...
	},
]

?? Остальные устройства данные (last)

request:

Request URL: [site]/api/device/other-last/

Параметры запроса:

(string) token,

(int) device_id

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
	"device_id": 118
}

response:

параметры ответа: (object)

Пример ответа:

{
	"id":"1301",
	"controller_id":"6",
	"device_id":"118",
	"name":"Розетка",
	"code":"81",
	"pulse_len":null,
	"bit_len":null,
	"protocol":null,
	"groups":null,
	"type":null,
	"date_time":"2017-08-21 04:55:18",
	"active":null,
	"new":"1"
}


?? (period)

request:

Request URL: [site]/api/device/other-period/

параметры запроса:

(string) token,

(int) device_id,

(int) period

Пример запроса: { "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "device_id": 118, "period": 1 // количество дней } response:

параметры ответа: (array to objects)

Пример ответа:

{
	"id":"1301",
	"controller_id":"6",
	"device_id":"118",
	"name":"Розетка",
	"code":"81",
	"pulse_len":null,
	"bit_len":null,
	"protocol":null,
	"groups":null,
	"type":null,
	"date_time":"2017-08-21 04:55:18",
	"active":null,
	"new":"1"
	},
	{
	"id":"4067",
	"controller_id":"6",
	...
}

________________________________________

Ошибки:

параметры ошибки:

пример:

{
	"errors":{
		"password": [
			"Incorrect username."
		]
	}
}

Получение списка иконок мест (places)

Request URL: [site]/api/places/get-icons

Пример ответа:

{
	"error":null,
	"data":{"home":"Home","industry":"Factory","calculator":"Office","shopping-cart":"Market","cubes":"Warehouse","beer":"Bar","building":"Room","flask":"Laboratory","wrench":"Workshop","bell":"Living room","coffee":"Kitchen","car":"Garage","tree":"Outside"}
}


= Получение списка созданных мест (index) =

Request URL: [site]/api/places/index

Request params:

token (required): string, 64

Response: 
<pre>
{
	"error":null,
	"data":{
		"rooms":[{"id":1,"root_id":1,"user_id":424,"lvl":0,"name":"Дом","icon":0,"icon_type":1,"color":"#fff2cc","readonly":0,"visible":1},{"id":2,"root_id":1,"user_id":424,"lvl":1,"name":"Спальня","icon":0,"icon_type":1,"color":"#b6d7a8","readonly":0,"visible":1}]
		}
}


Создание места (create)

Request URL: [site]/api/places/create

Request params:

token (required): string, 64

root (optional): int, default 1

lft (optional): int, from 1 to 5 //В сумме с rgt должно быть 5

rgt (optional): int, from 1 to 5 //В сумме с lft должно быть 5

lvl (optional): int, default 0

name (optional): string, 64, default 'Simple name'

icon (optional): string, default //Допускаемые параметры -- ключи объекта выше

color (optional): string, default: '#ccc' //Любой цвет в формате HEX, решетка в начале обязательна

active (optional): int, default 1

selected (optional): int, default 0

disabled (optional): int, default 0

readonly (optional): int, default 0

visible (optional): int, default 1

collapsed (optional): int, default 0

movable_u (optional): int, default 1

movable_d (optional): int, default 1

movable_l (optional): int, default 1

movable_r (optional): int, default 1

removable (optional): int, default 1

removable_all (optional): int, default 0

inverse_text (optional): string, default 'black'


Response:

{
	error:null,
	data: {'message': 'OK'}
}


Редактирование места (edit)

Request URL: [site]/api/places/edit

Request params:

token (required): string, 64

place_id (required): int

root (optional): int, default 1

lft (optional): int, from 1 to 5 //В сумме с rgt должно быть 5

rgt (optional): int, from 1 to 5 //В сумме с lft должно быть 5

lvl (optional): int, default 0

name (optional): string, 64, default 'Simple name'

icon (optional): string, default //Допускаемые параметры -- ключи объекта выше

color (optional): string, default: '#ccc' //Любой цвет в формате HEX, решетка в начале обязательна

active (optional): int, default 1

selected (optional): int, default 0

disabled (optional): int, default 0

readonly (optional): int, default 0

visible (optional): int, default 1

collapsed (optional): int, default 0

movable_u (optional): int, default 1

movable_d (optional): int, default 1

movable_l (optional): int, default 1

movable_r (optional): int, default 1

removable (optional): int, default 1

removable_all (optional): int, default 0

inverse_text (optional): string, default 'black'


Response:

{
	error:null,
	data: {'message': 'OK'}
}

Удаление места (delete)

Request URL: [site]/api/places/delete

Request params:

token (required): string, 64

place_id (required): int

Response:

{
	error:null,
	data: {'message': 'OK'}
}

Обновление статуса контроллера (update-status)

request:

Request URL: [site]/api/ ctrl/update-status/

Параметры запроса:

(string) token,

(int) controller_id

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
	"controller_id": 122
}

response:

параметры ответа:

Пример ответа:

{
	"error":null,
	"data":{
		"resuls":"Ok"
		}
}

Получение актуального статуса Контроллера (get-status)

request:

Request URL: [site]/api/ ctrl/get-status/

параметры запроса:

(string) token,

(int) controller_id

Пример запроса:

{
	"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae",
	"controller_id": 122
}

response:

параметры ответа:

Пример ответа:

{
	"error":null,
	"data":{
		"status":1
		}
}

Поле “status” может принимать следующие значения: • 0 – офлайн • 1 – онлайн • 2 – онлайн, после включения питания

Добавление устройств через wizard

Датчик открытия двери (create-door-open-sensor)

URL: [site]/api/wizard/create-door-open-sensor

Params: controller_id (required): int token (required): string, 64 device_name (optional): string, 256 code_ready (optional): string, 64 //Название кода готовности code_alarm (optional): string, 64 //Название кода оповещания code_low_battery (optional): string, 64 //Название кода садящейся батареи

RESPONSE:

{
	data:{
		'response': 'OK'
		},
	error: null
}

После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ.


Датчик затопления (create-flood-sensor)

Request URL: [site]/api/wizard/create-flood-sensor

Params:

controller_id (required): int

token (required): string, 64

device_name (optional): string, 256 code_alarm (optional): string, 64 //Название кода оповещения

code_tamper (optional): string, 64 //Название кода вмешательства

code_low_battery (optional): string, 64 //Название кода садящейся батареи

RESPONSE:

{
	data: {
		'response': 'OK'
		},
	error: null
}

После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ.


Пульт,4 кнопки (create-console)

Request URL: [site]/api/wizard/create-console

Params:

controller_id (required): int

token (required): string, 64

device_name (optional): string, 256

code_lock (optional): string, 64 //Название кода блокировки

code_unlock (optional): string, 64 //Название кода разблокировки

code_s (optional): string, 64 //Название кода s

code_alarm (optional): string, 64 //Название кода оповещения

RESPONSE:

{
	data: {
		'response': 'OK'
	},
	error: null
}

После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ.


Сирена (create-siren)

Request URL: [site]/api/wizard/create-siren

Params:

controller_id (required): int

token (required): string, 64

device_name (optional): string, 256

code_on (optional): string, 64 //Название кода включения

code_off (optional): string, 64 //Название кода выключения

code_blank (optional): string, 64 //Название кода blank

RESPONSE:

{
	data: {
		'response': 'OK'
		},
	error: null
}

Перед отправкой параметров необходимо перевести сирену в режим обучения.


Метеостанция: получение списка обнаруженных метеостанций за последние 10 минут (get-meteos)

Request URL: [site]/api/wizard/get-meteos

Params:

controller_id (required): int

token (required): string, 64

RESPONSE:

{
	"error":null,
	"data":				 	[{"id":"93","controller_id":"79","date":"1528389351","type":"7","family":"0","rf_code":null,"rf_bit_len":null,"rf_pulse_len":null,"rf_protocol":null,"rf_freq":null,"ir_code":null,"ir_bit_len":null,"ir_address":null,"ir_protocol":null,"meteo_num":"0"}]
}

Метеостанция: добавление (create-meteo)

Request URL: [site][site]/api/wizard/create-meteo

Params:

controller_id (required): int

token (required): string, 64

meteo_num (required): int //Получается в списке выше

device_name (optional): string, 256

RESPONSE:

{
	"error":null,
	"data":{
		"response":"OK"
		}
}


Водопроводный кран

Порядок добавления крана: 1) Сгенерировать коды 2) Зажать на кране кнопку, пока кран не мигнёт трижды 3) Отправить один код 4) Нажать на кране кнопку однократно 5) Зажать на кране кнопку, пока не мигнёт 4 раза 6) Отправить второй код из сгенерированных 7) Нажать на кране кнопку однократно 8) Отправить запрос на создание крана.


Генерация кодов

Request URL: [site]/api/wizard/create-codes

Params:

controller_id (required): int

token (required): string, 64

Response:

{
	"error":null,
	"data":{"response":{"id":30,"masks":"[6,4,0,1]","code_1":"9920950","code_2":"9920948","code_3":"9920944","code_4":"9920945"}
		}
}


Выполнение кода

Request URL: [site]/api/wizard/execute-code

Params:

controller_id (required): int

token (required): string, 64

code (required): int // Берется из сгенерированных

Response:

{
	error: null,
	data: {
		"response":"OK"
		}
}

Добавление крана

Request URL: [site]/api/wizard/create-crane-by-codes

Params:

controller_id (required): int

token (required): string, 64

code_1 (required): int

code_2 (required): int

device_name (optional): string, 256

code_open (optional): string, 64 //Название кода открытия

code_close (optional): string, 64 //Название кода закрытия

RESPONSE:

{
	data:{'response': 'OK'},
	error: null
}

Добавление розетки

порядок добаления розетки следующий:

1) Сгенерировать коды

2) Зажать на розетке кнопку, пока она не начнет мигать

3) Отправить один код

4) Зажать на розетке кнопку, пока она не начнет мигать

5) Отправить второй код из сгенерированых

6) Отправить запрос на создание розетки


Генерация кодов (create-codes)

Request URL: [site]/api/wizard/create-codes

Params:

controller_id (required): int

token (required): string, 64

socket (required): любое значение.

Response:

{
	"error":null,
	"data":{
		"response":{"id":30,"masks":"[257, 258]","code_1":"8737025","code_2":"8737026"}
		}
}


Выполнение кода (execute-code)

Request URL: [site]/api/wizard/execute-code

Params:

controller_id (required): int

token (required): string, 64

code (required): int // Берется из сгенерированных

Response

{
	error: null,
	data: {'response' => 'OK'}
}


Добавление розетки (create-socket)

Request URL: [site]/api/wizard/create-socket

Params:

controller_id (required): int

token (required): string, 64

code_1 (required): int

code_2 (required): int

device_name (optional): string, 256

code_off (optional): string, 64 //Название кода открытия

code_on (optional): string, 64 //Название кода закрытия

RESPONSE:

{
	data: {'response':'OK'},
	error: null
}


Изменение имени кода (update-code-name)

Request URL: [site]/api/device/update-code-name

Request Params:

token (required): string(64)

code_id (required): int

name (optional): string(255)

SUCCESS RESPONSE:

{
	data: {
		'message': "OK"
		},
	error: null
}


?? Получение кодов по семейству (get-codes-by-subtype)

Request URL: [site]/api/device/get-codes-by-subtype

Request Params:

token (required): string(64)

device_subtype_id (optional): int, default 0.


???? методы управлениями places

Request URL: [site]/api/places/index (дубликат метода /api/profile/rooms)


Создание места (create)

Request URL: [site]/api/places/create

Request params:

token (required) : string(64);

root (optional): int, default 1;

lft (optional): int, default 1;

rgt (optional): int, default 4;

lvl (optional): int, default 0;

name (optional): string(255), default "Simple name";

icon (optional): string(255), default "";

icon_type (optional): int, default 1;

color (optional): string(8), default "#ccc";

active (optional): int, default 1;

selected (optional): int, default 0;

disabled (optional): int, default 0;

readonly (optional): int, default 0;

visible (optional): int, default 1;

collapsed (optional): int, default 0;

movable_u (optional): int, default 1;

movable_d (optional): int, default 1;

movable_l (optional): int, default 1;

movable_r (optional): int, default 1;

removable (optional): int, default 1;

removable_all (optional): int, default 0;

inverse_text (optional): string(6), default "black";

Response:

{
	data: {"message" => "OK"},
	error: null
}


Редактирование места (edit)

Request URL: [site]/api/places/edit

Request params:

token (required) : string(64);

place_id (required) : int;

root (optional): int, default 1;

lft (optional): int, default 1;

rgt (optional): int, default 4;

lvl (optional): int, default 0;

name (optional): string(255), default "Simple name";

icon (optional): string(255), default "";

icon_type (optional): int, default 1;

color (optional): string(8), default "#ccc";

active (optional): int, default 1;

selected (optional): int, default 0;

disabled (optional): int, default 0;

readonly (optional): int, default 0;

visible (optional): int, default 1;

collapsed (optional): int, default 0;

movable_u (optional): int, default 1;

movable_d (optional): int, default 1;

movable_l (optional): int, default 1;

movable_r (optional): int, default 1;

removable (optional): int, default 1;

removable_all (optional): int, default 0;

inverse_text (optional): string(6), default "black";

Response:

{
	data: {"message": "OK"},
	error: null
}


Удаление места (delete)

Request URL: [site]/api/places/delete

Request params:

token (required): string(64);

place_id (required): int;

Response:

{
	data:{"message": "OK"},
	error: null
} 

Получение иконок мест (get-icons)

Request URL: [site]/api/places/get-icons

Response:

{
	data:{
		"home":"Home",
		"industry": "Factory",
		...
		},
	error: null
}


Удаление устройства (remove-device)

Request URL: [site]/api/device/remove-device

PARAMS:

token (required): string (64)

device_id (required): int

SUCCESS RESPONSE:

{
	data: {message: 'OK'},
	error: null
}


?? Добавление кодов (??)

?? Получение списка кодов и подходящих устройств (get-codes)

Request URL: [site]/api/device/get-codes

PARAMS: token (required): string 64

controller_id (required): int

SUCCESS RESPONSE:

{
	data: [
		{
			devices:	[
			{
				id:	13
				external_id:	7,
				controller_id:	5,
				name:	"Simple device",
				type_id:	2,
				password:	null,
				codes:	"a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}",
				state:	1,
				on_dashboard:	0,
				active:	1,
				new:	1,
				family:	DEVICE_FAMILY_RADIO,
				camera_id:	null,
				camera_host:	null
			},
			{
				id:	14
				external_id:	8,
				controller_id:	5,
				name:	"Simple device",
				type_id:	2,
				password:	null,
				codes:	"a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}",
				state:	1,
				on_dashboard:	0,
				active:	1,
				new:	1,
				family:	DEVICE_FAMILY_RADIO,
				camera_id:	null,
				camera_host:	null
			},
		],
		code: {
			id:	12,
			controller_id: 5,
			device_type_id:	2,
			code: 498654,
			protocol: 1,
			bit_len: 32,
			pulse_len:	86,
			freq:	77,
			address:	94,
			num:	1,
			date_create: '2018-04-13 18:29:11"

		}
		}, 

		{
			devices:	[
			{
				id:	13
				external_id:	7,
				controller_id:	5,
				name:	"Simple device",
				type_id:	2,
				password:	null,
				codes:	"a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}",
				state:	1,
				on_dashboard:	0,
				active:	1,
				new:	1,
				family:	DEVICE_FAMILY_RADIO,
				camera_id:	null,
				camera_host:	null
			},
			{
				id:	14
				external_id:	8,
				controller_id:	5,
				name:	"Simple device",
				type_id:	2,
				password:	null,
				codes:	"a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}",
				state:	1,
				on_dashboard:	0,
				active:	1,
				new:	1,
				family:	DEVICE_FAMILY_RADIO,
				camera_id:	null,
				camera_host:	null
			},
		],
		code: {
			id:	12,
			controller_id: 5,
			device_type_id:	2,
			code: 498654,
			protocol: 1,
			bit_len: 32,
			pulse_len:	86,
			freq:	77,
			address:	94,
			num:	1,
			date_create: '2018-04-13 18:29:11"

		}
		}, 
	},
	error: null,
}


Добавление кода к устройству (set-code-to-device)

Request URL: [site]/api/device/set-code-to-device

PARAMS:

token (required): string 64

code_id (required): int

device_id (required): int

name (optional): string 256

SUCCESS RESPONSE:

{
	data:	{
		id: 5,
		external_cod_id: 15,
		device_id: 14,
		name: "Name"
		code: 8463517,
		protocol: 0,
		pulse_len:	86, 
		active: 1,
	},
	error: null
}


Удаление устройства (remove-device)

Request URL: [site]/api/device/remove-device PARAMS:

token (required): string 64

device_id (required): int

SUCCESS RESPONSE:

{
	data:	{
		message: "OK"
	},
	error: null
}

Удаление кода (remove-code)

Request URL: [site]/api/device/remove-code PARAMS:

token (required): string 64

code_id (required): int

SUCCESS RESPONSE:

{
	data:	{
		message: "OK"
	},
	error: null
}


передача локального IP Контроллера (get-ip)

Request URL: [site]/api/ctrl/get-ip

Request Params:

token (required): string(64);

controller_id (required): int;

SUCCESS RESPONSE:

{
	data:'192.168.0.15',
	error: null
}


?? Активация подписки Ebus -

Получение состояния подписки на Контроллере - “in/subscription/get”:

{
	"id": 1, // ID подписки (см. ниже)
	"seq_id": 0
}

Ответ:

{
	"seq_id": 0,
	"remain_time": 100, // оставшееся время в секундах, 4294967295 – неограниченно
	"success": 0/1
}

Установка подписки на Контроллере - “in/subscription/set”:

{
	"seq_id": 0,
	"id": 1, // ID подписки (см. ниже)
	"remain_time": 100 // оставшееся время в секундах, 4294967295 - неограниченно
}

Ответ:

{
	"seq_id": 0,
	"success": 0/1
}

Идентификаторы подписок: SUBSCRIPTION_EBUS = 1

Статус Контроллера

Контроллер отправляет информацию о своем онлайн/оффлайн статусе в топик “out/status”.

Формат сообщения:

{
	"status": 1 // см. ниже
}

Поле “status” может принимать следующие значения:

• "0" – оффлайн

• "1" – онлайн

• "2" – онлайн, после включения питания

При получении сообщения со статусом "2", портал должен отправить Контроллеру информацию о пользовательских подписках, как это описано в разделе «Подписки».


?? Установка подписки на Контроллере - “in/subscription/set”:

{
	"seq_id": 0,
	"id": 1, // ID подписки (см. ниже)
	"remain_time": 100 // оставшееся время в секундах, 4294967295 - неограниченно
}
<pre>

==  Просмотр статуса подписки (get-subscribe-status) ==

Request URL: [site]/api/ctrl/get-subscribe-status

params:

token (required): string(64)

controller_id (required): int

response:

{data:{id: 1, controller_id: 40, user_id: 424, remain_time: 100, request_time: 1355314332, response_time: 1355315332, success: 0}, error: ''}


==  Активация/продление/покупка подписки (set-subscribe) ==


Request URL: [site]/api/ctrl/set-subscribe

params:

token (required): string(64)

controller_id (required): int

response:
<pre>
{
	data:{
		id: 1,
		controller_id: 40,
		user_id: 424,
		remain_time: 100,
		request_time: 1355314332,
		response_time: 1355315332,
		success: 0
	},
	error: ''
}


? Метод получения списка телефонов (get-phones)

Request URL: [site]/api/ctrl/get-phones

Params:

token (required): string, 64

controller_id (required): int

type (optional): string, range ['recipient', 'authorized', 'all'], default 'all'

Response:

{
	'error': null,
	data: [
		{'id': 5, 'phone': '+380123456789'},
		{'id': 6, 'phone': '+380123334455'},
		{'id': 7, 'phone': '+380112223344'}
	]
}


Редактирование телефона (edit-phone)

Request URL: [site]/api/ctrl/edit-phone

Params:

token (required): string, 64

phone_id (required): int

is_recipient (optional): int

is_authorized (optional): int

phone (optional): string

Response:

{
	"error":null,
	"data":{
		"id":2,
		"controller_id":81,
		"phone":"+380503334455",
		"is_recipient":"1",
		"is_authorized":0
	}
}


Удаление телефона (delete-phone)

Request URL: [site]/api/ctrl/delete-phone

Params:

token (required): string, 64

phone_id (required): int

Response:

{
	"error":null,
	"data":{"response":"OK"}
}

Добавление телефона (add-phone)

Request URL: [site]/api/ctrl/add-phone

Params:

token (required): string, 64

controller_id (required): int

phone (required): string

is_recipient (optional): int

is_authorized (optional): int

Response:

{
	"error":null,
	"data":{
		"id":2,
		"controller_id":81,
		"phone":"+380503334455",
		"is_recipient":"1",
		"is_authorized":0
	}
}