API личного кабинета ЖКХ

Последние изменения: 17.04.2020

!!! Важно. Количество активных сессий ограничено 30 на один аккаунт. Пожалуйста не забывайте закрывать сессии если перестали работать с сервисом. Например: скрипт закончил работу, в десктопном или мобильном приложение пользователь нажал выход или закрыл приложение.При превышении активных сессии ошибка http 429

API личного кабинета ЖКХ

Переда началом работы не забудьте авторизоваться для получения JWT

Дополнительную информацию об использовании API можно найти тут: https://lk.waviot.ru/api/

Получение основной информации о личном кабинете ЖКХ

Запрос:

GET https://lk.waviot.ru/api.general/info/

Ответ:

<pre><code><b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8 { "status": "ok", "config": { "domain": "lk.waviot.ru", "logo": "/icons/logo.png", "title": "WAVIoT", "support_email": "support@waviot.ru", "support_site": "https://waviot.makekb.com/28/", "locales": { "ru_RU": "Русский", "ua_UA": "Украинский", "en_US": "English", "mn_MN": "Монгол", "rs_RS": "Србија" } } } </code></pre>

Получение основной информации о модеме

Запрос:

GET https://lk.waviot.ru/api.modem/info/?id=70B3B9 Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8  {   "status": "ok",   "modem": {     "id": "70b3b9",     "modem_type": "5",     "protocol_id": "13",     "last_station_time": "1545279156",     "last_config_time": null,     "hw_version": "3",     "sw_version": "43",     "temperature": "19",     "battery": "3.49",     "battery_type": "1",     "is_balance": null,     "last_info_message": "1544728036",     "dl_change_timestamp": null   } }  

Ответ при неудачном выполнении запроса:

<pre><code><b>HTTP/1.1 400</b> Bad Request Content-Type: application/json; charset=UTF-8 { "status": "error", "message": "Авторизуйтесь заново", "code": 400 } </code></pre>

История изменения температуры и напряжения на батарейке модема

Запрос:

GET https://lk.waviot.ru/api.modem/history/ Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8  {   "status": "ok",   "history": [     {       "timestamp": "1544728036",       "temperature": null,       "voltage": "3.49"     },     {       "timestamp": "1544126559",       "temperature": null,       "voltage": "3.49"     }   ] } 

Ответ при неудачном выполнении запроса:

<pre><code><b>HTTP/1.1 400</b> Bad Request Content-Type: application/json; charset=UTF-8 { "status": "error", "message": "Авторизуйтесь заново", "code": 400 } </code></pre>

Полные данные о модеме/счётчике

Запрос:

GET https://lk.waviot.ru/api.modem/full_info/?id=749FA3 Authorization: bearer [JWT] 

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8  

Ответ при неудачном выполнении запроса:



<pre><code>GET https://lk.waviot.ru/api.modem/get_stats/</code></pre>

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8  {   "status": "ok",   "info": {     "modem_id": "749FA3",     "image": "/img/devices/phobos_1.png",     "vector_diagram": false,     "power_state": null,     "power_limit": 0,     "description": "Фобос однофазный непосредственного включения",     "serial": "7643043",     "last_message": "13 августа в 12:20",     "temperature": null,     "timezone": {       "code": "Europe/Moscow",       "name": "Европа/Москва"     },     "hardware_version": "1.1.2.0",     "software_version": "1.1.4.0",     "rssi": "-103",     "snr": "52",     "station_id": "9493",     "billing_date": null,     "produce_date": "15.09.2018",     "verification": {       "type": "primary",       "date": "15.09.2018",       "interval": "16 лет",       "expires": "14.09.2034"     },     "is_transform": false,     "transform": {       "current": 1,       "voltage": 1     }   } } 

Ответ при неудачном выполнении запроса:

<b>HTTP/1.1 400</b> Bad Request Content-Type: application/json; charset=UTF-8  {   "status": "error",   "message": "Авторизуйтесь заново",   "code": 400 }  

