Документация-вспомогательные

mapAdmin — rest — map

GET /map/default

Пример ответа:

{
    res: 1,
    map: {
        center: {
            lon: 88.681640625,
            lat: 55.37911044801
        },
        zoom: 3
    }
}

GET /mapextents

Формат ответа:

{
    "res": ,
    "mapExtents": [{
        "id": ,
        "name": ,
        "extent":
    }]
}



// id положения
// название
// координаты (min x, max x, min y, max y)

MapAdmin — rest — news-info

Формат ответа:

{
	res: 1,
	resText: "",
	news_data: {
		id: "18766",
		user_id: "1230",
		user_fio: "Пользователь1",
		department_id: "493",
		department_logo: "logo_493.png",
		department_title: "Организация1",
		news_date: "2014-11-06 14:05:00",
		title: "Тест",
		text: "Тест1",
		num_main_photo: "1",
		archive: "f",
		confirmed: "1",
		confirmed_comment: null,
		news_type_id: "1",
		system_data: "",
		restricted: "f",
		notice: "1",
		assigned_to: "493",
		assigned_department_name: "Организация2",
		assigned_to_user: "1230",
		assigned_user_fio: "Пользователь2",
		news_type_logo: "icon3d_1.png",
		news_type_icon: "icon3d_1.png",
		news_type_name: "происшествие",
		assigned_change_date: "2014-11-06 15:38:55",
		assigned_status: "3",
		category_id: "1",
		custom_fields: "{"logika":{"value":true,"field_id":41}}",
		category_name: "информационная",
		status_name: "обратная связь",
		lon: "49.1421427",
		lat: "55.7744393",
		zoom: null,
		update_date: "2014-11-07 15:36:15"
	}
}




// id сообщения
// id создателя
// ФИО создателя
// id ведомства
// логотип ведомства
// заголовок ведомства
// дата сообщения
// заголовок сообщения
// текст сообщения
// текстовое поле
// в архиве сообщение или нет (t или f)
// 0 - не просмотрена, 1 - утверждена, 2 - не утверждена
// комментарий к подтверждению
// id типа сообщения
// данные
// ограниченные или нет (t или f)
// оповещение
// кому назначено
// какому ведомству назначено
// какому пользователю назначено
// ФИО пользователя, которому назначено
// логотип типа
// иконка типа
// название типа
// дата назначения
// статус назначения
// id категории
// дополнительные поля
// название категории
// название статуса
// долгота
// широта
// увеличение
// дата обновления

POST /news/{newsId}/

Формат входных параметров:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/shortdata

Формат ответа:

{
    "res": 1,
    "news": {
        "id": ,
        "news_date": ,
        "date": ,
        "title": ,
        "shorttext": ,
        "department_id": ,
        "system_data": ,
        "archive": ,
        "photos": ,
        "files": ,
        "sounds": ,
        "video": ,
        "point":  
    },
    "resText": "" 
}



// id сообщения
// дата
// дата в формате дд.мм.гггг чч:мм
// заголовок
// текст
// id ведомства
// текстовое поле
// находится ли сообщение в архиве | t или f
// количество фотографий
// количество файлов
// количество звуковых файлов
// количество видео в формате flv
// 1 - есть точка, 0 - нет точки

GET /news/{newsId}/text

Формат ответа:

{
    "res": 1,
    "text": "{Текст}" 
}

Путь к фотографиям сообщения: /department_files/photos

Название: photo_{department_id}_{newsId}_{num}.{ext};

Путь к видео сообщения: /department_files/video

Название: video_{department_id}_{newsId}_{num}.flv;

Путь к звуковым файлам сообщения: /department_files/sounds

Название: sounds_{department_id}_{newsId}_{num}.{ext};

Путь к файлам сообщения: /department_files/dif_files

Название: files_{department_id}_{newsId}_{num}.{ext};

GET /news/{newsId}/photos

Формат ответа:

{
    "res": 1,
    "photos": [{
        "id": ,
        "num": ,
        "name": ,
        "description": ,
        "extension": ,
        "file_name": ,
        "link":  
    }],
    "resText": "" 
}



// id фотографии
// порядковый номер
// исходное название
// описание
// расширение
// название файла на сервера
// для фотографий всегда null

POST /news/{newsId}/photos/{fileId}

fileId — id фотографии

Тело запроса:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/video

Формат ответа:

{
    "res": 1,
    "video": [{
        "id": ,
        "num": ,
        "description": ,
        "extension": ,
        "file_name": ,
        "link": 
    }],
    "resText": "" 
}



// id
// порядковый номер
// описание
// расширение
// название файла на сервере
// ссылка, если видео находится не на сервере

POST /news/{newsId}/video/{fileId}

fileId — id видео

Тело запроса:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/files

Формат ответа:

{
    "res": 1,
    "files": [{
        "id": ,
        "num": ,
        "name": ,
        "description": ,
        "extension": ,
        "file_name": ,
        "link": 
    }],
    "resText": "" 
}



// id
// порядковый номер
// исходное название
// описание
// расширение
// название файла на сервере
// для файлов всегда null

POST /news/{newsId}/files/{fileId}

fileId — id файла

Тело запроса:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/sounds

Формат ответа:

{
    "res": 1,
    "sounds": [{
        "id": ,
        "num": ,
        "name": ,
        "description": ,
        "extension":  ,
        "file_name": ,
        "link":  
    }],
    "resText": "",
    "sounds_converted": [ ]
}



// id
// порядковый номер
// исходное название
// описание
// расширение
// название файла на сервере
// для аудио всегда null


// массив названий сконвертированных файлов

POST /news/{newsId}/sounds/{fileId}

fileId — id аудио

Тело запроса:

{
    "action": "delete" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

GET /news/{newsId}/point

Формат ответа:

{
    "res": 1,
    "point": ["{lon}","{lat}"],
    "resText": "" 
}

GET /news/{newsId}/pdf

POST /news/{newsId}/update

Параметры:

assigned_status — статус. Цифра 1-новый, 2-назначено, 3-обратная связь, 3-выполнено

assigned_organization_id — id назначенной организации

assigned_user_id — id назначенного пользователя

category_id — id категории

news_type_id — id типа сообщения

confirmed — 1-утверждено, 2-не утверждено, 0 — новое

restricted — true/false ограниченный доступ

archive — true/false в архиве

system_data — текстовое поле

text — текст сообщения

title — заголовок сообщения

point — массив из двух элементов, координаты x и y

pointZoom — зум, на котором будет отображаться точка, можно отправить null, тогда будет взят зум по умолчанию

custom_fields — json объект, состоящий из списка дополнительных полей с их значениями

Формат:

custom_fields: "{\"translit_name1\": {\"field_id\": 12, \"value\": "Hello"}, \"translit_name2\": {\"field_id\": 14, \"value\": true}}" 

photos — массив прикрепленных фотографий, где каждый элемент — это объект с полями: file — название захваченного файла, fileName — оригинальное название файла

Формат:

"photos": [
     {"file":"naaethsde56gh.jpg","fileName":"photo1.jpg"},
     {"file":"sdbvr54456fc4.png","fileName":"photo2.png"}
   ]

videos — массив прикрепленных видео (формат, как у фотографий)

files — массив прикрепленных файлов (формат, как у фотографий)

update_comments — комментарий обновления статуса

Следующие поля не обязательные. Они необходимы только в том случае, если комментарий обновления статуса должен быть виден определенным пользователям. Каждое поле отвечает за свою группу. Отсылать только нужные поля, установить значение true.

updatecomment_visible_all — виден всем

updatecomment_visible_user — виден только автору сообщения

updatecomment_visible_assigned_to — виден админам назначенного ведомства

updatecomment_visible_assigned_to_user — виден назначенному пользователю

Пример запроса:

{
  "assigned_user_id": 1,
  "assigned_status": 3,
  "system_data": "обновление от 12.12.2013",
  "photos": [
          {"file":"naaethsde56gh.jpg","fileName":"photo1.jpg"},
          {"file":"sdbvr54456fc4.png","fileName":"photo2.png"}
  ],
  "update_comments": "Сообщение была назначена",
  "updatecomment_visible_user": true,
  "updatecomment_visible_assigned_to_user": true,
  "text": "Это текст сообщения",
  "point": [46.197509765625,56.480695390196296],
  "pointZoom": 14,
   "custom_fields":"{\"imia\":{\"field_id\":1,\"value\":\"неек\"},\"test4\":{\"field_id\":8,\"value\":\"значение2\"}}" 
}

Формат ответа:

{
    "res": 1,
    "resText": "" 
}

AutoMap — rest — writers

GET /daemon/writers

Структура запроса:


GET /daemon/writers?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"id": 1,
	"host": "8.8.8.8",
	"port": 6941,
	"path": "103.69.14.147",
	"needAuth": false,
	"authUser": null,
	"authPassword": null,
	"reconnectTime": 5,
	"resendAttempts": 3,
	"loggerTimeout": 60,
	"name": "test",
	"incrementId": 0,
	"logLevel": 5,
	"rightId": null,
	"tagId": 121,
	"protocolId": 11
},…]

// id источника отправки данных, целое число
// хост, строка
// порт, целое число
// путь, строка
// требуется ли авторизация, булевое поле
// логин, строка
// пароль, строка
// время переподключения, целое число
// максимальное количество неудачных попыток отправки данных, целое число
// период времени, для которого будет подсчитано и записано в лог количество отправленных сообщений, целое число
// название, строка
// id прав, целое число
// уровень логирования, целое число
// id прав, целое число
// id метки, целое число
// id протокола, целое число

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /daemon/writers/{id}

Структура запроса:


GET /daemon/writers/21?token=mbs90lon2a8

id: id источника отправки данных

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
	"id": 21,
	"host": "18.28.98.108",
	"port": 6941,
	"path": "103.69.14.147",
	"needAuth": false,
	"authUser": null,
	"authPassword": null,
	"reconnectTime": 5,
	"resendAttempts": 3,
	"loggerTimeout": 60,
	"name": "test",
	"incrementId": 0,
	"logLevel": 5,
	"rightId": null,
	"tagId": 121,
	"protocolId": 11
}

