Page tree

Citypoint - контроль и аналитика автопарка

Skip to end of metadata
Go to start of metadata

Сводной информация о всех ТС для отчетов.

Заапрос:

URL:

GET https://api.url/v2.1/user/<user_id>/cars/aggregated/<date_to>/<period>

Данные рассчитываются раз в день за все возможные периоды. При запросе текущего (ещё не рассчитанного) дня будет возвращаться ошибка 404.

Доп. Заголовки:

Accept - для указания формата ответа. Должен быть "application/vnd.api+json", для совместимости принимается также "application/json".

Authorization - для передачи токена. Передается в формате: Bearer <access_token>.

Доп. Параметры запроса:

ПараметрТипЗначение по умолчаниюОписание
page[offset]int0Пропустить несколько первых записей
page[limit]int40000Количество ТС в выводе
fields[carAggrData]string

Фильтрация полей отображаемых в агрегированных данных

filter[carAggrData]string
Фильтрация возвращаемых результатов (см. раздел "Фильтрация результатов")
sortstring
Сортировка по указанному полю


Параметры  include (определённые в стандарте JSON API) в текущей версии api не поддерживаются. В случае их получения сервер будет возвращать ошибку 400.

Периоды доступные в запросе

ЗначениеОписание
dayДанные агрегированные за день указанный в date_to
weekДанные агрегированные за неделю
monthДанные агрегированные за месяц
quarterДанные агрегированные за квартал


Ответ:

       Ответ присылается в формате JSON API.

ПолеОписание
links

Поле links содержит ссылки на доступные ресурсы.

Минимально он должен содержать ссылку на текущий ресурс (self).

Если Все записи не удалось поместить в одном ответе то также будет содержаться

next - следующая страница (если есть)

prev - предыдущая страница (если есть)

first - первая страница с результатами

last - последняя страница с результатами

meta

Содержит total_count - количество ТС у пользователя

Содержит summary - сумму всех значений по всем ТС для каждого показателя.

  • В сумму входят данные не отображенные на странице.
  • Если в ответе отсутствуют какие либо данные, то в summary будет null.
data

Содержит массив объектов с агрегированными данными в формате JSON API.

Описание объектов

ПолеТипОписание
idstringидентификатор данных (равен car_id + date_to)
typestringтип объекта - всегда carAggrData
attributesobjectобъект с самими данными

relationships

object

Объект с ссылками на связанные объекты

В данные момент только Car

Описание атрибутов:

ПолеТипNullableОписание
MileagedoubleдаПробег
FuelDraindoubleдаОбъём слитого топлива, в литрах
FuelFillingdoubleдаОбъём заправленного топлива, в литрах
FuelConsumptionHourdoubleдаПотребление топлива в час
FuelConsumptionKmdoubleдаПотребление топлива на 100 км.

IdleFuelVolume

doubleдаРасход топлива на холостом ходу.
MovementFuelVolumedoubleдаРасход топлива в движении.
IdleHoursdoubleдаВремя холостого хода (в секундах).
WorkingHoursdoubleдаОбщее время работы ТС (в секундах).
MovementHoursdoubleдаВремя движения (в секундах).
ScoringdoubleдаСкоринговый бал за указанный период.

В будущем возможно добавление новых дополнительных данных. Парсеры должны игнорировать атрибуты назначение которых им неизвестено.

Коды ответов:

200 ОК - Сервер обработал запрос. В теле ответа  содержится список список агрегированных данных для каждой ТС.

401 Unauthorized - не передан заголовок Authorization, либо токен не корректный, либо окончился период действия.

403 Forbidden - нет прав на просмотр данных

404 Not Found - Данные ещё не рассчитаны, период недоступен.

400 Bad Request - Переданы не поддерживаемые параметры, либо сервер не понял запрос (описание ошибки в теле ответа).

Также возможны другие ошибки.

Пример

GET http://api.url/v2.1/user/1/cars/aggregated/2014-10-09/day HTTP/1.1
Accept: application/vnd.api+json
Authorization: Bearer <auth token>
 
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
Allow: GET
         
{
    "links": {
        "self": "http://api.url/v2.1/user/1/cars/aggregated/2014-10-09/day",
    },


    "meta": {
        "total_count": 12,
        "summary": {
            "Mileage": 1400,
            "FuelDrain": 450,
            "FuelFilling": 920,
            "FuelConsumptionHour": 310,
            "FuelConsumptionKm": 330,
            "IdleFuelVolume": 1552,
            "MovementFuelVolume": 186,
            "IdleHours" : 100040,
            "WorkingHours": 314400,
            "MovementHours": 45400,
            "Scoring": 721        
        }
    },
    "data": [ 
        {  "type": "carAggrData",
           "id": "1.20141009.day",
           "attributes":{
   		       "Mileage": 100,
               "FuelDrain": 40,
               "FuelFilling": 90,
               "FuelConsumptionHour": 30,
               "FuelConsumptionKm": 30,
               "IdleFuelVolume": 12,
               "MovementFuelVolume": 18,
               "IdleHours" : 10000,
               "WorkingHours": 14400,
               "MovementHours": 4400,
               "Scoring": 321
           },
           "relationships":{
			   "Car": { "data":{ "type": "car", "id":"1" } } 
           } 
       }
       ... данные по остальным тс ...
   ]
   
 }
  • No labels