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

Automap — rest — Documentation

GET /docs/user

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


GET /docs/user?token=bw3ty3h46yth

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

Ответ:

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

Формат: text/plain

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

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

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

Формат: text/plain

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

GET /docs/administration

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


GET /docs/administration?token=bw3ty3h46yth

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

Ответ:

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

Формат: text/plain

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

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

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

Формат: text/plain

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

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

Automap — rest — CustomFields

GET /cars/customfields

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


GET /cars/customfields?token=gtr543lpas87

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

Ответ:

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

Формат: json

[{
	"id": 324,
	"name": "дробное",
	"translit": "drobnoe",
	"format": "float",
	"groupName": "",
	"possibleValues": null,
	"regexp": null,
	"minLength": 0,
	"maxLength": 0,
	"isRequired": false,
	"defaultValue": "123.640",
	"visible": false,
	"order": null
},…]

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

Примечание:

В зависимости от передаваемого формата данных пользователю становятся доступны определенные поля для добавления и редактирования информации о выбранном дополнительном поле:

  • Строка (string) — валидация поля (regexp), минимальная длина строки (minLength), максимальная длина строки (maxLength), значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
  • Целое число (int) — значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
  • Дробное число (float) — значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
  • Дата (date) — обязательное поле (isRequired), отображение поля (visible).
  • Условие (bool) — значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
  • Список (list) — возможные значения списка (possibleValues), значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).

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

Формат: text/plain

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

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

Формат: text/plain

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

POST /cars/customfields

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


POST /cars/customfields?token=gtr543lpas87	

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

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

Формат: json

{
	"defaultValue": 10,
	"format": "int",
	"isRequired": true,
	"name": "Новое поле",
	"visible": true
}

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

Ответ:

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

Формат: json

{
	"id": 822,
	"name": "Новое поле",
	"translit": "Novoe_pole",
	"format": "string",
	"groupName": "",
	"possibleValues": null,
	"regexp": "Регулярное выражение",
	"minLength": 0,
	"maxLength": 225,
	"isRequired": true,
	"defaultValue": null,
	"visible": true,
	"order": null
}

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

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

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

Формат: text/plain

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

PUT /cars/customfields/{id}

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


PUT /cars/customfields/82?token=gtr543lpas87	

id: id дополнительного поля

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

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

Формат: json

{
	"id": 82,
	"name": "Дополнительное поле",
	"translit": "Dopolnitelnoe_pole",
	"format": "list",
	"groupName": "",
	"possibleValues": ["значение 1"],
        "regexp": null,
	"minLength": 0,
	"maxLength": 0,
	"isRequired": true,
	"defaultValue": "значение 1",
	"visible": true,
	"order": null
}

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

Ответ:

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

Формат: json

{
	"id": 82,
	"name": "Дополнительное поле",
	"translit": "Dopolnitelnoe_pole",
	"format": "list",
	"groupName": "",
	"possibleValues": ["значение 1"],
	"regexp": null,
	"minLength": 0,
	"maxLength": 0,
	"isRequired": true,
	"defaultValue": "значение 1",
	"visible": true,
	"order": null
}

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

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

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

Формат: text/plain

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

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

Формат: text/plain

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

DELETE /cars/customfields/{id}

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


DELETE /cars/customfields/82?token=gtr543lpas87	

id: id дополнительного поля

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

Ответ:

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

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Automap — rest — Notification

GET /notifies

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


GET /notifies?token=gtr543lpas87

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

Ответ:

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

Формат: json

[{
	"id": 1,
	"name": "Название",
	"timeFrom": 0,
	"timeTill": 86340000,
	"message": "",
	"expired": null,
	"eventId": 18,
	"carIds": [1887,2067,3152,3154],
	"userIds": [1908]
},…]

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

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

Формат: text/plain

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

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

Формат: text/plain

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

GET /notifies/{id}

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