// id источника отправки данных, целое число
// хост, строка
// порт, целое число
// путь, строка
// требуется ли авторизация, булевое поле
// логин, строка
// пароль, строка
// время переподключения, целое число
// максимальное количество неудачных попыток отправки данных, целое число
// период времени, для которого будет подсчитано и записано в лог количество отправленных сообщений, целое число
// название, строка
// id прав, целое число
// уровень логирования, целое число
// id прав, целое число
// id метки, целое число
// id протокола, целое число

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

POST /daemon/writers

Структура запроса:


POST /daemon/writers?token=mbs90lon2a8

token: ключ доступа

Пример запроса:

Формат: json

{
	"authPassword": "password",
	"authUser": "login",
	"host": "155.69.187.40",
	"incrementId": 10,
	"logLevel": "5",
	"mappings": [],
	"name": "New writer",
	"needAuth": true,
	"path": "path",
	"port": 6687,
	"protocolId": 11,
	"reconnectTime": 5,
	"resendAttempts": 3,
	"rightId": null,
	"tagId": 1
}

// пароль для авторизации, строка
// логин для авторизации, строка
// хост, строка
// id приращения, строка
// уровень логирования, строка
// картография
// название, строка
// требуется ли авторизация, булевое поле
// путь, строка
// порт, целое число
// id протокола, целое число
// время переподключения, целое число
// максимальное число неудачных попыток, целое число
// id прав, целое число
// id метки, целое число

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
	"id": 1061,
	"protocol": {
		"id": 11,
		"name": "native",
		"title": "Внутренний формат",
		"listener": true,
		"receiver": false,
		"writer": true,
		"stable": true
	},
	"host": "155.69.187.40",
	"port": 6687,
	"path": "path",
	"right": null,
	"tag": {
		"id": 1,
		"name": "first tag",
		"color": "8fff33"
	},
	"needAuth": true,
	"authUser": "login",
	"authPassword": "password",
	"reconnectTime": 5,
	"resendAttempts": 3,
	"loggerTimeout": 60,
	"name": "New writer",
	"incrementId": 10,
	"logLevel": 5,
	"protocolId": 11,
	"rightId": null,
	"tagId": 1
}

// id источника отправки данных, целое число
// информация о протоколе
// id протокола, целое число
// название протокола, строка
// заголовок, строка
// источник получения данных, булевое поле
// источник сбора данных, булевое поле
// источник отправки данных, булевое поле
// стабильность источника, булевое поле

// хост, строка
// порт, целое число
// путь, строка
// информация о правах
// информация о метках
// id метки, целое число
// название метки, строка
// цвет метки, строка

// требуется ли авторизация, булевое поле
// пользователь, строка
// пароль, строка
// время переподключения, целое число
// максимальное количество неудачных попыток отправки данных, целое число
// период времени, для которого будет подсчитано и записано в лог количество отправленных сообщений
// название, строка
// id приращения, целое число
// уровень логирования, целое число
// id протокола, целое число
// id прав, целое число
// id метки, целое число

Статус: 400 — ошибка в запросе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

PUT /daemon/writers/{id}

Структура запроса:


PUT /daemon/writers/20?token=mbs90lon2a8

id: id источника отправки данных

token: ключ доступа

Пример запроса:

Формат: json

{
	"authPassword": "password",
	"authUser": "login",
	"host": "155.69.187.40",
	"id": 1061,
	"incrementId": 10,
	"logLevel": 3,
	"loggerTimeout": 60,
	"mappings": [],
	"name": "New writer",
	"needAuth": true,
	"path": "path",
	"port": 6687,
	"protocol": {
		"id": 11,
		"listener": true,
		"name": "native",
		"receiver": false,
		"stable": true,
		"title": "Внутренний формат",
		"writer": true
	},
	"protocolId": 17,
	"reconnectTime": 5,
	"resendAttempts": 3,
	"right": null,
	"rightId": 2,
	"tag": {
		"color": "8fff33",
		"id": 1,
		"name": "first tag"
	},
	"tagId": null
}

// пароль для авторизации, строка
// логин для авторизации, строка
// хост, строка
// id источника отправки данных, целое число
// id приращения, строка
// уровень логирования, строка
// период времени, для которого будет подсчитано и записано в лог количество отправленных сообщений, целое число
// картография
// название, строка
// требуется ли авторизация, булевое поле
// путь, строка
// порт, целое число
// информация о протоколе
// id протокола, целое число
// источник получения данных, булевое поле
// название, строка
// источник сбора данных, булевое поле
// стабильность протокола, булевое поле
// заголовок, строка
// источник отправки данных, булевое поле

// id протокола, целое число
// время переподключения, целое число
// максимальное число неудачных попыток, целое число
// права, строка
// id права, целое число
// информация о метках
// цвет метки, строка
// id метки, целое число
// название метки, строка

// id метки, строка

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
	"id": 1061,
	"host": "155.69.187.40",
	"port": 6687,
	"path": "path",
	"needAuth": true,
	"authUser": "login",
	"authPassword": "password",
	"reconnectTime": 5,
	"resendAttempts": 3,
	"loggerTimeout": 60,
	"name": "New writer",
	"incrementId": 10,
	"logLevel": 3,
	"protocolId": 17,
	"rightId": 2,
	"tagId": null
}

