nchts/ssduu-api-client

API Системы сбора данных с узлов учёта

v1.0 2019-07-31 10:16 UTC

This package is auto-updated.

Last update: 2024-09-19 22:21:21 UTC


README

Общие сведения

Версия протокола: 1.0 Источник данных: http://84.18.104.172/api/v1

Сначала выполняется аутентификация через POST запрос с передачей имени пользователя и пароля. После положительного ответа необходимо использовать возвращённый Токен во всех остальных запросах. Эти запросы должны выполняться через заголовок Bearer методом POST. Все ответы возвращаются в формате JSON. Подробнее об HTTP Bearer авторизации можно прочитать здесь: https://tools.ietf.org/html/rfc6750 Простое описание протокола Bearer заключается во включении в заголовки запроса следующей строки:

Authorization: Bearer {TOKEN}

Например:

Authorization: Bearer mFc9dB5f-4.1JqM

Установка тестового примера

composer create-project nchts/ssduu-api-client

Запуск :

php run.php

Аутентификация через API

Формат POST запроса: /user/login?username={username}&password={password}

Если учётная запись принята, то в качестве вернётся AccessToken, который необходимо использовать во всех остальных запросах.

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

[{"access_token": "LKdVAB7_1XDiWhNjnoJvZOFNI7dbutb"}]

Информация об узлах учёта

Параметры возвращаемого объекта:

Форматы представлены в типах базы данных, в скобках указана длина.

Пример использования:

Запрос списка всех узлов учёта: /device/list

Часть ответа, который представляет собой массив с объектами:

[{"id":"102770","address":" \"Лицей-интернат №79\" (д.48/19)","address_full":"Ул. Татарстан,31","identifier":"4801901","serial":"901490","commercial":true,"company_name":"Управление образования","device_type":"ТСРВ-024М", ”last_archive_day”:”23.07.2019 23:00:00”}, {"id":"102865","address":" \"Средняя школа №33\" (д.25/22)","address_full":"г.Набережные Челны . ул.Татарстан, д 14","identifier":"2502201","serial":"902750","commercial":true,"company_name":"Управление образования","device_type":"ТСРВ-024М", ”last_archive_day”:”23.07.2019 23:00:00”}, … ]

Получение начала и окончания архива

Может быть необходимо при первоначальной загрузке данных. Формат запроса: /archive/range?id={id}

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

[{"start": "01.06.2010", "end": "23.07.2019"}]

Архивы теплосистемы c холодной водой

Количество запрашиваемых архивов ограничено 200 записями за один запрос.

Параметры возвращаемого объекта:

Формат* - где число до запятой – общее число знаков, а после запятой – точность дробной части. Например, time = 01.07.2019; hours = 23,59; v5 = 12,371; t5 = 16,32; p5 = 6.32.

Формат запроса:

/archive/read-cold-water?id={id}& start={start}& end={end}

Где:

  • {id} – Ключ узла учёта;
  • {start} - Начала периода в формате ДД.ММ.ГГГГ;
  • {end} - Окончание периода в формате ДД.ММ.ГГГГ. Если данный параметр не будет указан, то выборка будет производится по максимальному количеству строк для запроса – 200 строк.

Пример использования:

Запрос: /archive/read-cold-water?id=100644&start=01.07.2019&end=23.07.2019

Ответ в формате JSON, массив с объектами:

[
	{"time":"26.07.2019","hours":24,"v5":18.789,"v6":0,"t5":0,"t6":0,"p5":8.16, "p6":3.57},
	{"time":"27.07.2019","hours":24,"v5":17.543,"v6":0,"t5":0,"t6":0,"p5":8.16, "p6":3.57},
	{"time":"28.07.2019","hours":24,"v5":19.459,"v6":0,"t5":0,"t6":0,"p5":8.16, "p6":3.57}
]

Дата обновления документации: 29.07.2019