Page tree

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

Skip to end of metadata
Go to start of metadata

Запрос:

URL:

Запрос списка всех датчиков:

GET https://api.url/v2.1/sensors

Запрос датчика по id

GET https://api.url/v2.1/sensors/<sensor_id>

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

               Поддерживаются стандартные параметры запроса page, sort, filter, fields.

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

If-Modified-Since - Если ранее уже запрашивался полный список датчиков, то при обновлении следует указывать заголовок If-Modified-Since с датой полученной заголовка ответа Last-Modified

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

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

Ответ:

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

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

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

metaСодержит total_count - количество сенсоров в системе
data

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

Каждый объект датчиков содержит

ПолеТипОписание
idintИдентификатор датчика (передаётся как строка для соответствия JSON API)
typestringТип ресурса (всегда "sensor")
attributesobjectДанные объекта (см. Описание атрибутов датчика)

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

Поле

ТипNullableОписание
SensorNamestringfalseНазвание датчиква
DestinationintfalseНазначения (назначения датчиков приведены ниже)
SensorTypeintfalseТип датчика (типы датчиков приведены ниже)

Типы датчиков:

ТипыОписание
0Дискретный датчик
1Аналоговый датчик
2Управляемый датчик
3Счетчик
4особый, специфичный для протокола.

Назначения датчиков:

Назначение используется для группировки датчиков по роли (для определения что они передают).

Если клиент получает датчик с не известным назначением, то он должен считать датчиком общего назначения.

НазначениеОписание
0Датчик общего назначения
1Зажигание (датчики с этим назначением используются для определения состояния зажигания.)
2Тревога (тревожная кнопка/взлом)
4Датчик работы исполнительного механизма (включение/выключение исполнительного механизма (счетка, поливалка, ...))
100Топливо (бак) (датчики уровня топлива)
110FMS датчик расхода топлива (суммарный расход топлива)
120Одометр
300Контрольный датчик
400Резкое ускорение
401Резкое торможение
500идентификатор ключа водителя
600Моточасы
700Ремень безопасности
800Пассажиропоток
1013Температура, °C
1100Скоринговый балл
1200Резкий левый поворот
1201Резкий правый поворот
1300Ближний свет фар

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

200 ОК - Сервер обработал запрос. В теле ответа  содержится список датчиков. Также будет передан заголовок Last-Modified.

304 Not Modified - Сервер обработал запрос. Изменения не найдены.

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

403 Forbidden - нет прав на просмотр (id пользователя не соответствует токену ).

404 Not Found - запрошенный датчик не найдена .

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


Пример:

Запрос списка всех датчиков:

GET https://api.url/v2.1/sensors HTTP/1.1
Accept: application/vnd.api+json

HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
Allow: GET
Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

{ 
    "links": {
        "self": "https://api.url/v2.1/sensors",
    },
    "meta": {
        "total_count": 130
    },
    "data": [
        { "id": "1",
          "type": "sensor",
          "attributes": {
              "SensorName": "Зажигание",
              "Destination": 1,
              "SensorType": 0
          }
        },
        { "id": "4",
          "type": "sensor",
          "attributes": {
              "SensorName": "Температура",
              "Destination": 0,
              "SensorType": 1
          }
        },
        ... more sensors ...
    ]
    
}

Запрос датчика по id:

GET https://api.url/v2.1/sensors/1 HTTP/1.1
Accept: application/vnd.api+json

HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
Allow: GET
Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

{ 
    "links": {
        "self": "https://api.url/v2.1/sensors/1",
    },
    "data": {
        "id": "1",
        "type": "sensor",
        "attributes": {
            "SensorName": "Зажигание",
            "Destination": 1,
            "SensorType": 0
        }
    }
}


  • No labels