GET /notifies/1?token=gtr543lpas87	

id: id оповещения

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

Ответ:

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

Формат: json

{
	"id": 1,
	"name": "Название",
	"timeFrom": 0,
	"timeTill": 86340000,
	"message": "",
	"expired": null,
	"eventId": 18,
	"carIds": [1887,2067,3152,3154],
	"userIds": [1908]
}

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

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

Формат: text/plain

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

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

Формат: text/plain

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

POST /notifies

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


POST /notifies?token=gtr543lpas87	

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

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

{
	"carIds": [1232],
	"eventId": 6,
	"expired": 1422434434000,
	"message": "ТС car.carInfo.carNo : event.info в date_from",
	"name": "Новое оповещение",
	"timeFrom": 36000000,
	"timeTill": 86340000,
	"userIds": [262, 3]
}

// id ТС, массив
// id события, целое число
// дата истечения отправки оповещений, timestamp
// текст сообщения, строка
// название оповещения, строка
// начало оповещения, timestamp
// конец оповещения, timestamp
// id пользователей, массив

Ответ:

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

Формат: json

{
	"id": 381,
	"name": "Новое оповещение",
	"timeFrom": 36000000,
	"timeTill": 86340000,
	"message": "ТС car.carInfo.carNo : event.info в date_from",
	"expired": 1422434434000,
	"eventId": 6,
	"carIds": [123211],
	"userIds": [262, 3]
}

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

Примечание:

При создании или редактировании оповещений в поле «message» появляются шаблонные варианты уведомлений, которые будут приходить определенным пользователям в виде электронных писем или SMS (в зависимости от настроек сервера). Текст этого шаблона зависит от типа выбранного события.

Кроме того, пользователю с правами администрирования доступно редактирование готовых шаблонов. Для этого он может воспользоваться следующими атрибутами:

  • car.carInfo.carNo — государственный номер транспортного средства;
  • date_from — дата начала события;
  • date_to — дата окончания события;
  • event.info — информация о событии;
  • car.carInfo.model — модель транспортного средства;
  • car.carInfo.mark — марка транспортного средства;
  • notify.time_from — время начала оповещения;
  • notify.time_till — время окончания оповещения;
  • event.data_from — дата начала события;
  • event.data_till — дата окончания события.

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

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

Формат: text/plain

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

PUT /notifies/{id}

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


PUT /notifies/28?token=gtr543lpas87	

id: id оповещения

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

Формат: json

{
	"carIds": [123211],
	"eventId": "9",
	"expired": 1422434434000,
	"id": 28,
	"message": "На ТС car.carInfo.carNo : event.info в date_from",
	"name": "Новое название",
	"timeFrom": 43200000,
	"timeTill": 86340000,
	"userIds": [262]
}

// id ТС, массив
// id события, целое число
// дата истечения отправки оповещений, timestamp
// id оповещения, целое число
// текст сообщения, строка
// название оповещения, строка
// начало оповещения, timestamp
// конец оповещения, timestamp
// id пользователей, массив

Ответ:

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

Формат: json

{
	"id": 28,
	"name": "Новое название",
	"timeFrom": 43200000,
	"timeTill": 86340000,
	"message": "На ТС car.carInfo.carNo : event.info в date_from",
	"expired": 1422434434000,
	"eventId": 9,
	"carIds": [123211],
	"userIds": [262]
}

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

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

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

Формат: text/plain

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

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

Формат: text/plain

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

DELETE /notifies/{id}

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


DELETE /notifies/33?token=gtr543lpas87	

id: id оповещения

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

Ответ:

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

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

Формат: text/plain

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

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

Формат: text/plain

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

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

MapSurfer — rest — main

GET /baseLayers

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


GET /baseLayers

Ответ:

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

Формат: json


