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 — ошибка на сервере
Содержит описание ошибки
