СПИК. Запрос статистик по аналоговым датчикам
1. Авторизация.
Метод запроса: POST
Заголовки:
Content-Type: application/json
Accept: json
Запрос: http://login.scout-gps.ru:8081/spic/auth/rest/Login
Параметры запроса на примере пользователя demo:
{
"Login":"demo",
"Password":"demo",
"TimeZoneOlsonId":"Europe/Moscow",
"CultureName":"ru-ru",
"UiCultureName":"ru-ru"
}
Результат: токен авторизации SessionId
{
"ExpireDate": "/Date(1584542119531 0300)/",
"IsAuthenticated": true,
"IsAuthorized": true,
"SessionId": "618cdd8b-f3e1-4c72-817e-f57896e5ce0f",
"UserId": 10,
"UserName": "Демо Доступ (Продукты)"
}
2. Запрос списка объектов, чтобы узнать UnitId
Метод запроса: POST
Заголовки:
Content-Type: application/json
Accept: json
ScoutAuthorization: SessionId (что получили на 1 этапе)
Запрос: http://login.scout-gps.ru:8081/spic/units/rest/getAllUnitsPaged
Параметры передаваемые в запрос:
{
"Offset":0,
"Count":10
}
Результат: UnitId объектов доступных пользователю
UnitId - это не номер терминала, а номер объекта в базе данных.
{
"Units":[
{
"Brand":"",
"Color":"",
"CompanyId":7,
"Description":"",
"GarageNumber":"",
"Model":"",
"Name":"БМ и КТ №1",
"OlsonId":"",
"Owner":"",
"Power":"",
"Registration":"",
"StateNumber":"А001АА197",
"UnitId":13635,
"UnitTypeId":2,
"VinNumber":"",
"Year":""
}]}
3. Открыть сессию статистик за нужный период по необходимому объекту и получить Session Id
Метод запроса: POST
Заголовки:
Content-Type: application/json
Accept: json
ScoutAuthorization: SessionId (что получили на 1 этапе)
Запрос: http://login.scout-gps.ru:8081/spic/StatisticsController/rest/StartStatisticsSession
Параметры передаваемые в запрос:
{
"Period":
{
"Begin":"/Date(1584428676205)/",
"End":"/Date(1584515076205)/"
},
"TargetObject":
{
"ObjectTypeId":"0F1E3A4A-88F5-4166-9BE8-76033DD85D08",
"ObjectId":"13635"
}
}
Параметр ObjectTypeId может принимать следующие значения:
0F1E3A4A-88F5-4166-9BE8-76033DD85D08 (транспортное средство)
0783BE26-6398-480C-A88F-871438A01C36 (терминал)
54E3C5C5-7EFE-49B9-AE0E-F8C44D52FA36 (профиль терминала)
Результат запроса: StatisticsSessionId
{
"OperationResult":{"Value":"Ok"},
"Session":{"StatisticsSessionId":"34509186-69e0-4708-851d-61e49c01d223"}
}
4. Добавить в сессию статистик статистику по аналоговым датчикам по всем или выборочно
Метод запроса: POST
Заголовки:
Content-Type: application/json
Accept: json
ScoutAuthorization: SessionId (что получили на 1 этапе)
Запрос: http://login.scout-gps.ru:8081/spic/AnalogSensor/rest/AddStatisticsRequest
Параметры передаваемые в запрос:
{
"Session":{"StatisticsSessionId":"34509186-69e0-4708-851d-61e49c01d223"},
"Settings":{"SensorNumbers":null}
// или если нужны определенные датчики:
// "Settings":{"SensorNumbers":["32768","32784"]}
}
Номера датчиков указываются те, которые отображаются в СКАУТ-Студио (Рисунок 1)

Рисунок 1 - номер датчика в СКАУТ-Студио
Результат запроса: статистика добавлена в сессию
{"ErrorText":null,"Status":{"Value":"Ok"}}
5. Запустить построение статистики
Метод запроса: POST
Заголовки:
Content-Type: application/json
Accept: json
ScoutAuthorization: SessionId (что получили на 1 этапе)
Запрос: http://login.scout-gps.ru:8081/spic/StatisticsController/rest/StartBuild
Параметры передаваемые в запрос:
{"StatisticsSessionId":"34509186-69e0-4708-851d-61e49c01d223"}
Результат:
{"Value":"Ok"}
6. Запросить результат
Метод запроса: POST
Заголовки:
Content-Type: application/json
Accept: json
ScoutAuthorization: SessionId (что получили на 1 этапе)
Запрос: http://login.scout-gps.ru:8081/spic/AnalogSensor/rest/GetStatistics
Параметры передаваемые в запрос:
{"StatisticsSessionId":"34509186-69e0-4708-851d-61e49c01d223"}
Результат: значения датчиков
{
"ChunkInfo":
{
"ChunkNumber":0,
"ErrorText":null,
"IsFinalChunk":true,
"Period":{"Begin":"\/Date(1584428676205)\/","End":"\/Date(1584515076205)\/"},
"Status":{"Value":"Ok"}},
"Statistics":
{"Sensors":[
{"Points":[],"SensorName":"","SensorNumber":0},
{"Points":[],"SensorName":"","SensorNumber":1},
{"Points":[],"SensorName":"","SensorNumber":2}]}
}