{
    "schemas": [{
        "name": "Карта России",
        "className": "newClass()",
        "order": 0,
        "code": 307516729
    },...],
    "spaces": [{
        "name": "Космоснимки Роскосмос",
        "className": "new Class2()",
        "order": 0,
        "code": 500344996
    },...]
}



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

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

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

Формат: text/plain

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

GET /mapExtent

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


GET /mapExtent

Ответ:

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

Формат: json


{
    "mapExtent": {
        "id": 6,
        "name": "Наименование",
        "extent": {
            "minX": 47.867088965011725,
            "minY": 54.233424150623314,
            "maxX": 54.99757390915839,
            "maxY": 56.72299186350165,
            "projection": "EPSG:4326"
        }
    }
}



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

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

Формат: text/plain

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

GET /version

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


GET /version

Ответ:

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

Формат: json


3.5-SNAPSHOT


// текущая версия приложения

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

Формат: text/plain

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

GET /locale

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


GET /locale

Ответ:

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

Формат: json


{
    "language": "ru",
    "country": "Russia",
    "code": "ru"
}



// язык, строка
// страна, строка
// код, строка

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

Формат: text/plain

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

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

MapSurfer — rest — auth

POST /auth/token

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


POST /auth/token

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

Формат: json


{
    "login": "testlogin",
    "password": "12345"
}



// логин пользователя, строка
// пароль, строка

Ответ:

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

Формат: json


{
    "token": "hwk12poi3f1",
    "refreshToken": "mbs90lon2a8",
    "ttl": 3600
}



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

Статус: 401 — логин или пароль переданы неверно

Формат: text/plain

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

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

Формат: text/plain

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

GET /auth/token/refresh

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


GET /auth/token/refresh?refreshToken=mbs90lon2a8

refreshToken: ключ для обновления ключа доступа

Ответ:

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

Формат: json


{
    "token": "hwk12poi3f1",
    "refreshToken": "mbs90lon2a8",
    "ttl": 3600
}



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

Статус: 400 — не передан параметр refreshToken

Формат: text/plain

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

Статус: 404 — параметр refreshToken не найден в системе

Формат: text/plain

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

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

Формат: text/plain

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

GET /auth

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


GET /auth?token=mbs90lon2a8

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

Ответ:

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

Формат: json


{
    "authenticated": "true",
    "user": {
        "id": 1,
        "login": "admin",
        "name": "Администратор ведомств",
        "info": {
            "id": 1,
            "address": "Страна, город, улица",
            "phone": "+79655905559",
            "fax": "5173443",
            "email": "email@email.com",
            "inn": 253565322124,
            "kpp": null,
            "passport": "",
            "bank": "",
            "bankKpp": null,
            "bankBik": null,
            "bankSchet": ""
        },
        "organizationId": null,
        "roleId": 8,
        "role": {
            "id": 8,
            "title": "Администратор ведомств"
        }
    }
}



// true, если пользователь авторизован, иначе false, булевое поле
// данные о пользователе, если он авторизован, объект
// id пользователя, целое число
// логин пользователя
// имя пользователя, строка
// данные о пользователе, объект
// id пользователя, целое число
// адрес пользователя, строка
// телефон, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// паспортные данные, строка
// банковские данные, строка
// банк КПП, целое число
// банк БИК, целое число
// банковский счет, строка

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

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

Формат: text/plain

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

GET /users/current

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


GET /users/current?token=mbs90lon2a8

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

Ответ:

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

Формат: json


{
    "user": {
        "id": 61,
        "login": "admin",
        "name": "Администратор ведомств",
        "info": {
            "id": 61,
            "address": "Страна, город, улица",
            "phone": "",
            "fax": "",
            "email": "",
            "inn": null,
            "kpp": null,
            "passport": "",
            "bank": "",
            "bankKpp": null,
            "bankBik": null,
            "bankSchet": ""
        },
        "organizationId": null,
        "roleId": 8,
        "role": {
            "id": 8,
            "title": "Администратор ведомств"
        }
    }
}



