Главная страница
Базовые слои
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
Содержит описание ошибки
Языки
Доступные языки
GET /languages
Структура запроса:
GET /languages
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"code": "en",
"isCurrent": false
},
{
"code": "ru",
"isCurrent": true
}]
// язык, строка // установлен ли сейчас, булевое поле // язык, строка // установлен ли сейчас, булевое поле
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Переключение языка
Передается параметр с любым запросом, ответ от основного запроса
/?lang=en
Структура запроса:
/?lang=en
lang: код языка
Ответ:
Статус: 200 - успешное выполнение
Ответ от основного запроса
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Авторизация
Авторизация на сервере
POST /auth/token
Структура запроса:
POST /auth/token
Пример запроса:
{
"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": "",
"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
Содержит описание ошибки
Организации
Список организаций
GET /organizations
GET /organizations?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
id: 3,
name: "Клиент 1",
logo: "logo_3.png",
client: true,
mapinformerDeeplink: "https://mapinformer.geo4.me/Yy3keapLj3",
workgroupId: 3,
info: {
address: "",
phone: "",
fax: "",
email: "",
inn: null,
kpp: null,
bank: "",
bankKpp: null,
bankBik: null,
bankSchet: "",
fullName: "",
account: "",
headFio: "",
accountantFio: "",
maxUsersCount: null
},
totalUsers: 2,
dataStoreId: 3,
clusterId: 1,
clusterName: "По умолчанию1",
mapExtentBBox: {
minX: 37.4973678588867,
minY: 55.72034270027683,
maxX: 37.73769378662114,
maxY: 55.79375442691235,
projection: "EPSG:4326"
}
},...]
// id организации, целое число // название организации, строка // файл логотипа, строка // клиентская ли организация, булевое поле // ссылка для регистрации в организации, строка // id рабочей группы, целое число // дополнительная информация, объект // адрес, строка // телефон, строка // факс, строка // email, строка // ИНН, целое число // КПП, целое число // банк, строка // КПП банка, целое число // БИК банка, целое число // кор.счет банка, строка // полное юридическое название организации // счет организации, строка // ФИО руководителя, строка // ФИО бухгалтера, строка // максимальное количество пользователей в организации, целое число // всего пользователей в организации // id хранилища данных, целое число // id кластера, целое число // название кластера, строка // границы карты, объект // минимальный Х, вещественное число // минимальный Y, вещественное число // максимальный Х, вещественное число // максимальный Y, вещественное число // проекция, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Информация об организации
GET /organizations/{id}
GET /organizations/1?token=mbs90l3464252u7356678476843on2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
id: 3,
name: "Клиент 1",
logo: "logo_3.png",
client: true,
mapinformerDeeplink: "https://mapinformer.geo4.me/Yy3keapLj3",
workgroupId: 3,
info: {
address: "",
phone: "",
fax: "",
email: "",
inn: null,
kpp: null,
bank: "",
bankKpp: null,
bankBik: null,
bankSchet: "",
fullName: "",
account: "",
headFio: "",
accountantFio: "",
maxUsersCount: null
},
totalUsers: 2,
dataStoreId: 3,
clusterId: 1,
clusterName: "По умолчанию1",
mapExtentBBox: {
minX: 37.4973678588867,
minY: 55.72034270027683,
maxX: 37.73769378662114,
maxY: 55.79375442691235,
projection: "EPSG:4326"
}
}
// id организации, целое число // название организации, строка // файл логотипа, строка // клиентская ли организация, булевое поле // ссылка для регистрации в организации, строка // id рабочей группы, целое число // дополнительная информация, объект // адрес, строка // телефон, строка // факс, строка // email, строка // ИНН, целое число // КПП, целое число // банк, строка // КПП банка, целое число // БИК банка, целое число // кор.счет банка, строка // полное юридическое название организации // счет организации, строка // ФИО руководителя, строка // ФИО бухгалтера, строка // максимальное количество пользователей в организации, целое число // всего пользователей в организации // id хранилища данных, целое число // id кластера, целое число // название кластера, строка // границы карты, объект // минимальный Х, вещественное число // минимальный Y, вещественное число // максимальный Х, вещественное число // максимальный Y, вещественное число // проекция, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Описание организации
GET /organizations/{id}/about
GET /organizations/1?token=mbs90l3464252u7356678476843on2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: html
описание организации в формате html
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Создание организации
Доступно только для пользователей с правами гл. администратора и администратора организации
POST /organizations
POST /organizations?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
Формат: json
{
"name": "Организация",
"dataStoreId": 3,
"clusterId": 1,
"client": true,
"assignedOrganizationId": 3,
"info": {
"about": "",
"account": "",
"accountantFio": "",
"accountantSignatureUuid": null,
"address": "",
"bank": "",
"bankBik": "",
"bankKpp": "",
"bankSchet": "",
"email": "",
"fax": "",
"fullName": "",
"headFio": "",
"headSignatureUuid": null,
"inn": "",
"kpp": "",
"logoUuid": null,
"maxUsersCount": "",
"phone": "",
"stampUuid": null
},
"mapExtent": [
56.72299186350165,
54.233424150623314,
54.997573909158405,
47.86708896501173
]
}
// название организации, строка // id хранилища данных (доступно только гл. админу), целое число // id кластера (доступно только гл. админу), целое число // является ли организация клиентской (доступно только гл. админу), булевое поле // дополнительная информация, объект // информация об организации, строка // счет организации, строка // ФИО бухгалтера, строка // подпись бухгалтера, uuid загруженного файла, строка // адрес, строка // банк, строка // БИК банка, целое число // КПП банка, целое число // кор. счет банка, строка // email, строка // факс, строка // полное юридическое название организации, строка // ФИО директора, строка // подпись директора, uuid загруженного файла, строка // ИНН, целое число // КПП, целое число // логотип организации, uuid загруженного файла, строка // максимальное количество пользователей в организации, целое число // телефон, строка // печать, uuid загруженного файла, строка // минимальный Х, вещественное число // минимальный Y, вещественное число // максимальный Х, вещественное число // максимальный Y, вещественное число
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
id: 3,
name: "Клиент 1",
logo: "logo_3.png",
client: true,
mapinformerDeeplink: "https://mapinformer.geo4.me/Yy3keapLj3",
workgroupId: 3,
info: {
address: "",
phone: "",
fax: "",
email: "",
inn: null,
kpp: null,
bank: "",
bankKpp: null,
bankBik: null,
bankSchet: "",
fullName: "",
account: "",
headFio: "",
accountantFio: "",
maxUsersCount: null
},
totalUsers: 2,
dataStoreId: 3,
clusterId: 1,
clusterName: "По умолчанию1",
mapExtentBBox: {
minX: 37.4973678588867,
minY: 55.72034270027683,
maxX: 37.73769378662114,
maxY: 55.79375442691235,
projection: "EPSG:4326"
}
}
// id организации, целое число // название организации, строка // файл логотипа, строка // клиентская ли организация, булевое поле // ссылка для регистрации в организации, строка // id рабочей группы, целое число // дополнительная информация, объект // адрес, строка // телефон, строка // факс, строка // email, строка // ИНН, целое число // КПП, целое число // банк, строка // КПП банка, целое число // БИК банка, целое число // кор.счет банка, строка // полное юридическое название организации // счет организации, строка // ФИО руководителя, строка // ФИО бухгалтера, строка // максимальное количество пользователей в организации, целое число // всего пользователей в организации // id хранилища данных, целое число // id кластера, целое число // название кластера, строка // границы карты, объект // минимальный Х, вещественное число // минимальный Y, вещественное число // максимальный Х, вещественное число // максимальный Y, вещественное число // проекция, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение организации
Доступно только для пользователей с правами гл. администратора и администратора организации
PUT /organizations/{id}
PUT /organizations/35?token=mbs90lon2a8
id: id организации
token: ключ доступа
Пример запроса:
Формат: json
{
"id": 1,
"name": "Организация",
"dataStoreId": 3,
"clusterId": 1,
"client": true,
"assignedOrganizationId": 3,
"info": {
"about": "",
"account": "",
"accountantFio": "",
"accountantSignatureUuid": null,
"accountantSignatureDeleted": false,
"address": "",
"bank": "",
"bankBik": "",
"bankKpp": "",
"bankSchet": "",
"email": "",
"fax": "",
"fullName": "",
"headFio": "",
"headSignatureUuid": null,
"headSignatureDeleted": false,
"inn": "",
"kpp": "",
"logoUuid": null,
"logoDeleted": false,
"maxUsersCount": "",
"phone": "",
"stampUuid": null,
"stampDeleted": false
},
"mapExtent": [
56.72299186350165,
54.233424150623314,
54.997573909158405,
47.86708896501173
]
}
// id организации, целое число // название организации, строка // id хранилища данных (доступно только гл. админу), целое число // id кластера (доступно только гл. админу), целое число // является ли организация клиентской (доступно только гл. админу), булевое поле // дополнительная информация, объект // информация об организации, строка // счет организации, строка // ФИО бухгалтера, строка // подпись бухгалтера, uuid загруженного файла, строка // удален ли файл подписи бухгалтера, булевое поле // адрес, строка // банк, строка // БИК банка, целое число // КПП банка, целое число // кор. счет банка, строка // email, строка // факс, строка // полное юридическое название организации, строка // ФИО директора, строка // подпись директора, uuid загруженного файла, строка // удален ли файл подписи директора, булевое поле // ИНН, целое число // КПП, целое число // логотип организации, uuid загруженного файла, строка // удален ли файл логотипа, булевое поле // максимальное количество пользователей в организации, целое число // телефон, строка // печать, uuid загруженного файла, строка // удален ли файл печати, булевое поле // минимальный Х, вещественное число // минимальный Y, вещественное число // максимальный Х, вещественное число // максимальный Y, вещественное число
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
id: 3,
name: "Клиент 1",
logo: "logo_3.png",
client: true,
mapinformerDeeplink: "https://mapinformer.geo4.me/Yy3keapLj3",
workgroupId: 3,
info: {
address: "",
phone: "",
fax: "",
email: "",
inn: null,
kpp: null,
bank: "",
bankKpp: null,
bankBik: null,
bankSchet: "",
fullName: "",
account: "",
headFio: "",
accountantFio: "",
maxUsersCount: null
},
totalUsers: 2,
dataStoreId: 3,
clusterId: 1,
clusterName: "По умолчанию1",
mapExtentBBox: {
minX: 37.4973678588867,
minY: 55.72034270027683,
maxX: 37.73769378662114,
maxY: 55.79375442691235,
projection: "EPSG:4326"
}
}
// id организации, целое число // название организации, строка // файл логотипа, строка // клиентская ли организация, булевое поле // ссылка для регистрации в организации, строка // id рабочей группы, целое число // дополнительная информация, объект // адрес, строка // телефон, строка // факс, строка // email, строка // ИНН, целое число // КПП, целое число // банк, строка // КПП банка, целое число // БИК банка, целое число // кор.счет банка, строка // полное юридическое название организации // счет организации, строка // ФИО руководителя, строка // ФИО бухгалтера, строка // максимальное количество пользователей в организации, целое число // всего пользователей в организации // id хранилища данных, целое число // id кластера, целое число // название кластера, строка // границы карты, объект // минимальный Х, вещественное число // минимальный Y, вещественное число // максимальный Х, вещественное число // максимальный Y, вещественное число // проекция, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление организации
Доступно только для пользователей с правами гл. администратора
DELETE /organizations/{id}
DELETE /organizations/35?token=mbs90lon2a8
id: id организации
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"delete": true
}
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Экспорт организации
Доступно только для пользователей с правами гл. администратора и гл. инспектора
GET /organizations.xlsx
GET /organizations.xlsx?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Возвращает бинарный файл
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Пользователи
Список пользователей
GET /users
GET /users?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
id: 108,
login: "login",
name: "ФИО",
tracking: true,
organizationId: 4,
organizationName: "Организация",
roleId: 10,
info: {
id: 108,
address: "",
phone: "",
fax: null,
email: "",
passport: ""
}
},...]
// id пользователя, целое число // логин пользователя, строка // ФИО пользователя, строка // включен ли мониторинг, булевое поле // id организации, целое число // название организации, строка // id роли пользователя, целое число // информация о пользователе, объект // id пользователя, целое число // адрес, строка // телефон, строка // факс, строка // электронная почта, строка // паспортные данные, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Количество пользователей
GET /users/count
GET /users/count?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
233
// количество пользователей, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Информация о пользователе
GET /users
GET /users/108?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
id: 108,
login: "login",
name: "ФИО",
tracking: true,
organizationId: 4,
organizationName: "Организация",
roleId: 10,
info: {
id: 108,
address: "",
phone: "",
fax: null,
email: "",
passport: ""
}
}
// id пользователя, целое число // логин пользователя, строка // ФИО пользователя, строка // включен ли мониторинг, булевое поле // id организации, целое число // название организации, строка // id роли пользователя, целое число // информация о пользователе, объект // id пользователя, целое число // адрес, строка // телефон, строка // факс, строка // электронная почта, строка // паспортные данные, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Данные пользователя
GET /users/{id}/info
GET /users/124/info?token=mbs90lon2a8
id: id пользователя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 124,
"address": "Адрес",
"phone": "+79655904447",
"fax": "2156847",
"email": "",
"passport": ""
}
// 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
{
"login": "login",
"name": "ФИО",
"password": "",
"roleId": "10",
"organizationId": "4",
"tracking": false,
"info": {
"passport": "",
"address": "",
"phone": "",
"email": ""
}
"additionalOrgIds": [24]
}
// логин, строка // имя пользователя, строка // пароль, строка // id роли, целое число // id организации, целое число // включен ли мониторинг, булевое поле // информация о пользователе, объект // паспортные данные, строка // адрес пользователя, строка // номер телефона, строка // электронная почта, строка // массив id организаций для доступа к заданиям
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
id: 108,
login: "login",
name: "ФИО",
tracking: true,
organizationId: 4,
organizationName: "Организация",
roleId: 10,
info: {
id: 108,
address: "",
phone: "",
fax: null,
email: "",
passport: ""
}
}
// id пользователя, целое число // логин пользователя, строка // ФИО пользователя, строка // включен ли мониторинг, булевое поле // id организации, целое число // название организации, строка // id роли пользователя, целое число // информация о пользователе, объект // id пользователя, целое число // адрес, строка // телефон, строка // факс, строка // электронная почта, строка // паспортные данные, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение пользователя
Доступно только для пользователей с правами гл. администратора и администратора организации
PUT /users/{id}
PUT /users/24?token=mbs90lon2a8
id: id пользователя
token: ключ доступа
Пример запроса:
Формат: json
{
"id": 24,
"login": "login",
"name": "ФИО",
"password": "",
"roleId": "10",
"organizationId": "4",
"tracking": false,
"info": {
"passport": "",
"address": "",
"phone": "",
"email": ""
}
"additionalOrgIds": [24]
}
// id пользователя, целое число // логин, строка // имя пользователя, строка // пароль, строка // id роли, целое число // id организации, целое число // включен ли мониторинг, булевое поле // информация о пользователе, объект // паспортные данные, строка // адрес пользователя, строка // номер телефона, строка // электронная почта, строка // массив id организаций для доступа к заданиям
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
id: 108,
login: "login",
name: "ФИО",
tracking: true,
organizationId: 4,
organizationName: "Организация",
roleId: 10,
info: {
id: 108,
address: "",
phone: "",
fax: null,
email: "",
passport: ""
}
}
// 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": 1
},...
]}
// группы пользователей, массив // id группы, целое число // название группы, строка // порядковый номер группы, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Отчеты
Список отчетов
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
Содержит описание ошибки
Получение отчета по id
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": ["p198coiisr1o0c1a15vmu1knv5iv3.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": "p18oa94t92ptv19746li1abbbat9.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
Содержит описание ошибки
Права на отчеты
Список прав на отчеты
Доступно только для пользователей с правами администратора
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
Содержит описание ошибки
Сервисы
WMS - получение тайла слоя
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
Статус: 404 - ни один слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к слою
Формат: 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
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
WFS - получение WFS слоя
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
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
WFS - post запросы к геосерверу
POST /service/wfs/{layerId}
Структура запроса:
POST /service/wfs/{layerId}
service: сервис запроса WFS
Пример запроса:
Формат: 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
Содержит описание ошибки
Слои
Список слоев
GET /layers
Структура запроса:
GET /layers?token=mbs90lon2a8
token: ключ доступа
Получение списка слоев по английскому названию
GET /layers?name=testlayer?token=mbs90lon2a8
name: английское название слоя или слово, встречающееся в названии списка слоев
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"layers": [{
"order": 9,
"layer": {
"id": 135,
"name": "testlayerpoint",
"info": {
"id": 135,
"typeName": "test:testlayerpoint1410257743497_vw",
"style": "point",
"service": "WFS",
"poly": false,
"requestUrl": "/service/wfs"
},
"isEditable": true,
"fields": {
"id": 250,
"name": "Field",
"nameRu": "Поле",
"order": 1,
"title": false,
"view": true,
"type": "string"
}
},
"groupId": 12
}]
}
// массив слоев // порядковый номер в списке, целое число // объект слоя // id слоя, целое число // название слоя, строка // информация по слою, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // является ли редактируемым, булевое поле // объект полей // id поля, целое число // английское название поля, строка // русское название поля , строка // порядок следования в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип, строка // id группы
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Количество слоев
GET /layers/count?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
237
}
// количество слоев
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Создание слоя
POST /layers
Структура запроса:
POST /layers?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
Формат: json
{
"attributes": [{
"rusName": "Атрибут",
"name": "attribute",
"type": "string",
"isTitle": false,
"isView": true
}],
"customFields": {
"field_1": {
"field_id": 41,
"value": "1"
},
},
"geometryType": "point",
"groupId": 1053,
"dataStoreId": 12,
"fromFile": false,
"isEditable": true,
"layerType": "vector",
"name": "Novyi-sloy",
"styles": {
"isBase": true
},
"title": "Новый слой"
}
// данные об атрибутах, массив // русское название, строка // английское название, строка // тип, строка // является ли заголовком, булевое поле // показывать ли поле, булевое поле // дополнительные поля, объект // название дополнительного поля // id поля, целое число // значение поля, строка // тип геометрии, строка // id группы, целое число // id хранилища, целое число // из файла, булевое поле // является редактируемым, булевое поле // тип слоя, строка // английское название слоя, строка // стили, объект // является ли стиль простым, булевое поле // заголовок, строка
Примечание:
В зависимости от выбранного типа геометрии в "styles" могут передаваться следующие параметры:
- isBase - базовый стиль (булевое поле)
- isSymple - простой стиль (булевое поле)
- style - расширенный стиль (строка - описывается geocss)
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 154,
"name": "Новый слой",
"info": {
"id": 154,
"typeName": "test:novcyj_sloj_vw",
"style": "polygon",
"service": "WMS",
"poly": true,
"requestUrl": "/service/wms"
},
"isEditable": true,
"fields": [{
"id": 3452,
"name": "parameter",
"nameRu": "parameter",
"order": 1,
"title": false,
"view": true,
"type": "string"
}],
"groupId": 42,
"dataStoreId": 22,
"order": 3,
"geometryType": "multipolygon",
"dataStoreName": "fail_store",
"layerType": "vector"
}
// id слоя, целое число // название слоя, строка // информация о слое, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // является ли редактируемым, булевое поле // информация об атрибутах, массив // id атрибута, целое число // английское название атрибута, строка // русское название атрибута, строка // порядковый номер в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип, строка // id группы, целое число // id хранилища данных, целое число // порядковый номер в списке, целое число // тип геометрии, строка // название хранилища, строка // тип слоя, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение слоя
PUT /layers/{layerId}
Структура запроса:
PUT /layers/365?token=mbs90lon2a8
layerId: id изменяемого слоя
token: ключ доступа
Пример запроса:
Формат: json
{
"attributes": [{
"name": "nomer",
"rusName": "NOMER",
"type": "Long",
"isGeometryField": false,
"visible": null,
"view": true
},…],
"customFields": {
"field": {
"field_id": 501,
"value": ""
},
},
"dataStoreId": "21",
"fileName": "p19bmqvgl6101t1996124718ckqp4v.zip",
"fromFile": true,
"geometryType": "polygon",
"groupId": 1053,
"isEditable": true,
"layerType": "vector",
"name": "sloj_sloj",
"styles": {
"isBase": false,
"isSimple": true,
"style": "*{fill:#0000FF;}"
},
"title": "Слой слой",
"withProjection": true
}
// данные об атрибутах, массив // русское название, строка // английское название, строка // тип, строка // является геометрией, булевое поле // дополнительные поля, объект // название дополнительного поля // id поля, целое число // значение поля, строка // id хранилища, строка // название файла, строка // из файла, булевое поле // тип геометрии, строка // id группы, целое число // является редактируемым, булевое поле // тип слоя, строка // название слоя, строка // стили, объект // является ли стиль базовым, булевое поле // является ли стиль простым, булевое поле // geocss стиль // заголовок, строка // с проекцией, булевое поле
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 365,
"name": "Название слоя",
"info": {
"id": 365,
"typeName": "test:nazvanie_sloya_21399556133349_vw",
"style": "nazvanie_sloya_21399556133349style",
"service": "WFS",
"poly": false,
"requestUrl": "/service/wfs"
},
"isEditable": true,
"fields": [{
"id": 5972,
"name": "pole1",
"nameRu": "Атрибут_1",
"order": 1,
"title": true,
"view": true,
"type": "string"
},],
"dataStoreName": "ssc_inf",
"layerType": "vector",
"groupId": 117,
"dataStoreId": 21,
"order": 1,
"geometryType": "multipoint"
}
// id слоя, целое число // название слоя, строка // информация о слое, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // является ли редактируемым, булевое поле // информация об атрибутах, массив // id атрибута, целое число // английское название атрибута, строка // русское название атрибута, строка // порядковый номер в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип, строка // название хранилища, строка // тип слоя, строка // id группы, целое число // id хранилища данных, целое число // порядковый номер в списке, целое число // тип геометрии, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение конкретных полей слоя
PATCH /layers/{layerId}
Структура запроса:
PATCH /layers/1413?token=mbs90lon2a8
layerId: id изменяемого слоя
token: ключ доступа
Пример запроса:
Формат: json
{
"attributes": [{
"rusName": "Атрибут№1",
"name": "Attribute№1",
"type": "num",
"isTitle": false,
"isView": true
}],
"customFields": {
"newfield": {
"field_id": 501,
"value": "value"
},
},
"groupId": "1093",
"styles": {
"isBase": true
},
"title": "New layer name"
}
// данные об атрибутах, массив // русское название, строка // английское название, строка // тип, строка // является заголовком, булевое поле // дополнительные поля, объект // название дополнительного поля // id поля, целое число // значение поля, строка // id группы, целое число // стили, объект // является ли стиль базовым, булевое поле // заголовок, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 1413,
"name": "New layer name",
"info": {
"id": 1413,
"typeName": "test:new_layer1419506827493_vw",
"style": "point",
"service": "WFS",
"poly": false,
"requestUrl": "/service/wfs"
},
"isEditable": true,
"fields": [{
"id": 15236,
"name": "newfield",
"nameRu": "Новое поле",
"order": 1,
"title": false,
"view": true,
"type": "string"
}],
"groupId": 1093,
"dataStoreId": 21,
"order": 6,
"geometryType": "multipoint",
"layerType": "vector",
"dataStoreName": "ssc_inf"
}
// id слоя, целое число // название слоя, строка // информация о слое, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // является ли редактируемым, булевое поле // информация о дополнительных полях, массив // id поля, целое число // английское название поля, строка // русское название поля, строка // порядковый номер в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип, строка // id группы, целое число // id хранилища данных, целое число // порядковый номер в списке, целое число // тип геометрии, строка // тип слоя, строка // название хранилища, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление слоя
DELETE /layers/{layerId}
Структура запроса:
DELETE /layers/14?token=mbs90lon2a8
layerId: id удаляемого слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"delete":true
}
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Экспорт слоев
Доступно только для пользователей с правами администратора
GET /layers.xlsx?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Возвращает бинарный файл
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Информация по слою
GET /layers/{layerId}
Структура запроса:
GET /layers/136?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"layer": {
"order": 2,
"layer": {
"id": 136,
"name": "Тестовый слой",
"info": {
"id": 136,
"typeName": "test:test_p",
"style": "test_p_style",
"service": "WMS",
"poly": false,
"requestUrl": "/service/wms",
"eisInfo": {
"hasEis": true,
"pkField": "id"
}
},
"isEditable": true,
"fields": [
{
"id": 4423,
"name": "Field",
"nameRu": "Поле 1",
"order": 1,
"title": false,
"view": true,
"type": "string"
}
],
"customFields": null,
"dataStoreName": "ssc_inf",
"layerType": "vector",
"isKosmosnimok": false,
"access": {
"edit": true,
"write": true,
"read": true
},
"geometryType": "multipolygon",
"cluster": null
},
"groupId": 14
}
}
// объект // порядковый номер в списке, целое число // объект слоя // id слоя, целое число // русское название слоя, строка // информация по слою, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // данные о наличии медиа информации, объект // есть ли медиа информация, булевое поле // поле для первичного ключа, строка // является ли редактируемым, булевое поле // массив полей // id поля, целое число // английское название поля, строка // русское название поля, строка // порядок следования в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип поля, строка // дополнительные поля, строка // название хранилища данных, строка // тип слоя, строка // является ли космоснимком, булевое поле // права текущего пользователя на слой // на изменение/удаление слоя // на добавление/изменение/удаление объектов слоя // на чтение // тип геометрии, строка // кластер, строка // id группы
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Информация по слою, исключая данные о группе слоя
GET /layers/{layerId}/info
Структура запроса:
GET /layers/132/info?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"layer": {
"id": 136,
"name": "Тестовый слой",
"info": {
"id": 136,
"typeName": "test:test_p",
"style": "test_p_style",
"service": "WMS",
"poly": false,
"requestUrl": "/service/wms",
"eisInfo": {
"hasEis": true,
"pkField": "id",
}
},
"isEditable": true,
"fields": [
{
"id": 4423,
"name": "vid",
"nameRu": "Поле1",
"order": 1,
"title": false,
"view": true,
"type": "string"
}
],
"customFields": null,
"dataStoreName": "ssc_inf",
"layerType": "vector",
"isKosmosnimok": false,
"access": {
"edit": true,
"write": true,
"read": true
},
"geometryType": "multipolygon",
"cluster": null
}
}
// объект слоя // id слоя, целое число // русское название слоя, строка // информация по слою, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // данные о наличии медиа информации, объект // есть ли медиа информация, булевое поле // поле для первичного ключа, строка // является ли редактируемым, булевое поле // массив полей // id поля, целое число // английское название поля, строка // русское название поля, строка // порядок следования в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип поля, строка // дополнительные поля, строка // название хранилища данных, строка // тип слоя, строка // является ли космоснимком, булевое поле // права текущего пользователя на слой // на изменение/удаление слоя // на добавление/изменение/удаление объектов слоя // на чтение // тип геометрии, строка // кластер, строка
Статус: 403 - у вас нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Информация о слоях
Граница слоя
GET /layers/{layerId}/bbox
Структура запроса:
GET /layers/199/bbox?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"boundingBox": {
"minx": "49.053",
"maxx": "49.24",
"miny": "55.739",
"maxy": "55.863",
"crs": "EPSG:4326"
}
}
// объект // минимальный x, вещественное число // минимальный y, вещественное число // максимальный x, вещественное число // максимальный y, вещественное число // код проекции, строка
Статус: 404 - слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Метаданные слоя
GET /layers/{layerId}/metadata
Структура запроса:
GET /layers/179/metadata?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"metadata": {
"id": 179,
"owner": "Владелец",
"dataCreate": "2011.12.28 09.47",
"dataUpdate": "2011.12.28 09.47",
"itemsCount": 45,
"type": {
"id": 1,
"name": "Космоснимки",
"fieldList": [
{
"id": 1,
"name": "Облачность",
"order": 1,
"inTable": true,
"inTableName": "clouds",
"fieldType": {
"id": 2,
"name": "Облачность",
"control": "input_integer",
"geomType": null,
"library": false,
"libraryData": {}
},
"necessary": false
}]
},
"additionalFieldValues": [
{
"field": {
"id": 4,
"name": "name",
"order": 6,
"inTable": false,
"inTableName": null,
"fieldType": {
"id": 3,
"name": "целое число",
"control": "input_integer",
"geomType": null,
"library": false,
"libraryData": {}
},
"necessary": false
},
"value": "значение"
}
],
"tableData": {
"clouds": "45",
"tecy_777": null,
"sputnik_id": "1",
"data": "2011-12-14 00:00:00+04",
"test777": "1",
"geom": null,
"layer_id": "179",
"quicklook": "kosmosnimok2012_02_08_05_06_06.jpg"
}
}
}
// метадата, объект // id слоя, целое число // владелец слоя, строка // дата создания, строка // дата обновления, строка // количество объектов, целое число // тип метаданных, объект // id типа, целое число // название типа, строка // массив полей // объект поля // id поля, целое число // название, строка // порядок отображения, целое число // содержится ли значение в основной таблице, булевое поле // название поля в основной таблице // тип поля, объект // id типа, целое число // название типа, строка // управляющий элемент, который используется, строка // тип геометрии, строка // нужно ли искать значение поля в словаре, булевое поле // данные словаря, объект // является ли обязательным,булевое поле // массив дополнительных полей // объект // объект поля // id поля, // название, строка // порядок отображения, целое число // содержится ли значение в основной таблице, булевое поле // название поля в основной таблице // тип поля, объект // id: типа, целое число // название типа, строка // управляющий элемент, который используется, строка // тип геометрии, строка // нужно ли искать значение поля в словаре, булевое поле // данные словаря, объект // является ли обязательным,булевое поле // значение поля // основная таблица с данными, объект // поле таблицы и его значение
Статус: 404 - слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Атрибуты слоя
GET /layers/{layerId}/attributes
Структура запроса:
GET /layers/199/attributes?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"attributes": [{
"name": "pole1",
"type": "string",
"isGeometryField": false
}],
"geometryType": "POLYGON",
"realGeometryType": "MULTIPOLYGON"
}
// массив атрибутов // название атрибута, строка // тип атрибута, строка // является ли полем с геометрией, булевое поле // тип геометрии (POINT, LINE, POLYGON), строка // реальный тип геометрии (POINT, MULTIPOINT, LINE, // MULTILINE, POLYGON, MULTIPOLYGON), строка
Статус: 404 - слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Стиль слоя
GET /layers/{layerId}/style
Структура запроса:
GET /layers/199/style?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"style": {
"styleName": "Polygon",
"geoCss": "*{\n mark: symbol(\"circle\");\n}",
"base": false,
"simple": true,
"styleSld": " "
}
}
// объект стиля // название стиля, строка // css стиля, строка // является ли базовым, булевое поле // является ли простым, булевое поле // sld стиля, строка
Статус: 404 - слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Стили слоев
GET /layers/styles/base
Структура запроса:
GET /layers/styles/base?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"styleName": "point",
"geoCss": "* {\n mark-opacity: 1.0;\n}",
"base": true,
"simple": false,
"styleSld": ""
},...]
// название стиля, строка // css стиля, строка // является ли базовым, булевое поле // является ли простым, булевое поле // sld стиля, строка
Статус: 404 - слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Тип геометрии стиля слоя
GET /layers/styles/base/{geomType}
Структура запроса:
GET /layers/styles/base/point?token=mbs90lon2a8
geomType: тип геометрии
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"style":{
"styleName": "point",
"geoCss": "* {\n mark-opacity: 1.0;\n}",
"base": true,
"simple": false,
"styleSld": ""
}
}
// информация о стиле, объект // название стиля, строка // css стиля, строка // является ли базовым, булевое поле // является ли простым, булевое поле // sld стиля, строка
Статус: 404 - слой не найден
Формат: text/plain
Содержит описание ошибки
Статус: 403 - нет доступа к данному слою
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Тип геометрии слоя
GET /layers/{layerId}/geometrytype
Структура запроса:
GET /layers/25/geometrytype?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"geometryType":"MULTIPOLYGON"
}
// название типа геометрии
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Кластеры слоя
GET /layers/{layerId}/cluster
Структура запроса:
GET /layers/25/cluster?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 11179,
"turned": true,
"maxZoom": 16,
"parameters": [{
"id": 401,
"objectsCount": 0,
"icon": {
"id": 99,
"name": "red",
"width": 73,
"height": 72
},
"labelColor": "ffffff"
}]
}
// id слоя, целое число // кластеризация включена, булевое поле // максимальный зум для кластеризации, целое число // параметры, массив // id, целое число // количество объектов, целое число // иконка, объект // id иконки, целое число // название иконки, строка // ширина, целое число // высота, целое число // цвет подписи, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Индексация слоя
GET /layers/{layerId}/reindex
Структура запроса:
GET /layers/34/reindex?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Принят запрос на индексацию
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Загрузка слоя из файла
Загрузка файла
POST /layers/upload
Структура запроса:
POST /layers/upload?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
Формат: данные файла
<?файл .....
// тело файла
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"status": "ok",
"data": ["p18hps8iga1pi81aot89i18d81of87.jpg"]
}
// статус ответа // uuid загруженного файла
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Получение параметров только что загруженного файла слоя
GET /layers/upload/{uuid}
Структура запроса:
GET /layers/upload/p18hps8iga1pi81aot89i18d81of87.jpg?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": 14736
}],
"files": [{
"uuid": "p198d8f2kflfs16fajt2135cnm17.txt",
"name": "Информация.txt"
}],
"geometry": {
"type": "MultiPoint",
"coordinates": [[50.020751953125, 55.485079037526134]]
},
"pages": [{
"url": "http://url.com",
"description": "url",
"size": {
"width": 400,
"height": 400
}
}],
"photos": [{
"uuid": "p198d8evun1jnui37108u16ff1g4e5.png",
"name": "search.png"
}]
}
// список атрибутов // название атрибута, строка // значение атрибута, строка // id атрибута, целое число // список файлов // uuid файла, строка // название файла, строка // объект геометрии // тип геометрии, строка // координаты, массив // информация о ссылках // адрес ссылки, строка // описание ссылки, строка // размер, объект // ширина, целое число // высота, целое число // информация о фотографиях // uuid фотографии, строка // название фотографии, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 8513,
"name": "Название",
"isEditable": true,
"fields": [{
"id": 7041,
"name": "nomer",
"nameRu": "Номер",
"order": 1,
"title": false,
"view": true
}],
"groupId": 112,
"info": {
"id": 8513,
"typeName": "test:awdaw1400500724038_vw",
"style": "polygon",
"service": "WMS",
"poly": true,
"requestUrl": "/service/wms"
},
"geometryType": "multipolygon",
"layerType": "vector",
"order": 126,
"dataStoreName": "ssc_inf"
}
// id слоя, целое число // название слоя, строка // является ли редактируемым, булевое поле // поля, массив // id поля, целое число // английское название поля, строка // русское название, строка // порядковый номер в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // id группы, целое число // информация по слою, объект // id слоя, целое число // английское название слоя, строка // тип сервиса, WFS/WMS // является ли полигоном, булевое поле // url для запроса, строка // тип геометрии, строка // тип слоя, строка // порядковый номер в списке, целое число // название хранилища, строка
Статус: 403 - нет доступа к загрузке слоев
Формат: text/plain
Содержит описание ошибки
Статус: 404 - файл не загружен
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Права доступа к слоям
Список прав доступа
Доступно только для пользователей с правами администратора
GET /layers/accesses
Структура запроса:
GET /layers/accesses?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"userId": 60,
"layerId": 41,
"groupId": 3,
"organizationId": 1,
"layerOrder": 9,
"groupOrder": 6,
"read": true,
"write": false,
"edit": true,
"isEditable": true,
"uniqueId": 257698053339,
"layerName": "Название слоя",
"groupName": "Название группы",
"userLogin": "login",
"userName": "ФИО пользователя"
},...]
// id пользователя, целое число // id слоя, целое число // id группы, целое число // id организации, целое число // порядковый номер слоя, целое число // порядковый номер группы, целое число // доступен к просмотру, булевое поле // доступен к управлению, булевое поле // доступен к редактированию, булевое поле // редактируемый, булевое поле // уникальный id, целое число // название слоя, строка // название группы, строка // пользовательский логин, строка // имя пользователя, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Количество прав доступа
Доступно только для пользователей с правами администратора
GET /layers/accesses/count
Структура запроса:
GET /layers/accesses/count?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
342
}
// количество прав доступа
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Создание права доступа
Доступно только для пользователей с правами администратора
POST /layers/accesses
Структура запроса:
POST /layers/accesses?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
Формат: json
{
"edit": false,
"layerId": 36,
"read": true,
"userId": 60,
"write": false
}
// право на редактирование, булевое поле // id слоя, целое число // право на просмотр, булевое поле // id пользователя, целое число // право на управление, булевое поле
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"read": true,
"write": false,
"edit": false,
"userId": 60,
"groupId": 18
}
// право на просмотр, булевое поле // право на управление, булевое поле // право на редактирование, булевое поле // id пользователя, целое число // id группы, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Экспорт прав доступа
Доступно только для пользователей с правами администратора
GET /layers/accesses.xlsx
Структура запроса:
GET /layers/accesses.xlsx?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Возвращает бинарный файл
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Хранилища слоев
GET /layers/datastores
Структура запроса:
GET /layers/datastores?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"id": 213,
"name": "for_delete",
"host": "178.213.247.170",
"port": 5432,
"database": "ssc",
"login": "julia",
"isInfrastructure": false,
"schema": "rcku"
},...]
// id хранилища, целое число // наименование хранилища, строка // хост, строка // порт, целое число // название базы данных, строка // логин пользователя, строка // из инфраструктуры, булевое поле // название схемы, с которой работает хранилище, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Группы слоев
Список групп слоев
GET /groups
Структура запроса:
GET /groups?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"groups": [{
"id": 1,
"name": "Группа 1",
"order": "1"
}]
}
// массив объектов с информацией по группе // id группы, целое число // название группы, строка // порядковый номер группы в списке, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список групп, включая полную информацию по принадлежащим им слоям
GET /groups/withLayers
Структура запроса:
GET /groups/withLayers?token=mbs90lon2a8
token: ключ доступа
Поиск списка групп, включая полную информацию по принадлежащим им слоям
GET /groups/withLayers?name=Группа?token=mbs90lon2a8
name: слово/фраза, которая входит в название списка групп
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"groups": [{
"id": 32,
"name": "Новая группа",
"order": "1",
"groupLayers": [{
"order": 1,
"layer": {
"id": 10,
"name": "Название слоя",
"info": {
"id": 10,
"typeName": "name",
"style": "style",
"service": "WMS",
"poly": false,
"requestUrl": "/service/wms",
},
"isEditable": true,
"fields": [{
"id": 4076,
"name": "Field",
"nameRu": "Поле",
"order": 1,
"title": false,
"view": true,
"type": "string"
}]
},
"groupId": 32
}]
}]
}
// массив групп // id группы, целое число // название группы, строка // порядковый номер группы, целое число // массив слоев // порядковый номер в списке, целое число // информация по слою, объект // id слоя, целое число // русское название слоя, строка // информация по слою, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // является ли редактируемым, булевое поле // массив полей // id поля, целое число // английское название поля, строка // русское название поля , строка // порядок следования в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип, строка // id группы
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список групп, включая краткую информацию по принадлежащим им слоям
GET /groups/shortdata/withLayers
Структура запроса:
GET /groups/shortdata/withLayers?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"groups": [{
"id": 32,
"name": "Группа",
"order": "1",
"groupLayers": [{
"layer": {
"id": 10,
"name": "Слой",
"enabled": false,
"info": {
"id": 10,
"typeName": "test:test_layer",
"style": "test_layer_a",
"service": "WMS",
"poly": false,
"requestUrl": "/service/wms",
},
},
"order": 1,
"groupId": 32
}]
}]
}
// массив групп // id группы, целое число // название группы, строка // порядковый номер группы, целое число // массив слоев // информация по слою, объект // id слоя, целое число // русское название слоя, строка // включен ли слой по умолчанию, булевое поле // информация по слою, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // порядок слоя в списке, целое число // id группы
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Поиск по названию
GET /groups
Структура запроса:
GET /groups?name=Пункт?token=mbs90lon2a8
name: слово/фраза, которая входит в название списка групп
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"groups": [{
"id": 32,
"name": "Группа 1",
"order": "1"
}]
}
// массив объектов с информацией по группе // id группы, целое число // название группы, строка // порядковый номер группы в списке, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Поиск по id
GET /groups/{groupId}
Структура запроса:
GET /groups/32?token=mbs90lon2a8
groupId: id группы
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"group": {
"id": 32,
"name": "Базовые слои",
"order": 1
}
}
// группа, объект // id группы, целое число // название группы, строка // порядок группы в списке
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Группа слоев, включая полную информацию по принадлежащим ей слоям
GET /groups/{groupId}/withLayers
Структура запроса:
GET /groups/32/withLayers?token=mbs90lon2a8
groupId: id группы
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"group": {
"id": 32,
"name": "Населенные пункты",
"order": "1",
"groupLayers": [{
"order": 1,
"layer": {
"id": 10,
"name": "Населенные пункты",
"info": {
"id": 10,
"typeName": "test:test_a",
"style": "style_test__a",
"service": "WMS",
"poly": true,
"requestUrl": "/service/wms",
},
"isEditable": true,
"fields": [{
"id": 4076,
"name": "test",
"nameRu": "Поле1",
"order": 1,
"title": true,
"view": true,
"type": "string"
}]
},
"groupId": 32
}]
}
}
// группа, объект // id группы, целое число // название группы, строка // порядковый номер группы, целое число // массив слоев // порядковый номер, целое число // информация по слою, объект // id слоя, целое число // русское название слоя, строка // информация по слою, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // массив полей // id поля, целое число // английское название поля, строка // русское название поля , строка // порядок следования в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип, строка // id группы
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Создание группы слоя
Доступно только для пользователей с правами администратора
POST /layers/groups
Структура запроса:
POST /layers/groups?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
Формат: json
{
"name": "Название новой группы слоев"
}
// название группы, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"group": {
"id": 32,
"name": "Населенные пункты",
"order": "1",
"groupLayers": [{
"order": 1,
"layer": {
"id": 10,
"name": "Населенные пункты",
"info": {
"id": 10,
"typeName": "test:test_a",
"style": "style_test__a",
"service": "WMS",
"poly": true,
"requestUrl": "/service/wms",
},
"isEditable": true,
"fields": [{
"id": 4076,
"name": "test",
"nameRu": "Поле1",
"order": 1,
"title": true,
"view": true,
"type": "string"
}]
},
"groupId": 32
}]
}
}
// группа, объект // id группы, целое число // название группы, строка // порядковый номер группы, целое число // массив слоев // порядковый номер, целое число // информация по слою, объект // id слоя, целое число // русское название слоя, строка // информация по слою, объект // id слоя, целое число // английское название слоя, строка // название стиля, строка // тип сервиса, WMS/WFS // является ли полигоном, булевое поле // url для запроса, строка // массив полей // id поля, целое число // английское название поля, строка // русское название поля , строка // порядок следования в списке, целое число // является ли заголовком, булевое поле // показывать ли поле, булевое поле // тип, строка // id группы
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Сохранение порядка группы слоя
Доступно только для пользователей с правами администратора
POST /layers/groups/ordering
Структура запроса:
POST /layers/groups/ordering?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
{
"orderings": [{
"id": 1093,
"order": 1
},
{
"id": 413,
"order": 2
},…]
}
// порядок групп слоев, объект // id группы, целое число // порядок группы, целое число // id группы, целое число // порядок группы, целое число
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение группы слоя
Доступно только для пользователей с правами администратора
PUT /layers/groups/{id}
Структура запроса:
PUT /layers/groups/27?token=mbs90lon2a8
id: id группы слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 27,
"name": "Новое название группы слоя",
"order": 1
}
// id группы, целое число // название группы, строка // порядковый номер группы, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление группы слоя
Доступно только для пользователей с правами администратора
DELETE /layers/groups/{id}
Структура запроса:
DELETE /layers/groups/27?token=mbs90lon2a8
id: id группы слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"delete": true
}
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Экспорт групп слоя
Доступно только для пользователей с правами администратора
GET /layers/groups.xlsx
Структура запроса:
GET /layers/groups.xlsx?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Возвращает бинарный файл
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Права организаций на группы
Список прав на группы
Доступно только для пользователей с правами администратора
GET /organizations/groups
GET /organizations/groups?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"organizationId": 1,
"groupId": 13,
"organizationName": "Министерство по ЧС",
"groupName": "Название группы",
"read": false
},...]
// id организации, целое число // id группы, целое число // название организации, строка // название группы, строка // доступна к просмотру, булевое поле
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Количество прав на группы
Доступно только для пользователей с правами администратора
GET /organizations/groups/count
GET /organizations/groups/count?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
56
}
// количество прав на группы, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Создание права на группу
Доступно только для пользователей с правами администратора
POST /organizations/groups
POST /organizations/groups?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
Формат: json
{
"groupId": 13,
"organizationId": 1,
"read": true
}
// id группы, целое число // id организации, целое число // доступна к просмотру, булевое поле
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Право на группу добавлено
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Экспорт прав на группу
Доступно только для пользователей с правами администратора
GET /organizations/groups.xlsx
GET /organizations/groups.xlsx?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Возвращает бинарный файл
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Объекты слоя
Создание объекта слоя
POST /layers/{layerId}/feature
Структура запроса:
POST /layers/145/feature?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Пример запроса:
Формат: json
{
"attributes": [{
"name": "Атрибут",
"value": "123456",
"id": 4677
}],
"files": [{
"uuid": "p19bmted386it1m9g1qf91h1n8jg7.doc",
"name": "gloreg.doc"
}],
"geometry": {
"type": "MultiPoint",
"coordinates": [[64.3359375,
60.58696734225869]]
},
"pages": [{
"url": "http://www.url.com",
"description": "Веб-страница",
"size": {
"width": 640,
"height": 360
}
}],
"photos": [{
"uuid": "p19bmtd4911ef215h0fal1ugg124a5.jpg",
"name": "Lighthouse.jpg"
}]
}
// список атрибутов // название атрибута, строка // значение, строка // id, целое число // список файлов // uuid загруженного файла, строка // название файла, строка // объект геометрии // тип геометрии, строка // координаты, массив // веб-страницы // адрес, строка // описание, строка // размер // ширина, целое число // высота, целое число // список фотографий // uuid загруженной фотографии, строка // название фотографии, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"insert": true
}
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение объекта слоя
PUT /layers/{layerId}/feature/{featureId}
Структура запроса:
PUT /layers/154/feature/3?token=mbs90lon2a8
layerId: id слоя
featureId: id объекта
token: ключ доступа
Пример запроса:
Формат: json
{
"addedFiles": ["1"],
"addedPhotos": ["2"],
"attributes": [{
"name": "Attribute",
"value": "12.52",
"id": 15236
}],
"files": [{
"uuid": "p19borhvav1kms1ks1vv62au1pfn7.xls",
"name": "cars.xls"
}],
"geometry": {
"type": "MultiPoint",
"coordinates": [[48.768310546875, 56.69244163539978]]
},
"pages": [{
"url": "http://www.page.com",
"objectId": 661,
"description": "Описание страницы",
"size": {
"width": 640,
"height": 360
}
}],
"photos": [{
"uuid": "p19borhjnvfm31nuaaja1dkfa335.png",
"name": "add-object-line.png"
}]
}
// список из идентификаторов ранее загруженных файлов // список из идентификаторов ранее загруженных фотографий // список атрибутов // название атрибута, строка // значение, строка // id, целое число // список файлов // uuid файла, строка // название файла, строка // объект геометрии // тип геометрии, строка // координаты, массив // список веб-страниц // адрес страницы, строка // id объекта, целое число // описание страницы, строка // размер // ширина, целое число // высота, целое число // список фотографий // uuid фотографии, строка // название фотографии, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"update": true
}
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение конкретных полей объекта слоя
Пример с удалением всех ранее добавленных картинок и прикреплением только что загруженного изображения.
PATCH /layers/{layerId}/feature/{featureId}
Структура запроса:
PATCH /layers/154/feature/3?token=mbs90lon2a8
layerId: id слоя
featureId: id объекта
token: ключ доступа
Пример запроса:
Формат: json
{
"photos": [{
"uuid": "p19borhjnvfm31nuaaja1dkfa335.png",
"name": "new_photo.png"
}]
}
// список фотографий // uuid фотографии, строка // название фотографии, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"addedFiles": ["1"],
"addedPhotos": [],
"attributes": [{
"name": "Attribute",
"value": "12.52",
"id": 15236
}],
"files": [{
"uuid": "p19borhvav1kms1ks1vv62au1pfn7.xls",
"name": "cars.xls"
}],
"geometry": {
"type": "MultiPoint",
"coordinates": [[48.768310546875, 56.69244163539978]]
},
"pages": [{
"url": "http://www.page.com",
"objectId": 661,
"description": "Описание страницы",
"size": {
"width": 640,
"height": 360
}
}],
"photos": [{
"uuid": "p19borhjnvfm31nuaaja1dkfa335.png",
"name": "new_photo.png"
}]
}
// список из идентификаторов ранее загруженных файлов // список из идентификаторов ранее загруженных фотографий // список атрибутов // название атрибута, строка // значение, строка // id, целое число // список файлов // uuid файла, строка // название файла, строка // объект геометрии // тип геометрии, строка // координаты, массив // список веб-страниц // адрес страницы, строка // id объекта, целое число // описание страницы, строка // размер // ширина, целое число // высота, целое число // список фотографий // uuid фотографии, строка // название фотографии, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление объекта слоя
DELETE /layers/{layerId}/feature/{featureId}
Структура запроса:
DELETE /layers/154/feature/3?token=mbs90lon2a8
layerId: id удаляемого слоя
featureId: id объекта
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"delete":true
}
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список объектов в точке
POST /layers/feature
Структура запроса:
POST /layers/feature?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
{
"layersId": ["198","245","345"],
"size": {
"x": 1920,
"y": 778
},
"extent": {
"southWest": {
"lat": 55.488191455802244,
"lon": 47.94158935546874
},
"northEast": {
"lat": 56.08889483995169,
"lon": 50.57830810546875
}
},
"point": {
"x": 859,
"y": 364
}
}
// массив id слоев, где будет осуществляться поиск // размер области видимости в пикселях, объект // пикселей по оси x, целое число // пикселей по оси y, целое число // область видимости карты, объект // координаты нижней левой точки на карте в градусах, объект // широта нижней левой точки, вещественное число // долгота нижней левой точки, вещественное число // координаты верхней правой точки на карте в градусах, объект // широта верхней правой точки, вещественное число // долгота верхней правой точки, вещественное число // точка центра области видимости в пикселях, объект // координата х, целое число // координата y, целое число
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"data": {
"kziokzn:vamin_kioski_p_vw": {
"features": [{
"fid": "141",
"zayavit": "ОАО Вамин Татарстан",
"syyinfo":"Есть",
"srnaimenovanie":"Ново-савиновский",
"geom":"",
"nomerdoma":"47",
"sunaimenovanie":"10летОктября[П, Ст.Победилово]",
"syinfo":"Есть",
"svinfo":"Существующий"
}
],
"layerId":198,
"geomFieldName":null
}
}
}
// объект найденных данных // английское название слоя, где найдены объекты // массив объектов // первичный ключ объекта, строка // поля объекта и их значения // id слоя // поле геометрии либо null
Статус: 403 - нет доступа к слоям
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список объектов в области
POST /layers/feature/bbox
Структура запроса:
POST /layers/feature/bbox?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
{
"layersId": ["198","234","23"],
"srs": "EPSG:4326",
"extent": {
"southWest": {
"lon": 49.04296875,
"lat": 55.754940702479146
},
"northEast": {
"lon": 49.299774169921875,
"lat": 55.90457539720638
}
}
}
// массив id слоев, где будет осуществляться поиск // проекция запроса, строка // область поиска, объект // координаты нижней левой точки области, объект // широта нижней левой точки, вещественное число // долгота нижней левой точки, вещественное число // координаты верхней правой точки области, объект // широта верхней правой точки, вещественное число // долгота верхней правой точки, вещественное число
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"data": {
"kziokzn:vamin_kioski_p_vw": {
"features": [
{
"fid": "141",
"zayavit": "ОАО Вамин Татарстан",
"syyinfo":"Есть",
"srnaimenovanie":"Ново-савиновский",
"geom":" ",
"nomerdoma":"47",
"sunaimenovanie":"10летОктября[П, Ст.Победилово]",
"syinfo":"Есть",
"svinfo":"Существующий"
}
],
"layerId":198,
"geomFieldName":null
}
}
}
// объект найденных данных // английское название слоя, где найдены объекты, строка // массив объектов // первичный ключ объекта, строка // поля объекта и их значения // id слоя, целое число // поле геометрии, строка
Статус: 403 - нет доступа к слоям
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Получение медиа информации, прикрепленной ко всем объектам слоя
GET /layers/eis/{layerId}
Структура запроса:
GET /layers/eis/198?token=mbs90lon2a8
layerId: id слоя
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[
{
"layerObjectId": 1,
"files": [
{
"objectId": "1",
"url": "/layers/eis/7392/1/photo/1",
"fileName": "Chrysanthemum.jpg",
"type": {
"id": 3,
"name": "photo"
},
"asUrl": false,
"width": null,
"height": null
}
]
}
]
// массив объектов с медиафайлами // объект слоя // id объекта слоя // массив найденных прикрепленных файлов // id файла // путь к файлу // название файла // тип файла // id типа, // название типа, может быть photo, video, audio, file, page // представлен ли файл как ссылка // ширина окна, для страниц (type=page) // высота окна, для страниц (type=page)
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Получение медиа информации, прикрепленной к объекту слоя
GET /layers/eis/{layerId}/{objectId}
Структура запроса:
GET /layers/eis/198/141?token=mbs90lon2a8
layerId: id слоя
objectId: значение первичного ключа объекта
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"files": [
{
"url": "/layers/eis/198/141/photo/247",
"fileName": "Чистопольская,47.JPG",
"type": {
"id": 3,
"name": "photo"
},
"asUrl": false,
"width": null,
"height": null
},
{
"url": "/layers/eis/198/141/file/247",
"fileName": "Чистопольская,47.JPG",
"type": {
"id": 4,
"name": "file"
},
"asUrl": false,
"width": null,
"height": null
}
]
}
// массив найденных прикрепленных файлов // путь к файлу // название файла // тип файла // id типа, // название типа, может быть photo, video, audio, file,page // представлен ли файл как ссылка, булевое поле // ширина окна, для страниц (type=page) // высота окна, для страниц (type=page) // адрес, строка // название файла, строка // тип, объект // id типа, целое число // название, строка // представлен ли файл как ссылка, булевое поле // ширина, целое число // высота, целое число
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Получение медиа файла, прикрепленного к объекту слоя
GET /layers/eis/{layerId}/{objectId}/photo/{photoId}
Структура запроса:
GET /layers/eis/198/141/photo/247?token=mbs90lon2a8
layerId: id слоя
objectId: первичный ключ объекта
photoId: первичный ключ фотографии
token: ключ доступа
Отображение прикрепленной фотографии с масштабированием по высоте
GET /layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}
Структура запроса:
GET /layers/eis/198/141/photo/247/100?token=mbs90lon2a8
layerId: id слоя
objectId: первичный ключ объекта
photoId: первичный ключ фотографии
height: высота для масштабирования
token: ключ доступа
Отображение прикрепленной фотографии с масштабированием по высоте и ширине
GET /layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}/{width}
Структура запроса:
GET /layers/eis/198/141/photo/247/100/150?token=mbs90lon2a8
layerId: id слоя
objectId: первичный ключ объекта
photoId: первичный ключ фотографии
height: высота для масштабирования
width: ширина для масштабирования
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: image/jpeg и т.д.
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Отображение прикрепленного файла
GET /layers/eis/{layerId}/{objectId}/{fileType}/{fileId}
Структура запроса:
GET /layers/eis/198/141/file/247?token=mbs90lon2a8
layerId: id слоя
objectId: первичный ключ объекта
fileType: тип файла: photo, video, audio, file
fileId: первичный ключ файла
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: зависит от типа отдаваемого файла
Статус: 404 - слой не найден в системе
Формат: text/plain
Содержит описание ошибки
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Хранилища
Список хранилищ
Доступно только для пользователей с правами администратора
GET /datastores
Структура запроса:
GET /datastores?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"id": 1,
"name": "Datastore",
"host": "192.168.63.36",
"port": 5432,
"database": "data",
"login": "login",
"isInfrastructure": true,
"schema": "data"
},...]
// id хранилища, целое число // название хранилища, строка // хост, строка // порт, целое число // база данных, строка // логин, строка // из инфраструктуры, булевое поле // название схемы, с которой работает хранилище, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Создание хранилища
Доступно только для пользователей с правами администратора
POST /datastores
Структура запроса:
POST /datastores?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
{
"name": "Datastore",
"host": "192.168.63.36",
"port": 5432,
"database": "data",
"login": "login",
"isInfrastructure": true,
"schema": "data"
}
// название хранилища, строка // хост, строка // порт, целое число // база данных, строка // логин, строка // из инфраструктуры, булевое поле // название схемы, с которой работает хранилище, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 25,
"name": "Datastore",
"host": "192.168.63.36",
"port": 5432,
"database": "data",
"login": "login",
"isInfrastructure": true,
"schema": "data"
}
// id хранилища, целое число // название хранилища, строка // хост, строка // порт, целое число // база данных, строка // логин, строка // из инфраструктуры, булевое поле // название схемы, с которой работает хранилище, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение хранилища
Доступно только для пользователей с правами администратора
PUT /datastores/{id}
Структура запроса:
PUT /datastores/64?token=mbs90lon2a8
id: id хранилища
token: ключ доступа
Пример запроса:
{
"id": 64,
"name": "Datastore",
"host": "192.164.63.32",
"port": 5874,
"database": "data",
"login": "login",
"password": "654321",
"isInfrastructure": true,
"schema": "data"
}
// id хранилища, целое число // название хранилища, строка // хост, строка // порт, целое число // база данных, строка // логин, строка // пароль, строка // из инфраструктуры, булевое поле // название схемы, с которой работает хранилище, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 64,
"name": "Datastore",
"host": "192.164.63.32",
"port": 5874,
"database": "data",
"login": "login",
"isInfrastructure": true,
"schema": "data"
}
// id хранилища, целое число // название хранилища, строка // хост, строка // порт, целое число // база данных, строка // логин, строка // из инфраструктуры, булевое поле // название схемы, с которой работает хранилище, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление хранилища
Доступно только для пользователей с правами администратора
DELETE /datastores/{id}
Структура запроса:
DELETE /datastores/64?token=mbs90lon2a8
id: id хранилища
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"delete": true
}
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Экспорт хранилищ
Доступно только для пользователей с правами администратора
GET /datastores.xlsx
Структура запроса:
GET /datastores.xlsx?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
Возвращает бинарный файл
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Проекции хранилищ
Доступно только для пользователей с правами администратора
GET /datastores/projections
Структура запроса:
GET /datastores/projections?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"projection": "EPSG:3819"
},...]
// проекция
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Проекции хранилища
Доступно только для пользователей с правами администратора
GET /datastores/{id}/projections
Структура запроса:
GET /datastores/42/projections?token=mbs90lon2a8
id: id хранилища
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"projection": "EPSG:3819"
},...]
// проекция
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Таблицы хранилища
Доступно только для пользователей с правами администратора
GET /datastores/{id}/tables
Структура запроса:
GET /datastores/42/tables?token=mbs90lon2a8
id: id хранилища
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"datastoreId": 42,
"tableId": 0,
"layerId": null,
"nameDb": "departments_news_points",
"geometryType": "POINT"
},...]
// id хранилища, целое число // id таблицы, целое число // id слоя, целое число // название базы данных, строка // тип геометрии, строка
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Информация о таблице хранилища
Доступно только для пользователей с правами администратора
GET /datastores/{id}/tables/{tablename}
Структура запроса:
GET /datastores/42/tables/test_table?token=mbs90lon2a8
id: id хранилища
tablename: название таблицы
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"geometryType": "multilinestring",
"name": "test_table",
"title": "Тестовая таблица",
"style": {
"styleName": null,
"geoCss": "* {\n stroke-dashoffset: 0;\n}",
"base": false,
"simple": false
},
"dataStoreId": 22,
"attributes": [{
"name": "attribute",
"rusName": "Атрибут",
"type": null,
"isTitle": null,
"title": null,
"isView": true,
"view": true,
"order": null
},...]
}
// тип геометрии, строка // название таблицы, строка // русское название таблицы, строка // стили, объект // название стиля, строка // geocss стиль, строка // базовый, булевое поле // простой, булевое поле // id хранилища, целое число // атрибуты таблицы, массив // название атрибута, строка // русское название атрибута, строка // тип, строка // является заголовком, булевое поле // заголовок, строка // доступен к просмотру, булевое боле // просмотр, булевое поле // порядковый номер, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Справочники
Список справочников
Доступно только для пользователей с правами администратора
GET /dictionary/icons
Структура запроса:
GET /dictionary/icons?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"id": 99,
"name": "red",
"width": 73,
"ownerOrganizationId":null,
"height": 72
},...]
// id справочника, целое число // название справочника, строка // ширина, целое число // id организации, пользователь которой добавил справочник (если null - пользователь не из организации) // высота, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список редактируемых справочников
Доступно только для пользователей с правами администратора
GET /dictionary/icons/editable
Структура запроса:
GET /dictionary/icons/editable?token=mbs90lon2a8
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[{
"id": 99,
"name": "red",
"width": 73,
"ownerOrganizationId": null,
"height": 72
},...]
// id справочника, целое число // название справочника, строка // ширина, целое число // id организации, пользователь которой добавил справочник (если null - пользователь не из организации) // высота, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Создание справочника
Доступно только для пользователей с правами администратора
POST /dictionary/icons
Структура запроса:
POST /dictionary/icons?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
{
"name": "Справочник",
"uuid": "p1996qif28t071sb22us1hd93lon.png"
}
// название справочника, строка // uuid изображения, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 51,
"name": "Справочник",
"width": 1258,
"height": 750
}
// id справочника, целое число // название справочника, строка // ширина, целое число // высота, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Изменение справочника
Доступно только для пользователей с правами администратора
PUT /dictionary/icons/{id}
Структура запроса:
PUT /dictionary/icons/51?token=mbs90lon2a8
id: id справочника
token: ключ доступа
Пример запроса:
{
"id": 51,
"name": "Новое название справочника",
"uuid": "p1996qif28t071sb22us1hd93lon.png"
}
// id справочника, целое число // название справочника, строка // uuid изображения, строка
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"id": 51,
"name": "Новое название справочника",
"width": 1258,
"height": 750
}
// id справочника, целое число // название справочника, строка // ширина, целое число // высота, целое число
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление справочника
Доступно только для пользователей с правами администратора
DELETE /dictionary/icons/{id}
Структура запроса:
DELETE /dictionary/icons/51?token=mbs90lon2a8
id: id справочника
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"delete": true
}
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Просмотр справочника
Доступно только для пользователей с правами администратора
GET /dictionary/icons/{id}/view
Структура запроса:
GET /dictionary/icons/23/view?token=mbs90lon2a8
id: id справочника
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: image/jpeg и т.д.
Изображение выбранного справочника
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Геокодирование
Поиск по адресу (POST запрос)
POST /geocoding
Структура запроса:
POST /geocoding?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
{
"layersId": ["10","12","26"],
"query": "Казань",
"bbox": {
"southWest": {
"lon 46,
"lat": 55
},
"northEast": {
"lon": 48,
"lat": 57
}
}
}
// массив id слоев, где также надо осуществлять поиск // строка запроса // область запроса // левая нижняя точка // долгота точки, вещественное число // широта точки, вещественное число // правая верхняя точка // долгота точки, вещественное число // широта точки, вещественное число
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[
{
"layer": "Улицы",
"wmsName": "world:k2_ulitsy_l",
"layerId": null,
"items": [{
"pkid": 162815,
"label": "Казань, городской округ Казань, Татарстан",
"zoom": 16,
"point": {
"lon": 49.28956419647526,
"lat": 55.75372719479096
},
"address": {
"city": "Казань",
"county": "городской округ Казань",
"state": "Татарстан",
"country": "Россия",
"country_code": "ru"
}
}]
}, ...
]
// массив слоев, где найдены объекты // русское название, строка // английское название, строка // null - слой, для поиска по умолчанию, иначе id из массива // массив найденных объектов // первичный ключ, строка // заголовок, строка // зум для отображения, целое число // точка, объект // долгота точки, вещественное число // широта точки, вещественное число // расшифровка адреса, объект
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Поиск по адресу (GET запрос)
GET /geocoding
Структура запроса:
GET /geocoding?query=Казань&layersId=12,23,345,56&bbox=46,55,48,57&token=mbs90lon2a8
query: строка запроса
layersId: id слоев, где также надо осуществлять поиск, через запятую
bbox: область запроса
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[
{
"layer": "Улицы",
"wmsName": "world:k2_ulitsy_l",
"layerId": null,
"items": [{
"pkid": 162815,
"label": "Казань, городской округ Казань, Татарстан",
"zoom": 16,
"point": {
"lon": 49.28956419647526,
"lat": 55.75372719479096
},
"address": {
"city": "Казань",
"county": "городской округ Казань",
"state": "Татарстан",
"country": "Россия",
"country_code": "ru"
}
}]
}, ...
]
// массив слоев, где найдены объекты // русское название, строка // английское название, строка // null - слой, для поиска по умолчанию, иначе id из массива // массив найденных объектов // первичный ключ, строка // заголовок, строка // зум для отображения, целое число // точка, объект // долгота точки, число с плавающей точкой // широта точки, число с плавающей точкой // расшифровка адреса, объект
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Поиск по координатам (POST запрос)
POST /geocoding
Структура запроса:
POST /geocoding?token=mbs90lon2a8
token: ключ доступа
Пример запроса:
{
"layersId": ["10","12","26"],
"point": {
"lon": 50.69091796875,
"lat": 55.33851784425634
},
"zoom": 14
}
// массив id слоев, где также надо осуществлять поиск // точка на карты, объект // долгота точки, вещественное число // широта точки, вещественное число // уровень масштабирования карты, влияет на уровень детализации, необходимый для адреса.
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[
{
"layer": "Улицы",
"wmsName": "world:k2_ulitsy_l",
"layerId": null,
"items": [{
"pkid": 162815,
"label": "Казань, городской округ Казань, Татарстан",
"zoom": 16,
"point": {
"lon": 49.28956419647526,
"lat": 55.75372719479096
},
"address": {
"city": "Казань",
"county": "городской округ Казань",
"state": "Татарстан",
"country": "Россия",
"country_code": "ru"
}
}]
}, ...
]
// массив слоев, где найдены объекты // русское название, строка // английское название, строка // null - слой, для поиска по умолчанию, иначе id из массива // массив найденных объектов // первичный ключ, строка // заголовок, строка // зум для отображения, целое число // точка, объект // долгота точки, вещественное число // широта точки, вещественное число // расшифровка адреса, объект
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Поиск по координатам (GET запрос)
GET /geocoding
Структура запроса:
GET /geocoding?lon=55.45&lat=49.67&layersId=12,23,345,56&zoom=14&token=mbs90lon2a8
lon: долгота точки, вещественное число
lat: широта точки, вещественное число
layersId: id слоев, где также надо осуществлять поиск, через запятую
zoom: уровень масштабирования карты, влияет на уровень детализации, необходимый для адреса
token: ключ доступа
Ответ:
Статус: 200 - успешное выполнение
Формат: json
[
{
"layer": "Улицы",
"wmsName": "world:k2_ulitsy_l",
"layerId": null,
"items": [{
"pkid": 162815,
"label": "Казань, городской округ Казань, Татарстан",
"zoom": 16,
"point": {
"lon": 49.28956419647526,
"lat": 55.75372719479096
},
"address": {
"city": "Казань",
"county": "городской округ Казань",
"state": "Татарстан",
"country": "Россия",
"country_code": "ru"
}
}]
}, ...
]
// массив слоев, где найдены объекты // русское название, строка // английское название, строка // null - слой, для поиска по умолчанию, иначе id из массива // массив найденных объектов // первичный ключ, строка // заголовок, строка // зум для отображения, целое число // точка, объект // долгота точки, число с плавающей точкой // широта точки, число с плавающей точкой // расшифровка адреса, объект
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Загрузка
Загрузка файлов
POST /fileload
Структура запроса:
POST /fileload?photo=true
photo: необязательный параметр, если загружается фотография
Пример запроса:
Формат: данные файла
<?файл .....
// тело файла
Ответ:
Статус: 200 - успешное выполнение
Формат: json
{
"status": "ok",
"data": ["p18hps8iga1pi81aot89i18d81of87.jpg"]
}
// статус ответа // uuid загруженного файла
Статус: 500 - ошибка на сервере
Формат: text/plain
Содержит описание ошибки