// id источника отправки данных, целое число
// хост, строка
// порт, целое число
// путь, строка
// требуется ли авторизация, булевое поле
// пользователь, строка
// пароль, строка
// время переподлкючения, целое число
// максимальное количество неудачных попыток отправки данных, целое число
// период времени, для которого будет подсчитано и записано в лог количество отправленных сообщений
// название, строка
// id приращения, целое число
// уровень логирования, целое число
// id протокола, целое число 
// id прав, целое число
// id метки, целое число

Статус: 400 — ошибка в запросе

Формат: text/plain

Содержит описание ошибки

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

DELETE /daemon/writers/{id}

Структура запроса:


DELETE /daemon/writers/6?token=mbs90lon2a8

id: id источника отправки данных

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
    "delete":true
}

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /daemon/writers/count

Структура запроса:


GET /daemon/writers/count?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


17


// количество источников отправки данных

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

AutoMap — rest — receivers

GET /daemon/receivers

Структура запроса:


GET /daemon/receivers?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


[{
	"id": 1,
	"host": "85.19.44.78",
	"port": 9912,
	"login": "login",
	"password": "password",
	"reconnectTime": 5,
	"useEnginePort": false,
	"defaultEnginePort": null,
	"timezone": 0,
	"useDinGauges": false,
	"useDinAdditionalGauges": false,
	"useAnalogGauges": false,
	"useSpeedGauge": false,
	"name": "Name",
	"path": "",
	"incrementId": 0,
	"logLevel": 3,
	"defaultGroupId": 500,
	"defaultModelId": null,
	"defaultMarkId": 380,
	"protocolId": 25
},…]



// id источника сбора данных, целое число
// хост, строка
// порт, целое число
// логин, строка
// пароль, строка
// время переподключения, целое число
// использование порта зажигания, булевое поле
// значение порта зажигания по умолчанию, целое число
// часовой пояс, целое число
// использование цифровых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование аналоговых датчиков, булевое поле
// использование скоростного датчика, булевое поле
// название, строка
// путь, строка
// id приращения, целое число
// уровень логирования, целое число
// id группы по умолчанию, целое число
// id модели по умолчанию, целое число
// id марки по умолчанию, целое число
// id протокола, целое число

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /daemon/receivers/{id}

Структура запроса:


GET /daemon/receivers/21?token=mbs90lon2a8

id: id источника сбора данных

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
	"id": 21,
	"host": "39.22.197.64",
	"port": 6674,
	"login": "login",
	"password": "password",
	"reconnectTime": 5,
	"useEnginePort": false,
	"defaultEnginePort": null,
	"timezone": 0,
	"useDinGauges": false,
	"useDinAdditionalGauges": false,
	"useAnalogGauges": false,
	"useSpeedGauge": false,
	"name": "Name",
	"path": "",
	"incrementId": 0,
	"logLevel": 3,
	"defaultGroupId": 500,
	"defaultModelId": null,
	"defaultMarkId": 380,
	"protocolId": 15
}



// id источника сбора данных, целое число
// хост, строка
// порт, целое число
// логин, строка
// пароль, строка
// время переподключения, целое число
// использование порта зажигания, булевое поле
// значение порта зажигания по умолчанию, целое число
// часовой пояс, целое число
// использование цифровых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование аналоговых датчиков, булевое поле
// использование скоростного датчика, булевое поле
// название, строка
// путь, строка
// id приращения, целое число
// уровень логирования, целое число
// id группы по умолчанию, целое число
// id модели по умолчанию, целое число
// id марки по умолчанию, целое число
// id протокола, целое число

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

POST /daemon/receivers

Структура запроса:


POST /daemon/receivers?token=mbs90lon2a8

token: ключ доступа

Пример запроса:

Формат: json


{
	"defaultEnginePort": 9874,
	"defaultGroupId": 123,
	"defaultMarkId": 7,
	"defaultModelId": 67,
	"host": "12.154.36.9",
	"incrementId": 15,
	"logLevel": 3,
	"login": "login",
	"mappings": [],
	"name": "New receiver",
	"password": "password",
	"path": "path",
	"port": 5874,
	"protocolId": 21,
	"reconnectTime": 5,
	"timezone": 0,
	"useAnalogGauges": false,
	"useDinAdditionalGauges": false,
	"useDinGauges": true,
	"useEnginePort": true,
	"useSpeedGauge": false
}



// порт датчика зажигания, целое число
// id группы, целое число
// id марки ТС (по умолчанию), целое число
// id модели ТС (по умолчанию), целое число
// хост, строка
// id приращения, целое число
// уровень логирования, целое число
// логин, строка
// картография
// название, строка
// пароль, строка
// путь, строка
// номер порта, целое число
// id протокола, целое число
// время переподключения, целое число
// часовой пояс, целое число
// использование аналоговых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование цифровых датчиков, булевое поле
// использование датчиков зажигания, булевое поле
// использование датчиков скорости, булевое поле

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
	"id": 801,
	"protocol": {
		"id": 21,
		"name": "autotracker",
		"title": "РНТ (АвтоТрекер)",
		"listener": false,
		"receiver": true,
		"writer": false,
		"stable": true
	},
	"host": "12.154.36.9",
	"port": 5874,
	"login": "login",
	"password": "password",
	"reconnectTime": 5,
	"defaultGroup": {
		"id": 2123,
		"name": "lonely car group",
		"notes": "",
		"organizationId": 9383
	},
	"defaultModel": {
		"id": 67,
		"name": "RAPIDE",
		"mark": {
			"id": 7,
			"name": "ASTON MARTIN"
		},
		"expenseOn100km": 11.0,
		"maxTank": 100,
		"motohoursStop": 1.0,
		"motohoursMove": 1.0,
		"markId": 7
	},
	"defaultMark": {
		"id": 7,
		"name": "ASTON MARTIN"
	},
	"useEnginePort": true,
	"defaultEnginePort": 9874,
	"timezone": 0,
	"useDinGauges": true,
	"useDinAdditionalGauges": false,
	"useAnalogGauges": false,
	"useSpeedGauge": false,
	"name": "New receiver",
	"path": "path",
	"incrementId": 15,
	"logLevel": 3,
	"protocolId": 21,
	"defaultGroupId": 2123,
	"defaultModelId": 67,
	"defaultMarkId": 7
}



