MapIssues — rest — issues-history
История заданий
История заданий
GET /issues/history
Структура запроса:
GET /issues/history?token=puqw129npc074a
token: ключ доступа
Возможные параметры запроса:
limit: ограничение на количество записей
offset: количество записей, которые необходимо пропустить
orderBy: порядок выводимых данных
asc: вывод записей от меньшего к большему и наоборот
issues: id заданий (через запятую)
Структура запроса с дополнительными параметрами:
GET /issues/history?limit=10&offset=5&asc=true&issues=18235,19470?token=puqw129npc074a
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 1001,
"date": 1411137505999,
"action":"update",
"changes": [{
"fieldName": "text",
"oldValue": "Необходимо замерить окно",
"newValue": "Необходимо замерить проём"
}],
"userId": 1425,
"issueId": 18235
},...]
История создания заданий
GET /issues/history/create
Структура запроса:
GET /issues/history/create?token=puqw129npc074a
token: ключ доступа
Возможные параметры запроса:
Как у запроса /issues/history
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 1001,
"date": 1411137505999,
"changes": null,
"userId": 1425,
"issueId": 19468
}
// id изменения, целое число
// дата изменения, timestamp
// изменения, объект (для action=create|delete changes = null)
// id пользователя, целое число
// id задания, целое число
История обновления заданий
GET /issues/history/update
Структура запроса:
GET /issues/history/update?token=puqw129npc074a
id: id задания
token: ключ доступа
Возможные параметры запроса:
Как у запроса /issues/history
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 1001,
"date": 1411137505999,
"changes": [{
"fieldName": "text",
"oldValue": "Необходимо замерить окно",
"newValue": "Необходимо замерить проём"
}],
"userId": 1425,
"issueId": 19468
}
// id изменения, целое число
// дата изменения, timestamp
// изменения, объект (для action=create|delete changes = null)
// название поля, строка
// старое значение, строка
// новое значение, строка
// id пользователя, целое число
// id задания, целое число
История удаления заданий
GET /issues/history/delete
Структура запроса:
GET /issues/history/delete?token=puqw129npc074a
token: ключ доступа
Возможные параметры запроса:
Как у запроса /issues/history
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 1001,
"date": 1411137505999,
"action":"delete",
"changes": null,
"userId": 1425,
"issueId": 19468
}
// id изменения, целое число
// дата изменения, timestamp
// действие, строка
// изменения, объект (для action=create|delete changes = null)
// id пользователя, целое число
// id задания, целое число
История добавления комментариев к заданиям
GET /issues/history/comment
Структура запроса:
GET /issues/history/comment?token=puqw129npc074a
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 1,
"date": 1423573785149,
"changes": null,
"issueId": 15,
"userId": 10
},...]
// id изменения, целое число
// дата изменения, timestamp
// изменения, объект (для action=create|delete|comment changes = null)
// id задания, целое число
// id пользователя, целое число
История одного задания
GET /issues/{id}/history
Структура запроса:
GET /issues/15/history?token=puqw129npc074a
id: id задания
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 15,
"date": 1423573785149,
"action":"update",
"changes": [{
"fieldName": "customer",
"oldValue": {
"type": "Point",
"coordinates": [53.9648, 57.5158]
},
"newValue": {
"type": "Point",
"coordinates": [53.9727, 57.5341]
}
}],
"issueId": 15,
"userId": 10
},...]
// id изменения, целое число
// дата изменения, timestamp
// тип действия create|update|delete
// список изменений (для action=create|delete|comment changes = null)
// название поля, строка
// старое значение, строка
// тип, строка
// координаты, массив
// новое значение, строка
// тип, строка
// координаты, массив
// id задания, целое число
// id пользователя, целое число
История изменения одного задания
GET /issues/{id}/history/update
Структура запроса:
GET /issues/15/history/update?token=puqw129npc074a
id: id задания
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 1964,
"date": 1418295779366,
"changes": [{
"fieldName": "point.geom",
"oldValue": {
"type": "Point",
"coordinates": [53.9648,
57.5158]
},
"newValue": {
"type": "Point",
"coordinates": [53.9727,
57.5341]
}
}],
"issueId": 18235,
"userId": 1425
},...]
// id изменения, целое число
// дата изменения, timestamp
// список изменений, (для action=create|delete changes = null)
// название поля, строка
// старое значение
// тип, строка
// координаты, массив
// новое значение, строка
// тип, строка
// координаты, массив
// id задания, целое число
// id пользователя, целое число
Возможные статусы ответов сервера при ошибке:
Статус: 401 — необходима авторизация
Содержит описание ошибки
Статус: 403 — доступ запрещен
Содержит описание ошибки
Статус: 404 — не найдено
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Содержит описание ошибки
MapIssues — rest — issues — files
Файлы
Список файлов
GET /issues/{id}/files
Структура запроса:
GET /issues/85/files?token=puqw129npc074a
id: id задания
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 24,
"fileType": {
"id": 1,
"type": "photos"
},
"order": 1,
"name": "gallery_20140714_163807.jpg",
"description": "Отправлено с ru.gs.geotasks.debug",
"geom": null
},...]
// id файла, целое число
// тип файла, массив
// id типа, целое число
// тип, строка
// заказ, целое число
// название файла, строка
// описание файла, строка
// тип геометрии, строка
Добавление файла
POST /issues/{id}/files
Структура запроса:
POST /issues/35/files?token=puqw129npc074a
id: id задания
token: ключ доступа
Пример запроса:
Формат: json
{
"name": "error.png",
"uuid": "p19dpvtgq31ig86mdeo11s9q1l6e3.png",
"fileTypeId": 1,
"description": "Описание",
"geom": ""
}
// название файла, строка
// уникальное название файла, строка
// id типа файла, целое число
// описание, строка (необязательное поле)
// геометрия, geojson (необязательное поле)
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 12,
"fileType": {
"id": 1,
"type": "photos"
},
"order": 1,
"name": "picture.png",
"description": "",
"geom": null
}
// id файла, целое число
// тип файла, объект
// id типа файла, целое число
// тип файла, строка
// порядковый номер, целое число
// название файла, строка
// описание, строка
// тип геометрии, строка
Типы файлов
GET /issues/files/types
Структура запроса:
GET /issues/files/types?token=puqw129npc074a
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 1,
"name": "фотографии",
"extensions": ["jpg","jpeg","png"],
"type": "photos"
},...]
// id типа файла, целое число
// название файла, строка
// расширения, строка
// английское название, строка
Просмотр файла
GET /issues/{id}/files/{fileId}
Структура запроса:
GET /issues/209/files/13?token=puqw129npc074a
id: id задания
fileId: id файла
token: ключ доступа
Возможные параметры запроса:
width: ширина картинки
height: высота картинки
crop: обрезать ли картинку ровно по ширине и высоте
stretch: растягивать ли картинку по ширине и высоте
Структура запроса с дополнительными параметрами:
GET /issues/20970/files/3370?width=500&height=800&crop=false?token=puqw129npc074a
Ответ:
Статус: 200 — успешное выполнение
Формат: text/plain
Отдает файл/изображение
Просмотр файла по названию
GET /issues/{id}/files/{fileId}/{fileName}
Структура запроса:
GET /issues/209/files/13/picture.png?token=puqw129npc074a
id: id задания
fileId: id файла
fileName: название файла
token: ключ доступа
Возможные параметры запроса:
width: ширина картинки
height: высота картинки
crop: обрезать ли картинку ровно по ширине и высоте
stretch: растягивать ли картинку по ширине и высоте
Структура запроса с дополнительными параметрами:
GET /issues/20970/files/3370/filename.png?width=500&height=800&crop=false?token=puqw129npc074a
Ответ:
Статус: 200 — успешное выполнение
Формат: text/plain
Отдает файл/изображение
Удаление файла
DELETE /issues/{id}/files/{fileId}
Структура запроса:
DELETE /issues/35/files/2?token=puqw129npc074a
id: id задания
fileId: id файла
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 2
}
Возможные статусы ответов сервера при ошибке:
Статус: 401 — необходима авторизация
Содержит описание ошибки
Статус: 403 — доступ запрещен
Содержит описание ошибки
Статус: 404 — не найдено
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Содержит описание ошибки