nchts / ssduu-api-client
API Системы сбора данных с узлов учёта
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 2
Type:project
Requires
- php: ^7.1.3
- guzzlehttp/guzzle: ^6.3
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