// id источника сбора данных, целое число
// информация о протоколе
// id протокола, целое число
// название протокола, строка
// заголовок, строка
// источник получения данных, булевое поле
// источник сбора данных, булевое поле
// источник отправки данных, булевое поле
// стабильность источника, булевое поле

// хост, строка
// порт, целое число
// логин, строка
// пароль, строка
// время переподключения, целое число
// информация о группе по умолчанию
// id группы по умолчанию, целое число
// название группы по умолчанию, строка
// примечания группы, строка
// id организации, к которой относится группа, целое число

// информация о модели ТС по умолчанию
// id модели ТС по умолчанию, целое число
// название модели ТС по умолчанию, строка
// марка модели ТС по умолчанию
// id марки модели ТС, целое число
// название марки модели ТС, строка

// расход топлива на 100 км, число с плавающей точкой
// вместимость топливного бака, целое число
// коэффициент моточасов на стоянке для модели ТС, число с плавающей точкой
// коэффициент моточасов при движении для модели ТС, число с плавающей точкой
// id марки модели ТС, целое число

// информация о марке ТС
// id марки ТС, целое число
// название марки ТС, строка

// использование порта зажигания, булевое поле
// порт зажигания по умолчанию, целое число
// часовой пояс, целое число
// использование цифровых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование аналоговых датчиков, булевое поле
// использование скоростного датчика, булевое поле
// название, строка
// путь, строка
// id приращения, целое число
// уровень логирования, целое число
// id протокола, целое число
// id группы по умолчанию, целое число
// id модели по умолчанию, целое число
// id марки по умолчанию, целое число

Статус: 400 — ошибка в запросе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

PUT /daemon/receivers/{id}

Структура запроса:


PUT /daemon/receivers/20?token=mbs90lon2a8

id: id источника сбора данных

token: ключ доступа

Пример запроса:

Формат: json


{
	"defaultEnginePort": 9874,
	"defaultGroup": {
		"id": 2123,
		"name": "Car group",
		"notes": "",
		"organizationId": 9383
	},
	"defaultGroupId": 2123,
	"defaultMark": {
		"id": 7,
		"name": "ASTON MARTIN"
	},
	"defaultMarkId": 7,
	"defaultModel": {
		"expenseOn100km": 11,
		"id": 67,
		"mark": {
			"id": 7,
			"name": "ASTON MARTIN"
		},
		"markId": 7,
		"maxTank": 100,
		"motohoursMove": 1,
		"motohoursStop": 1,
		"name": "RAPIDE"
	},
	"defaultModelId": 66,
	"host": "12.154.36.9",
	"id": 801,
	"incrementId": 15,
	"logLevel": 5,
	"login": "login",
	"mappings": [],
	"name": "New receiver",
	"password": "password",
	"path": "path",
	"port": 5874,
	"protocol": {
		"id": 21,
		"listener": false,
		"name": "autotracker",
		"receiver": true,
		"stable": true,
		"title": "РНТ (АвтоТрекер)",
		"writer": false
	},
	"protocolId": 25,
	"reconnectTime": 5,
	"timezone": 0,
	"useAnalogGauges": false,
	"useDinAdditionalGauges": true,
	"useDinGauges": true,
	"useEnginePort": false,
	"useSpeedGauge": false
}



// порт зажигания по умолчанию, целое число
// информация о группе по умолчанию
// id группы по умолчанию, целое число
// название группы по умолчанию, строка
// примечания группы, строка
// id организации, к которой относится группа, целое число

// id группы, целое число
// информация о марке
// id марки ТС, целое число
// название марки ТС, строка

// id марки ТС, целое число 
// информация о модели ТС по умолчанию
// расход топлива на 100 км, целое число
// id модели ТС по умолчанию, целое число
// информация о марке ТС
// id марки, целое число
// название марки, строка

// id марки, целое число
// вместимость топливного бака, целое число
// коэффициент моточасов на стоянке для модели ТС, число с плавающей точкой
// коэффициент моточасов при движении для модели ТС, число с плавающей точкой
// название, строка

// id модели ТС по умолчанию, строка
// хост, строка
// id источника сбора данных, целое число
// id приращения, целое число
// уровень логирования, целое число
// логин, строка
// картография
// название источника сбора данных, строка
// пароль, строка
// путь, строка
// порт, целое число
// информация о протоколе
// id протокола, целое число
// источник получения данных, булевое поле
// название, строка
// источник сбора данных, булевое поле
// стабильность источника, булевое поле
// заголовок, строка
// источник отправки данных, булевое поле