// данные о текущем пользователе, объект
// id пользователя, целое число
// логин пользователя, строка
// ФИО пользователя, строка
// дополнительная информация о пользователе
// id пользователя, целое число
// адрес пользователя, строка
// телефон, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// паспортные данные, строка
// банковские реквизиты, строка
// банк КПП, строка
// банк БИК, строка
// банковский счет, строка

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

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

Формат: text/plain

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

GET /logout

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


GET /logout?token=mbs90lon2a8

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

Ответ:

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

Формат: json


{
    "status": "ok"
}

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

Формат: text/plain

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

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

MapSurfer — rest — users

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

GET /users

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


GET /users?token=mbs90lon2a8

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

Ответ:

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

Формат: json


[{
    "id": 1,
    "login": "login",
    "name": "ФИО пользователя",
    "info": {
        "id": 1,
        "address": "Страна, город, улица",
        "phone": "+79173633639",
        "fax": "",
        "email": "user@user.com",
        "inn": 6547822145,
        "kpp": 0,
        "passport": "",
        "bank": "",
        "bankKpp": 55547852,
        "bankBik": 04466851752,
        "bankSchet": ""
    },
    "organizationId": 9,
    "roleId": 2
},...]



// id пользователя, целое число
// логин пользователя, строка
// имя пользователя, строка
// информация о пользователе, объект
// id пользователя, целое число
// адрес, строка
// телефон, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// паспортные данные, строка
// банковские реквизиты, строка
// банк КПП, целое число
// банк БИК, целое число
// банковский счет, целое число

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

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

Формат: text/plain

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

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

GET /users/count

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


GET /users/count?token=mbs90lon2a8

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

Ответ:

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

Формат: json


{
    233
}



// количество пользователей, целое число

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

Формат: text/plain

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

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

GET /users/{id}/info

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


GET /users/12/info?token=mbs90lon2a8

id: id пользователя

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

Ответ:

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

Формат: json


{
    "id": 12,
    "address": "Адрес",
    "phone": "+79655904447",
    "fax": "2156847",
    "email": "email@email.com",
    "inn": 362124752,
    "kpp": 0,
    "passport": "",
    "bank": "",
    "bankKpp": 0,
    "bankBik": 0,
    "bankSchet": ""
}



// id пользователя, целое число
// адрес, строка
// телефон, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// паспортные данные, строка
// банковские реквизиты, строка
// банк КПП, целое число
// банк БИК, целое число
// банковский счет, целое число

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

Формат: text/plain

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

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

GET /users/roles

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


GET /users/roles?token=mbs90lon2a8

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

Ответ:

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

Формат: json


[
    {
        "title": "Заказчик",
        "id": 1
    },
    {
        "title": "Администратор ведомств",
        "id": 2
    },...
]




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


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

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

Формат: text/plain

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

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

POST /users

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


POST /users?token=mbs90lon2a8

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

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

Формат: json


{
    "info": {
        "address": "Город, улица, дом",
        "email": "email",
        "fax": "",
        "inn": "325365602014",
        "passport": "",
        "phone": "+79600802229"
    },
    "login": "adminvedomstv",
    "name": "ФИО пользователя",
    "password": "123456",
    "roleId": 2
}



// информация о пользователе, объект
// адрес пользователя, строка
// электронная почта, строка
// факс, строка
// ИНН, целое число
// паспортные данные, строка
// номер телефона, строка

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

Ответ:

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

Формат: json


{
    "id": 172,
    "login": "adminvedomstv",
    "name": "ФИО пользователя",
    "info": {
        "id": 172,
        "address": "Город, улица, дом",
        "phone": "+79600802229",
        "fax": "",
        "email": "",
        "inn": 325365602014,
        "kpp": 0,
        "passport": "",
        "bank": "",
        "bankKpp": 0,
        "bankBik": 0,
        "bankSchet": ""
    },
    "organizationId": null,
    "roleId": 2
}