Или

<pre><code><b>HTTP/1.1 404</b> Not Found Content-Type: application/json; charset=UTF-8 { "status": "error", "message": "Модем не найден", "code": 404 } </code> </pre>

Или

<b>HTTP/1.1 403</b> Forbidden Content-Type: application/json; charset=UTF-8  {   "status": "error",   "message": "Доступ к этому модему запрещён",   "code": 403 }  

Получение даты последнего NB-Fi сообщения

Запрос:

GET https://lk.waviot.ru/api.modem/get_last_message/?id=70B3B9

Ответ при успешном выполнении запроса:

<pre><code><b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8 { "status": "ok", "packet": { "id": "190426829", "modem_id": "70b3b9", "received_time": "1545279161", "event_time": "1545279156", "protocol_id": "13", "data": "919CD50100AAAAAA", "processed": "Y", "iterator": "29", "snr": "4", "type": "hourly", "seq_id": "0", "seq_size": "0" } }</code></pre>

Ответ при неудачном выполнении запроса:

<b>HTTP/1.1 404</b> Not Found Content-Type: application/json; charset=UTF-8  {   "status": "error",   "message": "Модем не найден",   "code": 404 }

Получение списка показаний счётчика

Запрос:

GET https://lk.waviot.ru/api.data/get_values/?modem_id=708C15 Authorization: bearer [JWT] 

Ответ при успешном выполнении запроса:

<pre><code><b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8 { "status": "ok", "registrators": { "102186": { "id": 102186, "name": "", "channel": "cold", "unit_id": "m³", "offset": 1.84, "modem_id": "708c15", "modem_value": 4, "last_value": 73.926, "last_value_timestamp": 1565686435, "billing_init_value": null, "billing_init_timestamp": 1494052292, "values": [ { "timestamp": 1562105719, "value": 71.4433, "interpolated": 1 }, { "timestamp": 1562109319, "value": 71.4433, "interpolated": 1 }, { "timestamp": 1562112919, "value": 71.4433, "interpolated": 1 } ] } } } </code></pre>

Ответ при неудачном выполнении запроса:

<b>HTTP/1.1 404</b> Not Found Content-Type: application/json; charset=UTF-8  {   "status": "error",   "message": "Модем не найден",   "code": 404 }

Получение значений счётчика по каналам

Запрос:

GET https://lk.waviot.ru/api.data/get_modem_channel_values/?modem_id=708C15&channel=160&from=1565686434&to=1565600035 Authorization: bearer [JWT] 

Ответ при успешном выполнении запроса:

<pre><code><b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8 { "status": "ok", "channel": "160", "values": { "1565600010": "73.7787", "1565600035": "73.7860" } } </code></pre>

Получение полной информации об элементе дерева

Запрос:

GET https://lk.waviot.ru/api.data/get_full_element_info/?id=16550 Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8  {   "status": "ok",   "devices": {     "67360": {       "id": "67360",       "name": "",       "class_name": "Water",       "device_sn": null,       "modem_id": "708b65",       "device_time": null,       "config_time": "0",       "timezone": "Europe/Moscow",       "registrators": {         "cold": {           "id": "99296",           "name": "",           "channel_id": "160",           "unit_id": "16",           "offset": "1.8740",           "modem_value": "4",           "last_value": "341.8520",           "last_value_timestamp": "1555957769",           "billing_init_value": null,           "billing_init_timestamp": "1493628856"         },         "water_event_log": {           "id": "99308",           "name": "",           "channel_id": "water_event_log",           "unit_id": "-",           "offset": "0.0000",           "modem_value": null,           "last_value": null,           "last_value_timestamp": null,           "billing_init_value": "0.0000",           "billing_init_timestamp": "1505174400",           "events": [             {               "timestamp": "1505215020",               "code": "4.0000"             },             {               "timestamp": "1505125740",               "code": "4.0000"             }           ]         }       }     }   } }