// id протокола, целое число
// время переподключения, целое число
// часовой пояс, целое число
// использование аналоговых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование цифровых датчиков, булевое поле
// использование порта зажигания, булевое поле
// использование скоростного датчика, булевое поле

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
	"id": 20,
	"host": "newserver.com",
	"port": 6644,
	"login": "login",
	"password": "password",
	"reconnectTime": 5,
	"useEnginePort": false,
	"defaultEnginePort": null,
	"timezone": 0,
	"useDinGauges": true,
	"useDinAdditionalGauges": false,
	"useAnalogGauges": false,
	"useSpeedGauge": true,
	"name": "Новое название источника",
	"path": "path",
	"incrementId": 10,
	"logLevel": 5,
	"defaultGroupId": 1945,
	"defaultModelId": 2807,
	"defaultMarkId": 2,
	"protocolId": 21
}



// id источника сбора данных, целое число
// хост, строка
// порт, целое число
// логин, строка
// пароль, строка
// время переподлкючения, целое число
// использование порта зажигания, булевое поле
// значение порта зажигания по умолчанию, целое число
// часовой пояс, целое число
// использование цифровых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование аналоговых датчиков, булевое поле
// использование скоростного датчика, булевое поле
// название, строка
// путь, строка
// id приращения, целое число
// уровень логирования, целое число
// id группы по умолчанию, целое число
// id модели по умолчанию, целое число
// id марки по умолчанию, целое число
// id протокола, целое число

Статус: 400 — ошибка в запросе

Формат: text/plain

Содержит описание ошибки

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

DELETE /daemon/receivers/{id}

Структура запроса:


DELETE /daemon/receivers/6?token=mbs90lon2a8

id: id источника сбора данных

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
    "delete":true
}

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /daemon/receivers/count

Структура запроса:


GET /daemon/receivers/count?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


47


// количество источников сбора данных

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

AutoMap — rest — listeners

GET /daemon/listeners

Структура запроса:


GET /daemon/listeners?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"id": 1,
	"port": 9996,
	"timezone": 0,
	"threads": 4,
	"odometr": false,
	"reconnectTime": 5,
	"useDinGauges": true,
	"useDinAdditionalGauges": false,
	"useAnalogGauges": true,
	"useSpeedGauge": true,
	"name": "Название",
	"incrementId": 0,
	"logLevel": 7,
	"maxDop": 0,
	"useGaugeNullValue": false,
	"protocolId": 17
},…]

// id источника получения данных, целое число
// порт, целое число
// часовой пояс, строка
// потоки, целое число
// используется ли одометр, булевое поле
// время переподключения, целое число
// использование цифровых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование аналоговых датчиков, булевое поле
// использование датчиков скорости, булевое поле
// название протокола, строка
// id приращения, целое число
// уровень логирования, целое число
// максимальное снижение точности, целое число
// учитывать нулевые значения, булевое поле
// id протокола, целое число

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /daemon/listeners/{id}

Структура запроса:


GET /daemon/listeners/41?token=mbs90lon2a8

id: id источника получения данных

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
	"id": 41,
	"port": 9990,
	"timezone": 0,
	"threads": 4,
	"odometr": false,
	"reconnectTime": 5,
	"useDinGauges": false,
	"useDinAdditionalGauges": false,
	"useAnalogGauges": false,
	"useSpeedGauge": false,
	"name": "Название",
	"incrementId": 0,
	"logLevel": 7,
	"maxDop": 0,
	"useGaugeNullValue": false,
	"protocolId": 17
}

// id источника получения данных, целое число
// порт, целое число
// часовой пояс, строка
// потоки, целое число
// используется ли одометр, булевое поле
// время переподключения, целое число
// использование цифровых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование аналоговых датчиков, булевое поле
// использование датчиков скорости, булевое поле
// название протокола, строка
// id приращения, целое число
// уровень логирования, целое число
// максимальное снижение точности, целое число
// учитывать нулевые значения, булевое поле
// id протокола, целое число

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

POST /daemon/listeners

Структура запроса:


POST /daemon/listeners?token=mbs90lon2a8

token: ключ доступа

Пример запроса:

Формат: json

{
	"incrementId": 10,
	"logLevel": 5,
	"mappings": [],
        "maxDop": 25,
	"name": "New listener",
	"odometr": false,
	"port": 6641,
	"protocolId": 22,
	"timezone": "0",
	"useAnalogGauges": true,
	"useDinAdditionalGauges": false,
	"useDinGauges": true,
        "useGaugeNullValue": true,
	"useSpeedGauge": false
}