// id пользователя, целое число
// логин пользователя, строка
// имя пользователя, строка
// информация о пользователе, объект
// id пользователя, целое число
// адрес, строка
// телефон, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// паспортные данные, строка
// банковские реквизиты, строка
// банк КПП, целое число
// банк БИК, целое число
// банковский счет, строка

// id организации, целое число
// id роли, целое число

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

Формат: text/plain

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

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

PUT /users/{id}

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


PUT /users/24?token=mbs90lon2a8

id: id пользователя

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

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

Формат: json


{
    "id": 24,
    "info": {
        "address": "Город, улица, дом",
        "email": "",
        "fax": "",
        "inn": 325365602014,
        "passport": "",
        "phone": "+79600802229"
    },
    "login": "adminvedomstv",
    "name": "ФИО пользователя",
    "password": "123456",
    "roleId": 2
}



// id пользователя, целое число
// информация о пользователе, объект
// адрес пользователя, строка
// электронная почта, строка
// факс, строка
// ИНН, целое число
// паспортные данные, строка
// номер телефона, строка

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

Ответ:

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

Формат: json


{
    "id": 24,
    "login": "adminvedomstv",
    "name": "ФИО пользователя",
    "info": {
        "id": 24,
        "address": "Новый адрес",
        "phone": "+79600802229",
        "fax": "",
        "email": "new email",
        "inn": 325365602014,
        "kpp": 0,
        "passport": "Новые паспортные данные",
        "bank": "",
        "bankKpp": 0,
        "bankBik": 0,
        "bankSchet": ""
    },
    "organizationId": null,
    "roleId": 8
}



// id пользователя, целое число
// логин пользователя, строка
// имя пользователя, строка
// информация о пользователе, объект
// id пользователя, целое число
// адрес, строка
// телефон, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// паспортные данные, строка
// банковские реквизиты, строка
// банк КПП, целое число
// банк БИК, целое число
// банковский счет, строка

// id организации, целое число
// id роли, целое число

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

Формат: text/plain

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

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

DELETE /users/{id}

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


DELETE /users/24?token=mbs90lon2a8

id: id пользователя

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

Ответ:

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

Формат: json


{
    "delete": true
}

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

Формат: text/plain

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

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

GET /users.xlsx

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


GET /users.xlsx?token=mbs90lon2a8

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

Ответ:

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

Формат: json

Возвращает бинарный файл

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

Формат: text/plain

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

GET /users/groups

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


GET /users/groups?token=mbs90lon2a8

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

Ответ:

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

Формат: json


{
	"groups": [{
		"id": 1,
		"name": "Название группы",
		"order": 10
	},...]
}



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

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

Формат: text/plain

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

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

MapSurfer — rest — reports

GET /jreports

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


GET /jreports?token=mbs90lon2a8

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

editable: дополнительный параметр, возвращает список отчетов, которые являются редактируемыми

Ответ:

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

Формат: json


[{
    "id": 705,
    "order": 1,
    "name": "Название отчета",
    "parameters": [{
        "id": 764,
        "description": "Дата с",
        "type": "date",
        "name": "in_date_from",
        "prompt": true
    }],
    "dataStoreId": null
}]



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


// id хранилища, целое число

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

Формат: text/plain

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

GET /jreports/{reportId}

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


GET /jreports/705?token=mbs90lon2a8

reportId: id отчета

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

Ответ:

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

Формат: json


{
    "id": 705,
    "order": 1,
    "name": "Название отчета",
    "parameters": [{
        "id": 764,
        "description": "Дата с",
        "type": "date",
        "name": "in_date_from",
        "prompt": true,
        "sourceQuery": null,
        "lib": false,
        "order": 1
    }],
    "dataStoreId": null
}



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



// порядоковый номер в списке, целое число

// id хранилища, целое число

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

Формат: text/plain

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

POST /jreports/load

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


