Места
Список мест
GET /places
Структура запроса:
GET /places?token=puqw129npc074a
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 81,
"name": "Место",
"geom": {
"type": "Point",
"coordinates": [49.1793,
55.7727]
},
"address": "Татарстан, Казань, Гвардейская улица, 53А",
"radius": 150.0
},…]
Добавление места
POST /places
Структура запроса:
POST /places?token=puqw129npc074a
token: ключ доступа
Пример запроса:
Статус: 200 — успешное выполнение
Формат: json
{
"address": "Москва, Таганская площадь, 86/1",
"geom": {
"type": "Point",
"coordinates": [37.65233516693115,
55.741462725687825]
},
"name": "Новое место",
"radius": "120"
}
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 262,
"name": "Новое место",
"geom": {
"type": "Point",
"coordinates": [37.6523,
55.7415]
},
"address": "Москва, Таганская площадь, 86/1",
"radius": 120.0
}
Информация о месте по ID
GET /places/id
Структура запроса:
GET /places/132?token=puqw129npc074a
id: id места
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 132,
"name": "Место",
"geom": {
"type": "Point",
"coordinates": [49.1793,
55.7727]
},
"address": "Татарстан, Казань, Гвардейская улица, 53А",
"radius": 213.0
}
Информация о месте по ID и дате
GET /places/id/events
Структура запроса:
GET places/132/events?dateFrom=1430859600000&dateTo=1430920123215?token=puqw129npc074a
id: id места
dateFrom: дата начала
dateTo: дата конца
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"userId": 86,
"date": 1430254847000,
"inside": false
},...]
Редактирование места
PUT /places/id
Структура запроса:
PUT /places/262?token=puqw129npc074a
id: id места
token: ключ доступа
Пример запроса:
Статус: 200 — успешное выполнение
Формат: json
{
"address": "Москва, улица Рогожский Вал, 8",
"geom": {
"type": "Point",
"coordinates": [37.6747,
55.7413]
},
"name": "Новое место",
"radius": 500
}
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 262,
"name": "Новое место",
"geom": {
"type": "Point",
"coordinates": [37.6747,
55.7413]
},
"address": "Москва, улица Рогожский Вал, 8",
"radius": 500.0
}
Удаление места
DELETE /places/id
Структура запроса:
DELETE /places/262?token=puqw129npc074a
id: id места
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Возможные статусы ответов сервера при ошибке:
Статус: 401 — необходима авторизация
Формат: text/plain
Содержит описание ошибки
Статус: 403 — доступ запрещен
Формат: text/plain
Содержит описание ошибки
Статус: 404 — не найдено
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Рассмотрим поэтапное создание модуля системы mapSurfer GS.
(далее…)
Пользователи
Список пользователей
GET /users
Структура запроса:
GET /users?token=puqw129npc074a
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 1,
"email": "korablev@org1.ru",
"name": "Кораблев А.В. (доставщик)",
"admin": false,
"wheel": false,
"phone": "+79600310237",
"photo": {
"id": 8,
"name": "new_photo.jpg"
},
"location": {
"lon": 0.0,
"lat": 0.0,
"date": 1411455528000
},
"organizationId": 1,
"roleId": 1,
"issuesCount": 10
},...]
Добавление пользователя
POST /users
Структура запроса:
POST /users?token=puqw129npc074a
token: ключ доступа
Пример запроса:
Формат: json
{
"admin": false,
"email": "newuser@org.com",
"name": "ФИО пользователя",
"password": "password",
"phone": "+7917604440",
"photo": {
"uuid": "aterjjtyth.png",
"name": "myphoto.png"
},
"pushRule": 3,
"wheel": false,
}
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 1445,
"email": "newuser@org.com",
"name": "ФИО пользователя",
"admin": false,
"wheel": false,
"phone": "+7917604440",
"photo": {
"id": 8,
"name": "user.png"
},
"location": {
"lon": 49.1414826,
"lat": 55.7746738,
"date": 1408535009000
},
"createDate": 1406278446599,
"role": {
"id": 1,
"name": "Пользователь организации"
},
"verified": true,
"organizationInfo": {
"id": 736,
"name": "ООО Организация №1",
"mapExtent": {
"id": 554,
"name": "ООО Организация №1",
"extent": {
"x1": 58.8080522883846,
"y1": 38.14453125,
"x2": 68.1591796875,
"y2": 53.2980555749128
}
}
},
"issuesCount": 8,
"pushRule": 3
}
Количество пользователей
GET /users/count
Структура запроса:
GET /users/count?token=puqw129npc074a
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Роли пользователей
GET /users/roles
Структура запроса:
GET /users/roles?token=puqw129npc074a
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 2,
"name": "Администратор организации"
},...]
Информация о пользователе по ID
GET /users/{id}
Структура запроса:
GET /users/12?token=puqw129npc074a
id: id пользователя
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 12,
"email": "sergeev@org1.ru",
"name": "Сергеев С.В. (замерщик)",
"admin": false,
"wheel": false,
"phone": "+79600316477",
"photo": {
"id": 8,
"name": "photo.jpg"
},
"location": {
"lon": 0.0,
"lat": 0.0,
"date": 1411455528000
},
"createDate": 1406278076703,
"role": {
"id": 1,
"name": "Пользователь организации"
},
"verified": true,
"organizationInfo": {
"id": 7,
"name": "ООО Организация",
"mapExtent": {
"id": 554,
"name": "ООО Организация",
"extent": {
"x1": 58.8080522883846,
"y1": 38.14453125,
"x2": 68.1591796875,
"y2": 53.2980555749128
}
}
},
"issuesCount": 8,
"pushRule": 2
}
Редактирование пользователя
PUT /users/{id}
Структура запроса:
PUT /users/12?token=puqw129npc074a
id: id пользователя
token: ключ доступа
Пример запроса:
Формат: json
{
"id": 12,
"email": "newuser@org.com",
"password": "password",
"name": "ФИО пользователя",
"admin": true,
"phone": "+7917604440",
"organizationId": 7,
"wheel": false,
"photo": {
"id": 2693,
"uuid": "aterjjtyth.png",
"name": "myphoto.png"
},
"pushRule": 3
}
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 12,
"email": "newemail@org.com",
"name": "ФИО пользователя",
"admin": false,
"wheel": false,
"phone": "+7917604440",
"photo": {
"id": 8,
"name": "photo.jpg"
},
"location": {
"lon": 0.0,
"lat": 0.0,
"date": null
},
"createDate": 1406278446599,
"role": {
"id": 1,
"name": "Пользователь организации"
},
"verified": true,
"organizationInfo": {
"id": 736,
"name": "ООО Организация №1",
"mapExtent": {
"id": 554,
"name": "ООО Организация №1",
"extent": {
"x1": 58.8080522883846,
"y1": 38.14453125,
"x2": 68.1591796875,
"y2": 53.2980555749128
}
}
},
"issuesCount": 8,
"pushRule": 2
}
Удаление пользователя
DELETE /users/{id}
Структура запроса:
DELETE /users/12?token=puqw129npc074a
id: id пользователя
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Отчет о местоположении
GET /users/{id}/track?dateFrom&dateTo
Структура запроса:
GET /users/12/track?token=puqw129npc074a
id: id пользователя
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"points": [{
"data": 1424240996000,
"lat": 65.7595,
"lng": 47.6329,
"control": true,
"address": "Архангельская область, Мезенский район",
"distance": 1232
}...],
"distance": 453254
}
Фотография
GET /users/{id}/photo
Структура запроса:
GET /users/12/photo?token=puqw129npc074a
id: id пользователя
token: ключ доступа
Возможные параметры запроса:
width: ширина картинки
height: высота картинки
crop: обрезать ли картинку по ширине и высоте
stretch: растягивать ли картинку по ширине и высоте
Ответ:
Статус: 200 — успешное выполнение
Выводит файл/изображение на экран
Возможные статусы ответов сервера при ошибке:
Статус: 401 — необходима авторизация
Формат: text/plain
Содержит описание ошибки
Статус: 403 — доступ запрещен
Формат: text/plain
Содержит описание ошибки
Статус: 404 — не найдено
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки