База знаний Waviot

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

ID статьи: 68
Последнее обновление: 15 Mar, 2021

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

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

Запрос:

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

Ответ:

HTTP/1.1 200 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": "Србија"
    }
  }
}

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

Запрос:

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

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

HTTP/1.1 200 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
  }
}

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

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Авторизуйтесь заново",
  "code": 400
}

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

Запрос:

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

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

HTTP/1.1 200 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"
    }
  ]
}

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

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Авторизуйтесь заново",
  "code": 400
}

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

Запрос:

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

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

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

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


GET https://lk.waviot.ru/api.modem/get_stats/

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

HTTP/1.1 200 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
    }
  }
}

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

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Авторизуйтесь заново",
  "code": 400
}

Или

HTTP/1.1 404 Not Found
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Модем не найден",
  "code": 404
}

Или

HTTP/1.1 403 Forbidden
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Доступ к этому модему запрещён",
  "code": 403
}

Информация о калибровке и истории калибровок счётчика с определённым ID

Запрос:

GET https://lk.waviot.ru/api.device/get_calibrations/?modem=713C75
Accept: application/json
Cookie: WAVIOT_JWT=[JWT]

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

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

[{
    "timestamps": {
       "action": 1572269563,
       "calibration": 1568106000
    },
    "calibration": {
       "hot": {
          "state": "Y",
          "offset": 2,
          "scaler": 0.01,
          "serial": "",
          "impulses": null
       },
       "cold": {
          "state": "Y",
          "offset": 1,
          "scaler": 0.01,
          "serial": "",
          "impulses": null
       },
       "timestamp": 1568106000
    },
    "user": {
       "id": 1000,
       "name": "Иван Николаевич Наделяев",
       "role": "admin",
       "email": "info@waviot.ru",
       "username": "ivan" 
     }
 }]

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

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Авторизуйтесь заново",
  "code": 400
}

Или

HTTP/1.1 404 Not Found
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Модем не найден",
  "code": 404
}

Или

HTTP/1.1 403 Forbidden
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Доступ к этому модему запрещён",
  "code": 403
}

GET https://lk.waviot.ru/api.modem/get_stats/

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

HTTP/1.1 200 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
    }
  }
}

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

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Авторизуйтесь заново",
  "code": 400
}

Или

HTTP/1.1 404 Not Found
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Модем не найден",
  "code": 404
}

Или

HTTP/1.1 403 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

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

HTTP/1.1 200 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"
  }
}

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

HTTP/1.1 404 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]

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

HTTP/1.1 200 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
        }
      ]
    }
  }
}

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

HTTP/1.1 404 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]

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

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

{
  "status": "ok",
  "channel": "160",
  "values": {
    "1565600010": "73.7787",
    "1565600035": "73.7860"
  }
}

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

Запрос:

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

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

HTTP/1.1 200 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 конечного элемента дерева, к которому привязан абонент (только для конечных абонентов!)

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

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

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

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

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8

{
  "status": "error",
  "message": "Авторизуйтесь заново",
  "code": 400
}

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

GET https://lk.waviot.ru/api.tree/get_modems/?id=5921
Cookie: WAVIOT_JWT=[JWT]

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

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

Запрос для получения списка возможных источников данных

GET https://lk.waviot.ru/api.tree/get_data_source_list/ HTTP/1.1
Cookie: WAVIOT_JWT=[JWT]

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

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
    "1": {
       "url": "localhost",
       "create_ts": 1568705347,
       "description": "local mysql db" 
    },
    "2": {
       "url": "https://api.waviot.ru/api/eav?type=#!#type#!#&modem_id=#!#modems_id#!#&obis_code=#!#obis_codes#!#&from=#!#from#!#&to=#!#to#!#&limit=#!#limit#!#",
       "create_ts": 1568705347,
       "description": "api db" 
    }
 }

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

PUT https://lk.waviot.ru/api.tree/set_data_source/ HTTP/1.1
Content-type: application/json
Cookie: WAVIOT_JWT=[JWT]

{
    "tree_id": 26007,
    "source": 2
}

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

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

{
    "status": "ok" 
}

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

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8

{
    "status": "error",
    "message": "Авторизуйтесь заново",
    "code": 400
}

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

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

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

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

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


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

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

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

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

GET https://lk.waviot.ru/api.tree/get_summary/
Authorization: bearer [JWT]

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

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

POST https://lk.waviot.ru/api.modem/switch_power/
Authorization: bearer [JWT]

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

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

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

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

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

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

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

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

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


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

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

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

GET https://lk.waviot.ru/api.event/info/
Authorization: bearer [JWT]

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

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

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

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

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

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

{
  "status": "ok",
  "names": {
    "1": "Дневной тариф",
    "2": "Ночной тариф",
    "3": "Полупиковый тариф",
    "4": "Тарифная зона 4"
  }
}

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

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

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

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

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

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

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

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

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

POST https://lk.waviot.ru/api.data/save_manuals/

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

HTTP/1.1 200 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--

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

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

{
  "status": "ok"
}

Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 68
Последнее обновление: 15 Mar, 2021
Ревизия: 21
Просмотры: 128
Комментарии: 0
Также прочтите