POST /jreports/load?token=mbs90lon2a8

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

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

Формат: xml


<?xml .....


// xml отчета, созданного через ПО

Ответ:

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

Формат: json


{
    "status": "ok",
    "data": ["p198coiisr1o0c1a.jrxml"]
}



// статус ответа
// uuid загруженного файла

Статус: 403 — нет доступа к загрузке отчета

Формат: text/plain

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

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

Формат: text/plain

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

GET /jreports/add/{uuid}

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


GET /jreports/add/p198coiisr1o0c1a15vmu1knv5iv3.jrxml?token=mbs90lon2a8

uuid: uuid файла отчета

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

Ответ:

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

Формат: json


[{
    "name":"in_integer",
    "type":"int"
}]



// название, строка
// тип, строка

Статус: 403 — нет доступа к загрузке отчета

Формат: text/plain

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

Статус: 404 — отчет не загружен

Формат: text/plain

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

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

Формат: text/plain

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

POST /jreports

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


POST /jreports?token=mbs90lon2a8

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

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

Формат: json


{
	"params": [{
		"description": "Параметр",
		"type": "text",
		"name": "new_parameter"
	}],
	"xmlFile": "p18oa94t92ptv19f.jrxml",
	"name": "Название отчета"
}



// объект параметров, массив
// описание параметра(русское название), строка
// тип, строка
// название в xml, строка

// uuid, строка
// название отчета, строка

Ответ:

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

Формат: json


{
    "dataStoreId": 21,
    "id": 1068,
    "name": "Название отчета",
    "order": 50,
    "parameters": [{
        "id": 1147,
        "description": "Параметр",
        "type": "text",
        "name": "new_parameter",
        "prompt": true
    }]
}



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

Статус: 403 — нет доступа к загрузке отчета

Формат: text/plain

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

Статус: 404 — отчет не загружен

Формат: text/plain

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

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

Формат: text/plain

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

PUT /jreports/{reportId}

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


PUT /jreports/604?token=mbs90lon2a8

reportId: id отчета

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

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

Формат: json


{
	"name": "Название отчета",
	"parameters": [{
		"id": 604,
		"description": "Начиная с",
		"type": "date",
		"name": "in_date_from",
		"prompt": true
	}]
}



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

Ответ:

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

Формат: json


{
	"status": "ok",
}



// статус ответа

Статус: 403 — нет доступа к загрузке отчета

Формат: text/plain

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

Статус: 404 — отчет не загружен

Формат: text/plain

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

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

Формат: text/plain

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

DELETE /jreports/{id}

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


DELETE /jreports/25?token=mbs90lon2a8

id: id удаляемого отчета

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

Ответ:

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

Формат: json


{
    "delete":true
}

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

Формат: text/plain

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

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

MapSurfer — rest — loadfile

POST /layers/upload

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


POST /layers/upload?token=mbs90lon2a8

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

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

Формат: данные файла


<?файл .....


// тело файла

Ответ:

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

Формат: json


{
    "status": "ok",
    "data": ["p18hps8iga1pi81aot89i18d81of87.tif"]
}



// статус ответа
// uuid загруженного файла

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

Формат: text/plain

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

GET /layers/upload/{uuid}

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


GET /layers/upload/p18hps8iga1pi81aot89i18d81of87.tif?token=mbs90lon2a8

uuid: uuid файла слоя

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

Ответ:

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

Формат: json


{
	"type": "vector",
	"geometryType": "multipolygon",
	"attributes": [{
		"name": "the_geom",
		"rusName": "the_geom",
		"type": "MultiPolygon",
		"isGeometryField": true
	}]
}



// тип слоя (vector или raster), строка
// тип геометрии, строка
// массив атрибутов
// название атрибута, строка
// русское название атрибута, строка
// тип, строка
// является ли полем с геометрией, булевое поле

Статус: 403 — нет доступа к загрузке слоев

