Описание сервиса

Сервис имитирует температурные датчики на улице и в квартирах жилых домов, расположенных в различных районах в 16 городах. Один год модерилуемого времени соответсвтует одному часу реального времени.

Интерфейс прикладного программирования

Интерфейс прикладного программирования реализован в архитектурном стиле REST API. Работа с API осуществляется посредством использования протокола HTTP. При обращении к API сервиса на стороне HTTP-сервера формируется ответ, содержащий набор определенных данных в формате JSON.

Описание структуры данных получаемых от HTTP-сервера

При обработке HTTP-запросов сервер формирует ответы в формате JSON. При удачной обработке запроса сервер формирует ответ в виде следующей схемы (структуры):

  {"data": value, "day": number}

в поле data в качестве value используется один из возможных типов данных JSON, значение зависит от маршрута, к которому производится запрос (см. раздел Обслуживаемые маршруты).

В поле day содержится информация о текущем дне моделируюмого времени.

В случае ошибочного запроса HTTP-сервер возвращает ответ в виде:

{"error": string, "code": number}

где поле error содержит описание ошибки и имеет тип string, а code имеет тип number и содержит код ошибки HTTP.

Обслуживаемые маршруты

http://dt.miet.ru/it/api

При обращении к данному URL сервер возвращает массив объектов с информацией о городах в виде:

  {
    "data": [ {"city_id": number , "city_name": string} ],
    "day": number
  }

где элементы массива представлены объектами вида:

  • city_id - идентификатор города (тип number);
  • city_name - название города (тип string).

http://dt.miet.ru/it/api/:city_id

Пример:

  http://dt.miet.ru/it/api/1 – город с идентификатором 1
  http://dt.miet.ru/it/api/2 – город с идентификатором 2

При обращении к данному URL сервер возвращает объект с информацией о городе с идентификатором :city_id

{
  "data":
  {"city_name": string, "area_count": number, "house_count": number, "apartment_count": number, "temperature": number},
  "day": number
}

где

  • city_name - название города (тип string);
  • area_count - количество районов в городе;
  • house_count - количество домов;
  • apartment_count - количество квартир;
  • temperature - текущая температура воздуха в городе.

http://dt.miet.ru/it/api/:city_id/temperature

При обращении к данному URL сервер возвращает массив объектов со значением уличной температуры воздуха в городе:

{
  "data": number,
  "day": number
}

http://dt.miet.ru/it/api/:city_id/:area_id

При обращении к данному URL сервер возвращает массив объектов с информацией о районе города:

{
  "data":
  [
    {"house_id": number, "apartment_count": number}
  ],
  "day": number
}

где

  • house_id - идентификатор (номер) дома (тип number);
  • apartment_count - количество квартир в доме (тип number).

http://dt.miet.ru/it/api/:city_id/:area_id/:house_id

При обращении к данному URL сервер возвращает объект с информацией о количестве квартир в доме:

{
  "data":
  {"apartment_count": number},
  "day": number
}

где apartment_count - количество квартир в доме (тип number).


http://dt.miet.ru/it/api/:city_id/:area_id/:house_id/temperature

При обращении к данному URL сервер возвращает массив объектов, содержащих информацию от температурных датчиков, расположенных в квартирах дома:

{
  "data":
  [
    {"apartment_id": number, "temperature": number}
  ],
  "day": number
}

где

  • apartment_id - идентификатор (номер) квартиры (тип number);
  • temperature - текущая температура (тип number).

http://dt.miet.ru/it/api/:city_id/:area_id/:house_id/:apartment_id

При обращении к данному URL сервер возвращает объект с информацией о квартире:

{
  "data":
  {"temperature": number},
  "day": number
}

где temperature - значение датчика температуры в квартире (тип number).


http://dt.miet.ru/it/api/:city_id/:area_id/:house_id/:apartment_id/temperature

При обращении к данному URL сервер возвращает значение датчика температуры воздуха в квартире:

{
  "data": number,
  "day": number
}

где data - значение датчика температуры в квартире (тип number).

Обратная связь

По всем интересующим Вас вопросам обращаетесь в группу в вКонтакте и по адресу электронной почты dt_smartpark@miee.ru.

Наверх