// id приращения, целое число
// уровень логирования, целое число
// картография, массив
// максимальное снижение точности, целое число
// название источника, строка
// использование одометра, булевое поле
// номер порта, целое число
// id протокола, целое число
// часовой пояс, целое число
// использование аналоговых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование цифровых датчиков, булевое поле
// учитывать нулевые значения, булевое поле
// использование датчиков скорости, булевое поле

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
	"id": 1001,
	"protocol": {
		"id": 22,
		"name": "egts",
		"title": "ЭРА-ГЛОНАСС",
		"listener": true,
		"receiver": false,
		"writer": true,
		"stable": true
	},
	"port": 6641,
	"timezone": 0,
	"threads": 4,
	"odometr": false,
	"reconnectTime": 5,
	"useDinGauges": true,
	"useDinAdditionalGauges": false,
	"useAnalogGauges": true,
	"useSpeedGauge": false,
	"name": "New listener",
	"incrementId": 10,
	"logLevel": 5,
	"maxDop": null,
	"useGaugeNullValue": null,
	"protocolId": 22
}

// id получения источника данных, целое число
// информация о протоколе
// id протокола, целое число
// название протокола, строка
// заголовок, строка
// источник получения данных, булевое поле
// источник сбора данных, булевое поле
// источник отправки данных, булевое поле
// стабильность источника, булевое поле

// порт, целое число
// часовой пояс, целое число
// количество потоков, целое число
// использование одометра, булевое поле
// время переподключения, целое число
// использование цифровых датчиков, булевое поле
// использование цифровых дополнительных датчиков, булевое поле
// использование аналоговых датчиков, булевое поле
// использование датчиков скорости, булевое поле
// название, строка
// id приращения, целое число
// уровень логирования, целое число
// максимальное снижение точности, целое число
// учитывать нулевые значения, булевое поле
// id протокола, целое число

Статус: 400 — ошибка в запросе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

PUT /daemon/listeners/{id}

Структура запроса:


PUT /daemon/listeners/15?token=mbs90lon2a8

token: ключ доступа

Пример запроса:

Формат: json

{
	"id": 1001,
	"incrementId": 5,
	"logLevel": 5,
	"mappings": [],
	"maxDop": null,
	"name": "New listener",
	"odometr": false,
	"port": 6641,
	"protocol": {
		"id": 22,
		"listener": true,
		"name": "egts",
		"receiver": false,
		"stable": true,
		"title": "ЭРА-ГЛОНАСС",
		"writer": true
	},
	"protocolId": 22,
	"reconnectTime": 5,
	"threads": 4,
	"timezone": -6,
	"useAnalogGauges": false,
	"useDinAdditionalGauges": true,
	"useDinGauges": false,
	"useGaugeNullValue": null,
	"useSpeedGauge": true
}

// id источника получения данных, целое число
// id приращения, целое число
// уровень логирования, целое число
// картография, массив
// максимальное снижение точности, целое число
// название источника, строка
// использование одометра, булевое поле
// номер порта, целое число
// протокол
// id протокола, целое число
// источник получения данных, булевое поле
// название, строка
// источник сбора данных, булевое поле
// стабильность, булевое поле
// заголовок, строка
// источник отправки данных, булевое поле
// максимальное снижение точности, целое число
// id протокола, целое число
// время переподключения, целое число
// количество потоков, целое число
// часовой пояс, целое число
// использование аналоговых датчиков, булевое поле
// использование дополнительных цифровых датчиков, булевое поле
// использование цифровых датчиков, булевое поле
// учитывать нулевые значения, булевое поле
// использование датчиков скорости, булевое поле

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
	"id": 1001,
	"port": 6641,
	"timezone": -6,
	"threads": 4,
	"odometr": false,
	"reconnectTime": 5,
	"useDinGauges": false,
	"useDinAdditionalGauges": true,
	"useAnalogGauges": false,
	"useSpeedGauge": true,
	"name": "New listener",
	"incrementId": 5,
	"logLevel": 5,
	"maxDop": null,
	"useGaugeNullValue": null,
	"protocolId": 22
}

// id получения источника данных, целое число
// порт, целое число
// часовой пояс, целое число
// количество потоков, целое число
// использование одометра, булевое поле
// время переподлкючения, целое число
// использование цифровых датчиков, булевое поле
// использование цифровых дополнительных датчиков, булевое поле
// использование аналоговых датчиков, булевое поле
// использование датчиков скорости, булевое поле
// название, строка
// id приращения, целое число
// уровень логирования, целое число
// максимальное снижение точности, целое число
// учитывать нулевые значения, булевое поле
// id протокола, целое число 

Статус: 400 — ошибка в запросе

Формат: text/plain

Содержит описание ошибки

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

DELETE /daemon/listeners/{id}

Структура запроса:


DELETE /daemon/listeners/6?token=mbs90lon2a8

id: id источника получения данных

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
    "delete":true
}

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /daemon/listeners/count

Структура запроса:


GET /daemon/listeners/count?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


11


// количество источников получения данных

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

AutoMap — rest — jasper

GET /jreports/file/{name}

Структура запроса:


GET /jreports/file/filename?token=mbs90lon2a8

name: название файла

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /jreports/{id}/parameters

Структура запроса:


GET /jreports/29/parameters?token=mbs90lon2a8

id: id отчета

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"id": 2,
	"description": "id",
	"type": "int",
	"name": "in_car_id",
        "sourceQuery": null,
	"prompt": false,
	"lib": false,
	"order": 1
},…]

// id параметра, целое число
// описание, строка
// тип, строка
// название, строка

// доступно ли поле к заполнению, булевое поле
// параметр, который требует предварительную загрузку списка значений, доступных для выбора (булевое поле)
// порядковый номер, целое число

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /jreports/{id}/parameters/{parameterId}/values