Формат: text/plain

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

Статус: 404 — файл слоя не загружен

Формат: text/plain

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

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

Формат: text/plain

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

POST /layers/uploaded

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


POST /layers/uploaded?token=mbs90lon2a8

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

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

Формат: json


{
        "attributes": [{
                "name": "zagolovok",
                "value": "Новый объект",
                "id": 14}],
        "customFields": {},
        "fileName": "p19kk78q2b1n1f1o6v76jkk71bit13.tif",
        "fromFile": true,
        "geometryType": "point",
        "groupId": 352,
        "isEditable": true,
        "layerType": "raster",
        "name": "novcyj_sloj",
        "title": "Новый слой",
        "withProjection": false
}



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

Ответ:

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

Формат: json


{
        "id": 16,
        "name": "Новый слой",
        "info": {
                "id": 16,
                "typeName": "local:new",
                "style": "raster",
                "service": "WMS",
                "poly": false,
                "requestUrl": "/service/wms"
        },
        "isEditable": true,
        "fields": [],
        "groupId": 351,
        "dataStoreId": null,
        "order": 1,
        "geometryType": "",
        "layerType": "raster",
        "dataStoreName": ""
}



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

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

Статус: 403 — нет доступа к загрузке слоев

Формат: text/plain

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

Статус: 404 — файл не загружен

Формат: text/plain

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

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

Формат: text/plain

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

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

MapSurfer — rest — geocode

POST /geocoding

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


POST /geocoding?token=mbs90lon2a8

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

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

Формат: json


{
    "layersId": ["10","12","26"],
    "query": "Казань",
    "point": {
        "lon": 50.69091796875,
        "lat": 55.33851784425634
    },
    "bBox": {
        "_southWest": {
            "lng": 46,
            "lat": 55
        },
        "_northEast": {
            "lng": 48,
            "lat": 57
        }
    }
}



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

// область запроса
// левая нижняя точка
// долгота точки, число с плавающей точкой
// широта точки, число с плавающей точкой

// правая верхняя точка
// долгота точки, число с плавающей точкой
// широта точки, число с плавающей точкой

Ответ:

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

Формат: json


{
    "layers": [{
        "layer": "Улицы",
        "wmsName": "world:k2_ulitsy_l",
        "layerId": null,
        "items": [{
            "pkid": 162815,
            "label": "Республика Татарстан, Казань, Ледяная",
            "zoom": 16,
            "point": {
                "lon": 49.28956419647526,
                "lat": 55.75372719479096
            }
        }]
    }]
}



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

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

Формат: text/plain

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

GET запрос

GET /geocoding

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


GET /geocoding?query=Казань&lon=55.45&lat=49.67&layersId=12,23,345,56&bbox=46,55,48,57
?token=mbs90lon2a8

query: строка запроса

lon: долгота центра карты, число с плавающей точкой

lat: широта центра карты, число с плавающей точкой

layersId: id слоев, где также надо осуществлять поиск, через запятую

bbox: область запроса

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

Ответ:

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

Формат: json


{
    "layers": [{
        "layer": "Улицы",
        "wmsName": "world:k2_ulitsy_l",
        "layerId": null,
        "items": [{
            "pkid": 162815,
            "label": "Республика Татарстан, Казань, Ледяная",
            "zoom": 16,
            "point": {
                "lon": 49.28956419647526,
                "lat": 55.75372719479096
            }
        }]
    }]
}



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

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

Формат: text/plain

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

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

MapSurfer — rest — download

POST /fileload

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


POST /fileload?photo=true

photo: необязательный параметр (необходим при загрузке фотографии)

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

Формат: json


<?файл .....


// тело файла

Ответ:

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

Формат: json


{
    "status": "ok",
    "data": ["p18hps8iga1pi81aot89i18d81of87.jpg"]
}



// статус ответа
// uuid загруженного файла

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

Формат: text/plain

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

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