Получаем id конечного элемента дерева, к которому привязан абонент (только для конечных абонентов!)

<pre><code>GET https://lk.waviot.ru/api.tree/get_element/ Authorization: bearer [JWT]</code></pre>

Ответ при успешном выполнении запроса:

<pre><code><b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8</code></pre>

Ответ при неудачном выполнении запроса:

<b>HTTP/1.1 400</b> Bad Request Content-Type: application/json; charset=UTF-8  {   "status": "error",   "message": "Авторизуйтесь заново",   "code": 400 } 

Получение списка доступных модемов для данного элемента дерева

<pre><code>GET https://lk.waviot.ru/api.tree/get_modems/?id=5921 Authorization: bearer [JWT]</code></pre>

Ответ при успешном выполнении запроса:

<pre><code><b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8</code></pre>

Ответ при неудачном выполнении запроса:

Получение списка событий счётчика

GET https://lk.waviot.ru/api.data/get_events/ Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<pre><code><b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8</code></pre>

Ответ при неудачном выполнении запроса:

Информация по балансу элемента дерева

GET https://lk.waviot.ru/api.data/get_balance_info/?from=1510866000&to=1513458000&elementId=19063 Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<pre><code><b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8</code></pre> <pre><code>GET https://lk.waviot.ru/api.tree/get_summary/ Authorization: bearer [JWT]</code></pre>

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8
POST https://lk.waviot.ru/api.modem/switch_power/ Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8
GET https://lk.waviot.ru/api.modem/get_downlink_status/ Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8

<pre><code>GET https://lk.waviot.ru/api.modem/limit_power/ Authorization: bearer [JWT]</code></pre>

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8

Ответ при неудачном выполнении запроса:

GET https://lk.waviot.ru/api.modem/get_vector_diagram/ Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8
GET https://lk.waviot.ru/api.event/info/ Authorization: bearer [JWT]

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8

Получение обозначений для каждого из тарифов

<pre><code>GET https://lk.waviot.ru/api.general/tariff_names/</code></pre>

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8  {   "status": "ok",   "names": {     "1": "Дневной тариф",     "2": "Ночной тариф",     "3": "Полупиковый тариф",     "4": "Тарифная зона 4"   } }

Получение актуального текста пользовательского соглашения

GET https://lk.waviot.ru/api/agreement/

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8

Получение актуального текста политики конфиденциальности

GET https://lk.waviot.ru/api/privacy/

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8

Получение актуального текста политики использования cookies

<pre><code>POST https://lk.waviot.ru/api.data/save_manuals/</code></pre>

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8

Отправка запроса в техподдержку

POST https://lk.waviot.ru/api.general/support_request/ Authorization: bearer [JWT] Content-Type: multipart/form-data; boundary="Asrf456BGe4h"  --Asrf456BGe4h Content-Disposition: form-data; name="email"  example@waviot.com --Asrf456BGe4h Content-Disposition: form-data; name="phone"  +7 900 000-00-00 --Asrf456BGe4h Content-Disposition: form-data; name="full_name"  Наделяев Иван Алексеевич --Asrf456BGe4h Content-Disposition: form-data; name="message"  Рыбным текстом называется текст, служащий для временного наполнения макета в публикациях или производстве веб-сайтов, пока финальный текст еще не создан. Рыбный текст также известен как текст-заполнитель или же текст-наполнитель. Иногда текст-«рыба» также используется композиторами при написании музыки. --Asrf456BGe4h Content-Disposition: form-data; name="file1"; filename="mouse.jpg"  [file content] --Asrf456BGe4h Content-Disposition: form-data; name="screenshot"; filename="later.jpg"  [file content] --Asrf456BGe4h--

Ответ при успешном выполнении запроса:

<b>HTTP/1.1 200</b> OK Content-Type: application/json; charset=UTF-8  {   "status": "ok" }

Помогла ли вам статья?