Структура запроса:


GET /jreports/29/parameters/1/values?token=mbs90lon2a8

id: id отчета

parameterId: id параметра отчета

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"id": 1,
	"name": "Педаль сцепления"
},...]

// id параметра, целое число
// название параметра, строка

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /jreports

Структура запроса:


GET /jreports?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"id": 3,
	"name": "table_report_update",
	"type": 1
},…]

// id отчета, целое число
// название отчета, строка
// тип отчета, целое число

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /jreports/extern

Структура запроса:


GET /jreports/extern?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"id": 1,
	"name": "Название отчета"
},…]

// id отчета, целое число
// название отчета, строка

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /jreports/extern/{id}/parameters

Структура запроса:


GET /jreports/extern/4/parameters?token=mbs90lon2a8

id: id отчета

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"id": 4,
	"description": "Описание",
	"type": "int",
	"name": "in_car_id",
        "sourceQuery": null,
	"prompt": false,
	"lib": false,
	"order": 1
},…]

// id параметра, целое число
// описание, строка
// тип, строка
// название, строка

// доступно ли поле к заполнению, булевое поле
// параметр, который требует предварительную загрузку списка значений, доступных для выбора (булевое поле)
// порядковый номер, целое число 

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

Нет комментариев

AutoMap — rest — reports

GET /reports/runs/group/{groupId}/{tsFrom}/{tsTo}

Структура запроса:


GET /reports/runs/group/1/1421787600000/1421844480000?token=mbs90lon2a8

groupId: id группы

tsFrom: время, начиная с которого необходимо построить отчет

tsTo: время окончания построения отчета

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"carId": 1,
	"sysrun": 0.0,
	"billrun": 0.0
},...]

// id ТС, целое число
// системный пробег, число с плавающей точкой
// пробег по путевым листам, число с плавающей точкой

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /reports/runs/cars/{carIds}/{tsFrom}/{tsTo}

Структура запроса:


GET /reports/runs/cars/228/1421787600000/1421845500000?token=mbs90lon2a8

carIds: id ТС

tsFrom: время, начиная с которого необходимо построить отчет

tsTo: время окончания построения отчета

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"carId": 228,
	"sysrun": 0.0,
	"billrun": 0.0
},...]

// id ТС, целое число
// системный пробег, число с плавающей точкой
// пробег по путевым листам, число с плавающей точкой

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

Комбоотчет по списку ТС (POST запрос)

POST /reports/runs/cars/{tsFrom}/{tsTo}

Структура запроса:


POST /reports/runs/cars/1421787600000/1421845500000?token=mbs90lon2a8

tsFrom: время, начиная с которого необходимо построить отчет

tsTo: время окончания построения отчета

token: ключ доступа

Пример запроса:

Формат: xml

{
	"cars": ["121", "122", "123"]
}

// идентификаторы ТС, по которым необходимо построить отчет

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"carId": 121,
	"sysrun": 0.0,
	"billrun": 0.0
},...]

// id группы, целое число
// системный пробег, число с плавающей точкой
// пробег по путевым листам, число с плавающей точкой

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /reports/runs/daily/{carId}/{tsFrom}/{tsTo}

Структура запроса:


GET /reports/runs/daily/121/1421787600000/1421845500000?token=mbs90lon2a8

carId: id ТС

tsFrom: время, начиная с которого необходимо построить отчет/p>

tsTo: время окончания построения отчета

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

[{
	"date": "20.01.15",
	"sysrun": 0.0,
	"billrun": 0.0
},...]

// дата, строка
// системный пробег, число с плавающей точкой
// пробег по путевым листам, число с плавающей точкой

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

Нет комментариев

AutoMap — rest — files

GET /files/{uuid}

Структура запроса:


GET /files/p189tc0i1f1pjb17j91k?token=mbs90lon2a8

uuid: id файла

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

POST /files/upload

Структура запроса:


POST /files/upload?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
	"name": "p189tc0i1f1pjb17j91kphlia1qsc7.gif",
	"status": "ok",
	"uploaded": true
}

// название файла, строка
// статус, строка
// загружен ли файл, булевое поле

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

AutoMap — rest — layers

GET /layers/base

Структура запроса:


GET /layers/base?token=mbs90lon2a8

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json


{
	"schemas": [{
		"name": "Карта России",
		"className": "new M.Rekod()",
		"order": 0
	},...],
	"spaces": [{
		"name": "Космоснимки Роскосмос",
		"className": "new M.TileLayer",
		"order": 0
	},...]
}



// схемы
// название схемы, строка
// название класса, строка
// порядок, целое число

// космоснимки
// название схемы, строка
// название класса, строка
// порядок

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

AutoMap — rest — functional

Доступно только для пользователей с правами администрирования

GET /geoportal/*path

Структура запроса:


GET /geoportal/layers?token=mbs90lon2a8

path: путь к функционалу

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Статус: 404 — объект не найден

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

Обращение к функционалу геопортала — POST запрос

Доступно только для пользователей с правами администрирования

POST /geoportal/*path

Структура запроса:


POST /geoportal/layers?token=mbs90lon2a8

path: путь к функционалу

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки