Archives by date

You are browsing the site archives by date.

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

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

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

MapSurfer — rest — langs

GET /languages

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


GET /languages

Ответ:

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

Формат: json


[{
    "code": "en",
    "isCurrent": false
},
{
    "code": "ru",
    "isCurrent": true
}]



// язык, строка
// установлен ли сейчас, булевое поле


// язык, строка
// установлен ли сейчас, булевое поле

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

Формат: text/plain

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

/?lang=en

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


/?lang=en

Ответ:

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

Ответ от основного запроса

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

Формат: text/plain

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

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

MapSurfer — rest — service

GET /service/wms

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


GET /service/wms?service=WMS&request=GetMap&version=1.1.1&layers=kziokzn:vamin_kioski_p_vw& 
styles=vamin_kioski_p_vw_style_21_03_2011_19_20_16&format=image/png&transparent=true&height=256&
width=256&srs=EPSG:900913&bbox=5283327.395071382,7514065.628545966,5322463.153553393,7553201.387027976&token=mbs90lon2a8

service: сервис запроса WMS

request: название запроса GetMap

version: версия 1.1.1

layers: английское название слоя или слоев через запятую

styles: название стиля или стилей через запятую

format: формат, в котором вернется тайл

transparent: есть ли прозрачность

height: высота тайла

width: ширина тайла

srs: код проекции

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

cql_filter: строка CQL фильтра

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

Ответ:

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

Формат: зависит от параметра format

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

Статус: 403 — нет доступа к слою

Формат: text/plain

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

Статус: 404 — ни один слой не найден в системе

Формат: text/plain

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

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

Формат: text/plain

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

WMS — запрос легенды слоя

GET /service/wms

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


GET /service/wms?request=GetLegendGraphic&style=vamin_kioski_p_vw_style_21_03_2011_19_20_16&layer=kziokzn:
vamin_kioski_p_vw&format=image/png&token=mbs90lon2a8

request: название запроса GetLegendGraphic

layer: английское название слоя

style: название стиля слоя

format: формат, в котором вернется легенда

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

Ответ:

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

Формат: зависит от параметра format

Статус: 403 — нет доступа к слою

Формат: text/plain

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

Статус: 404 — слой не найден в системе

Формат: text/plain

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

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

Формат: text/plain

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

GET /service/wfs

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


GET /service/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=DEMO:kfu_building&outputFormat=json&
bbox=40.14404296875,52.905589081407825,61.23779296875,57.630699148918424&token=mbs90lon2a8

service: сервис запроса WFS

request: название запроса GetFeature

version: версия 1.0.0

typeName: английское название слоя

outputFormat: формат возвращаемых данных

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

srs: код проекции, по умолчанию EPSG:4326

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

Ответ:

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

Формат: зависит от параметра outputFormat

Статус: 403 — нет доступа к слою

Формат: text/plain

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

Статус: 404 — слой не найден в системе

Формат: text/plain

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

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

Формат: text/plain

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

POST /service/wfs/{layerId}

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


POST /service/wfs/114

service: сервис запроса WFS

layerId: id слоя

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

Формат: Xml


<wfs:Transaction service="WFS" version="1.0.0"
xmlns:wfs="http://www.opengis.net/wfs"
  xmlns:topp="
http://www.openplans.org/topp"
  xmlns:gml="
http://www.opengis.net/gml"
  xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="
http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd
http://www.openplans.org/topp
http://localhost:8080/geoserver/wfs/DescribeFeatureType?typename=topp:tasmania_roads">

  <wfs:Insert>
    <topp:tasmania_roads>
      <topp:the_geom>
        <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
          <gml:lineStringMember>
            <gml:LineString>
              <gml:coordinates decimal="." cs="," ts=" ">
494475.71056415,5433016.8189323 494982.70115662,5435041.95096618
              </gml:coordinates>
            </gml:LineString>
          </gml:lineStringMember>
        </gml:MultiLineString>
      </topp:the_geom>
      <topp:TYPE>alley</topp:TYPE>
    </topp:tasmania_roads>
  </wfs:Insert>
</wfs:Transaction>


// xml запроса к геосерверу, для указанного слоя

Ответ:

Статус: 200 — успешное выполнение, возвращается ответ от Geoserver

Статус: 403 — нет доступа к слою

Формат: text/plain

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

Статус: 404 — слой не найден в системе

Формат: text/plain

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

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

Формат: text/plain

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

Запрос sld-файла стиля

GET /service/styles/{layerId}/{styleName}.sld

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


GET /service/styles/367/set_wifi_iconstyle_02_10_2012_14_00_01.sld?token=mbs90lon2a8

layerId: id слоя

styleName: название стиля

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

Ответ:

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

Формат: text/xml

Статус: 403 — нет доступа к слою

Формат: text/plain

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

Статус: 404 — слой не найден в системе

Формат: text/plain

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

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

Формат: text/plain

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

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

MapSurfer — rest — accesses

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

GET /jreports/accesses

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


GET /jreports/accesses?token=mbs90lon2a8

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

Ответ:

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

Формат: json


[{
    "userId": 60,
    "reportId": 25,
    "reportName": "Отчет",
    "userLogin": "login",
    "userName": "ФИО пользователя",
    "read": false
},...]



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

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

Формат: text/plain

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

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

GET /jreports/accesses/count

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


GET /jreports/accesses/count?token=mbs90lon2a8

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

Ответ:

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

Формат: json


{
    367
}



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

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

Формат: text/plain

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

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

POST /jreports/accesses

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


POST /jreports/accesses?token=mbs90lon2a8

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

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

Формат: json


{
    "read": true,
    "reportId": 368,
    "userId": 58
}



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

Ответ:

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

Формат: json


{
    "read": true,
    "userName": "Имя пользователя",
    "userId": 58,
    "reportId": 368,
    "reportName": "Новый отчет"
}



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

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

Формат: text/plain

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

POST /jreports/ordering

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


POST /jreports/ordering?token=mbs90lon2a8

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

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

Формат: json


{
    "orderings": [{
        "id": 748,
        "order": 1
    },
    {
        "id": 747,
        "order": 2
    },…]
}



// порядок групп слоев, объект
// id группы, целое число
// порядок группы, целое число


// id группы, целое число
// порядок группы, целое число

Ответ:

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

Формат: json

Порядок сохранен

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

Формат: text/plain

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

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

GET /jreports/accesses.xlsx

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


GET /jreports/accesses.xlsx?token=mbs90lon2a8

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

Ответ:

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

Формат: json

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

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

Формат: text/plain

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

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