Документация-вспомогательные

MapIssues — rest — statuses

GET /issues/statuses/actions

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


GET /issues/statuses/actions?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"action": "Начать",
	"statusId": 1,
	"statusToId": 2,
	"isPositive": true
},...]


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

GET /issues/statuses

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


GET /issues/statuses?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"id": 1,
	"name": "Назначено",
	"visible": true,
	"isDefault": true,
	"isClosed": false,
	"namePlural": "Назначены",
        "color":"3e72b1" 
},...]


// id этапа работ, целое число
// наименование этапа работ, строка
// true, если этап виден, булева переменная
// true - этап является начальным в задании, может быть только один, булева переменная
// true - этап является конечным в задании, может быть несколько, булева переменная
// наименование этапа нескольких работ, строка
// цвет этапа работ при отображении, строка

Статус: 401 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

MapIssues — rest — types

GET /issues/types

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


GET /issues/types?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"id": 1,
	"name": "Замер",
	"isDefault": true
},...]


// id вида работы, целое число
// наименование вида работы, строка
// добавляется ли этот вид работы по умолчанию, булева переменная

POST /issues/types

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


POST /issues/types?token=puqw129npc074a

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

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

Формат: json

{
	"name": "Разное",
	"isDefault": true
}


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

Ответ:

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

Формат: json

{
	"id": 26,
	"name": "Разное",
	"isDefault": false
}


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

GET /issues/types/{id}

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


GET /issues/types/3?token=puqw129npc074a

id: id вида работы

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

Ответ:

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

Формат: json

{
	"id": 3,
	"name": "Доставка",
	"isDefault": true
}


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

PUT /issues/types/{id}

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


PUT /issues/types/5?token=puqw129npc074a

id: id вида работы

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

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

Формат: json

{
	"name": "Разное",
	"isDefault": true
}


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

Ответ:

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

Формат: json

{
	"id": 5,
	"name": "Разное",
	"isDefault": false
}


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

DELETE /issues/types/{id}

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


DELETE /issues/types/3?token=puqw129npc074a

id: id вида работы

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

Ответ:

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

Формат: json

{
	"id": 3
}



Статус: 401 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

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
},...]


// id изменения, целое число
// дата изменения, timestamp
// тип действия create|update|delete
// изменения, объект (для action=create|delete changes = null)
// название поля, строка
// старое значение, строка
// новое значение, строка

// id пользователя, целое число
// id задания, целое число

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 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

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 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

MapIssues — rest — comments

GET /issues/{id}/comments

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


GET /issues/185/comments?token=puqw129npc074a

id: id задания

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

Ответ:

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

Формат: json

[{
        "id": 2615,
        "comment": "root-comment",
        "date": 1415375223695,
        "issueId": 185,
        "referenceId": null,
        "userInfo": {
                "id": 1425,
                "name": "Администратор №1",
                "photo": {                                 
                        "id":2,                            
                        "name": "photo.png"                    
                }
        },
        "level": 0,
        "files": [{
                "id": 5022,                                      
                "fileType": {                            
                        "id": 1,
                        "type": "photos" 
                },
                "name": "photo.jpg"    
        }],                
        "coordinates": [{
                "id": 22,
                "geom": {
                        "type": "Point",
                        "coordinates": [47.5486, 55.028]
                },
        "address": "address" 
        }]
},...]


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


// уровень вложенности комментария, целое число
// список файлов, которые прикреплены к комментарию, объект


// id файла, целое число
// тип файла

// название файла

// список координат, которые прикреплены к задаче

POST /issues/{id}/comments

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


POST /issues/35/comments?token=puqw129npc074a

id: id задания

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

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

Формат: json

{
    "comment": "Следит за ходом выполнения задания",                 
    "issueId": 35,                                                    
    "referenceId": null,                                              
    "files": [{                                                      
            "uuid": "p19duu3hoe1it5n1v1r878e0iun9.docx",             
            "name": "file.docx",                                      
            "description": "",                                     
            "geom": null                                              
    }],
    "photos": [{                                                    
            "uuid": "p19duu2s9f1ktr16cp933qam58s5.png",               
            "name": "photo.png",                                   
            "description": "",                                  
            "geom": null                                     
    }],
    "videos": [{                                                
            "uuid": "p19duu3hoe1it5n1v1r878e0iun9.flv",        
            "name": "video.flv",                            
            "description": "",                            
            "geom": null                              
    }],
    "sounds": [{                                          
            "uuid": "p19duu3hoe1it5n1v1r878e0iun9.mp3",              
            "name": "audio.mp3",                                  
            "description": "",                           
            "geom": null                                 
    }],
    "coordinates": [{                                                        
            "address": "Татарстан, Казань, улица Павлюхина, 57",
            "geom": {                                                 
                "type": "Point",                                     
                "coordinates": [49.138197898864746,                
                                55.77478084140647]
            }                                            
    }..]
}


// комментарий, строка
// id задания, целое число
// ответ на комментарий, целое число
// загруженные файлы, прикрепленный к комментарию
// уникальное название файла, строка
// название файла, строка
// описание, строка
// геометрия, geojson 

// загруженные фотографии, прикрепленные к комментарию
// уникальное имя фотографии, строка
// название фотографии, строка
// описание, строка
// геометрия, geojson 

// загруженные видео, прикрепленный к комментарию
// уникальное название файла, строка
// название файла, строка
// описание, строка
// геометрия, geojson 

// загруженные аудио-файлы, прикрепленный к комментарию
// уникальное название файла, строка
// название файла, строка
// описание, строка
// геометрия, geojson 

// список координат, прикрепленных к комментарию
// адрес, строка
// информация о точке местоположения
// тип геометрии, строка
// координаты, массив

Ответ:

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

Формат: json

{
        "id": 1814,                                         
        "comment": "Произведена фото фиксация проемов",     
        "date": 1406299212130,                              
        "issueId": 19468,                                   
        "referenceId": null,                               
        "userInfo": {                                      
                "id": 1444,                                 
                "name": "Сергеев С.В. (замерщик)",          
                "photo": {                                 
                        "id":2,                                
                        "name": "photo.png"                   
                }
        },
        "level":0,                                     
        "files": [{
                "id": 5022,                                    
                "fileType": {                                 
                        "id": 1,
                        "type": "photos" 
                },
                "name": "photo.jpg"                         
        }],
        "coordinates": [{
                "id": 22,
                "geom": {
                        "type": "Point",
                        "coordinates": [47.5486, 55.028]
                },
                "address": "address" 
        }]
}


// id комментария, целое число
// комментарий, строка
// дата добавления, timestamp
// id задания, целое число
// null, либо id комментария, ответом на который создан данный, целое число
// данные пользователя, объект
// id пользователя, целое число
// имя пользователя, строка
// информация о фотографии
// id фотографии, целое число
// название фотографии, строка


// уровень вложенности комментария, целое число
// список файлов, прикрепленных к комментарию
// id файла, целое число
// тип файла



// название файла

// список координат, которые прикреплены к задаче

DELETE /issues/{id}/comments/{commentId}

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


DELETE /issues/35/comments/24?token=puqw129npc074a

commentId: id комментария

id: id задания

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

Ответ:

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

Формат: json

{
	"id": 24
}



Статус: 401 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

MapIssues — rest — issues

4 марта 2015 admin

GET /issues

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


GET /issues

Возможные параметры запроса:

Параметры позволяют отфильтровать, упорядочить или расширить запрос

view: расширенный набор полей, если view=full

limit: ограничение на количество записей

offset: количество записей, которые необходимо пропустить

orderBy: порядок выводимых данных

sortDirection: направление сортировки (asc или desc)

text: часть или полное описание задачи

statuses: id этапов работы через запятую

types: id видов работ через запятую

users: id создателей через запятую

assignedUsers: id исполнителей через запятую

customers: id заказчиков через запятую

createDateGt: фильтр по дате создания, больше чем

createDateLt: фильтр по дате создания, меньше чем

updateDateGt: фильтр по дате обновления, больше чем

updateDateLt: фильтр по дате обновление, меньше чем

assignedDateFromGt: фильтр по началу даты выполнения, больше чем

assignedDateFromLt: фильтр по началу даты выполнения, меньше чем

assignedDateToGt: фильтр по концу даты выполнения, больше чем

assignedDateToLt: фильтр по концу даты выполнения, меньше чем

idGt: все, больше чем конкретный Id

idLt: все, меньше чем конкретный Id

Структура запроса с дополнительными параметрами:


GET /issues?limit=5&offset=3&sortdirection=asc&users=15?token=puqw129npc074a

Ответ:

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

Формат: json

[{
	"id": 1,
	"user": {
		"id": 15,
		"name": "Администратор №1",
		"deleted": false
	},
	"createDate": 1366373700000,
	"type": {
		"id": 2,
		"name": "Заключение договора",
		"deleted": false
	},
	"assignedUser": {
		"id": 2,
		"name": "Катаев В.М. (доставщик)",
		"deleted": false
	},
	"updateDate": 1418373577220,
	"customer": {                               
		"id": 233,                            
		"name": "Павлов Валерий Ильич",       
		"deleted": false                      
	},
	"customerPhone": "12",
	"assignedDateFrom": 1402099320000,
	"assignedDateTo": 1402171200000,
	"point": {
		"id": 1,
		"geom": {
			"type": "Point",
			"coordinates": [53.9727,
			57.5341]
		},
		"zoom": 12,
		"address": "Удмуртская республика"
	},
	"organizationId": 2,
	"priorityId": 3,
	"statusId": 2,
        "assignedOrganizationId": 7   
},...]


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

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

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

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

// телефон заказчика, строка
// начало выполнения задания, timestamp
// конец выполнения задания, timestamp
// местоположение
// id задания, целое число
// тип геометрии
// тип геометрии, строка
// координаты, массив


// увеличение карты, целое число
// адрес, строка

// id организации, целое число
// id приоритета, целое число
// id этапа работы, целое число
// id организации исполнителя, целое число

POST /issues

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


POST /issues?token=puqw129npc074a

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

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

Формат: json

 {
        "assignedDateFrom": 1420092000000,                                
        "assignedDateTo": 1420135200000,                                  
        "assignedUserId": 1450,                                           
        "customFields": {
          "pole1": {                                                     
             "field_id": 1,                                        
             "value": "123241"                            
          },
          "pole2": {
             "field_id": 2,
             "value": "test test test" 
          }
        },
        "priority": 1,         
        "customerId": 231,
        "customer": "Петренко И.Р.",                             
        "customerPhone": "+7-(965)-564-46-65",                            
        "files": [{                                                       
                "uuid": "p19duu3hoe1it5n1v1r878e0iun9.docx",              
                "name": "file.docx",
                "description": "", 
                "geom": null                                         
        }],
        "photos": [{                                                      
                "uuid": "p19duu2s9f1ktr16cp933qam58s5.png",               
                "name": "photo.png",
                "description": "", 
                "geom": null       
        }],
        "videos": [{                                                      
                "uuid": "p19duu3hoe1it5n1v1r878e0iun9.flv",               
                "name": "video.flv",
                "description": "", 
                "geom": null                                         
        }],
        "sounds": [{                                                      
                "uuid": "p19duu3hoe1it5n1v1r878e0iun9.mp3",               
                "name": "audio.mp3",
                "description": "", 
                "geom": null                                         
        }],
        "point": {                                                        
                "address": "Татарстан, Казань, улица Павлюхина, 57"       
                "geom": {                                                 
                    "type": "Point",                                      
                    "coordinates": [49.138197898864746,                   
                                    55.77478084140647]
                }                                            
        },
        "text": "Доставка",                                               
        "typeId": 3                                                       
}


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






// id приоритета задачи 
// id заказчика, целое число (если customerId не передан, используется для создания нового заказчика)
// имя заказчика, строка
// номер заказчика, строка
// загруженные файлы
// уникальное название файла, строка
// название файла, строка
// описание, строка
// геометрия, geojson

// загруженные фотографии
// уникальное имя фотографии, строка
// название фотографии, строка
// описание, строка
// геометрия, geojson

// загруженные видео
// уникальное название файла, строка
// название файла, строка
// описание, строка
// геометрия, geojson

// загруженные аудио-файлы
// уникальное название файла, строка
// название файла, строка
// описание, строка
// геометрия, geojson

// местоположение
// адрес, строка
// информация о точке местоположения
// тип геометрии, строка
// координаты, массив




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

Ответ:

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

Формат: json

{
	"id": 20970,
	"user": {
		"id": 1425,
		"name": "Администратор №1",
		 "deleted": false
	},
	"createDate": 1423821668759,
	"type": {
		"id": 3,
		"name": "Доставка",
		 "deleted": false
	},
	"assignedUser": {
		"id": 1450,
		"name": "Катаев В.М. (доставщик)",
		 "deleted": false
	},
	"updateDate": null,
	"customer": {
                 "id":32,                                              
                 "name":"Иванов В.О.",                                    
                 "deleted": false
        },
	"customerPhone": "+7-(968)-814-14-82",
	"assignedDateFrom": 1423893600000,
	"assignedDateTo": 1423895400000,
	"point": {
		"id": 20970,
		"geom": {
			"type": "Point",
			"coordinates": [49.23,
			55.7476]
		},
		"zoom": 12,
		"address": "Татарстан, Казань, улица Сафиуллина, 17"
	},
	"organizationId": 736,
	"priorityId": 1,
	"statusId": 1,
	"text": "Доставить подарок",
	"customFields": {
	        "pole1": {                                                     
                "field_id": 1,
                "value": "34523453" 
                },
                "pole2": {
                        "field_id": 2,
                        "value": "rwthwrhwrt" 
                },
        },	
	"assignedOrganizationId": 736
}


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

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

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

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

// телефон заказчика, строка
// срок выполнения от, timestamp
// срок выполнения до, timestamp
// метка на карте, объект
// id задания, целое число
// геометрия точки, объект
// тип геометрии, строка
// координаты, число с плавающей точкой


// уровень отображения на карте, целое число
// адрес, строка

// id организации, целое число
// id приоритета, целое число
// id этапа работ, целое число
// описание задания, строка
// дополнительные поля, объект










// id назначенной организации, целое число

GET /issues/count

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


GET /issues/count?token=puqw129npc074a

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

Ответ:

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

Формат: json


	47


// количество заданий, целое число

GET /issues/{id}

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


GET /issues/35?token=puqw129npc074a

id: id задания

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

Ответ:

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

Формат: json

{
	"id": 35,
	"user": {
		"id": 86,
		"name": "Волкова Юлия",
		"deleted": false  
	},
	"createDate": 1421071657583,
	"type": {
		"id": 2,
		"name": "Заключение договора",
		"deleted": false  
	},
	"assignedUser": {
		"id": 28,
		"name": "Иваненко П.А.",
		"deleted": false  
	},
	"updateDate": 1421071970906,
	"customer": {                                        
                "id": 981,                                  
                "name": "Зыкина Светлана Петровна",         
                "deleted": false
        },
	"customerPhone": "518-96-96",
	"assignedDateFrom": 1421157960000,
	"assignedDateTo": 1421161560000,
	"point": {
		"id": 35,
		"geom": {
			"type": "Point",
			"coordinates": [49.1682,
			55.7649]
		},
		"zoom": 12,
		"address": "Казань, улица Даурская, дом 30"
	},
	"organizationId": 6,
	"priorityId": 1,
	"statusId": 1,
	"text": "Заключить договор. Без опозданий.",
	"customFields": {
		"pole1": {                                   
		"field_id": 1,                     
		"value": "5345345"              
                }
        },
	"assignedOrganizationId": 6
}


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

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

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

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

// телефон заказчика, строка
// срок выполнения, timestamp
// срок выполнения, timestamp
// местоположение, объект
// id задания, целое число
// геометрия точек, объект
// тип геометрии, строка
// координаты типа геометрии


// увеличение карты, целое число
// адрес заказчика, строка

// id организации, целое число
// id приоритета, целое число
// id этапа работы, целое число
// описание, строка
// дополнительные поля
// translit дополнительного поля
// id дополнительного поля
// значение дополнительного поля


// id назначенной организации, целое число

PUT /issues/{id}

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


PUT /issues/35?token=puqw129npc074a

id: id задания

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

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

Формат: json

{
	"id": 20970,
	"assignedDateFrom": 1423893600000,
	"assignedDateTo": 1423895400000,
	"assignedUserId": 1450,
        "customerId": 981, 
	"customerName": "",
	"customerPhone": "+7-(968)-814-14-82",
        "typeId": 1,                                                    
        "priorityId": 1,                                              
        "statusId": 1,                                                  
        "text": "Доставка в строго указанное время",
	"point": {
                "address": "Татарстан, Казань, проспект Победы, 30",
                "geom": {
	               "type": "Point",
	               "coordinates": [49.19780731201172,
	               55.74238072848889]
                 },
        },
	"files": [
           {
		"uuid": "p19dv32ej595n1hoem492ea1l1p9.xlsx",
		"name": "valid.xlsx",
		"description": "",
		"geom": null
           },
           {
		"id": 3368,
		"name": "Автомап - админка.docx",
		"description": "",
		"geom": null
	    }
        ],
	"photos": [{
		"uuid": "p19e16u9b689f1jmnk8n16u3tuvd.png",
		"name": "error.png",
                "description": "",
                "geom": null
	}],
        "videos": null,
        "sounds": null
}


// id задания, целое число
// время начала выполнения задания, timestamp
// время окончания выполнения задания, timestamp
// id пользователя, целое число
// id заказчика, целое число
// имя заказчика (используется только в случае, если cistomerId не передан и нужно указать нового заказчика)
// телефон заказчика, строка
// id вида работ, целое число
// id приоритета, целое число
// id этапа работы, целое число
// описание задания, строка
// местоположение, null - если нет необходимости менять информацию
// адрес задания, строка
// информация о геометрии
// тип геометрии, строка
// координаты, массив



// информация о прикрепленных файлах
// загрузка нового файла
// уникальное название файла, строка
// название файла, строка
// описание, строка
// геометрия, geojson

// информация о старом файле
// id файла, целое число
// название, строка
// описание, строка
// геометрия, geojson


// информация о новой фотографии
// уникальное название фотографии, строка
// название фотографии, строка
// описание, строка
// геометрия, geojson

// информация о прикрепленных видео-файлах
// информация о прикрепленных аудио-файлах

Ответ:

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

Формат: json

{
	"id": 20933,
	"user": {
		"id": 1425,
		"name": "Администратор №1",
		"deleted": false 
	},
	"createDate": 1423573896979,
	"type": {
		"id": 2,
		"name": "Заключение договора",
		"deleted": false 
	},
	"assignedUser": {
		"id": 1450,
		"name": "Катаев В.М. (доставщик)",
		"deleted": false 
	},
	"updateDate": null,
	"customer": {
		"id":32,    
		"name":"Иванов В.О.", 
		"deleted": false  
        },
	"customerPhone": "+79655888545",
	"assignedDateFrom": 1423574100000,
	"assignedDateTo": 1423580400000,
	"point": {
		"id": 20933,
		"geom": {
			"type": "Point",
			"coordinates": [49.1261,
			55.7867]
		},
		"zoom": 12,
		"address": "Татарстан, Казань, улица Бутлерова, 4"
	},
	"organizationId": 736,
	"priorityId": 1,
	"statusId": 1,
	"text": "Заключить договор с 4 до 6 вечера",
	"customFields": {
		"pole1": {                                                     
                        "field_id": 1,
                        "value": "34523453" 
                },
                "pole2": {
                        "field_id": 2,
                        "value": "rwthwrhwrt" 
                },
        },
	"assignedOrganizationId": 736
}


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

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

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

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

// телефон заказчика, строка
// время начала исполнения, timestamp
// время окончания исполнения, timestamp
// метка на карте
// id задания, целое число
// геометрия точки
// тип геометрии, строка
// координаты, число с плавающей точкой


// уровень отображения на карте, целое число
// адрес, строка

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










// id назначенной организации, целое число

PATCH /issues/{id}

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


PATCH /issues/35?token=puqw129npc074a

id: id задания

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

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

Формат: json

{
    "typeId": 1,                                                      
    "statusId": 1,                                                   
    "text": "Доставка в строго указанное время",                  
    "priorityId": 1,                                                 
    "assignedUserId": 4964,                                       
    "customerId": 981,                                                
    "customerName": "",                                               
    "customerPhone": "+7-(965)-564-46-65",                          
    "assignedDateFrom": 1423807200000,                               
    "assignedDateTo": 1423808700000,                         
    "point": {                                                       
            "address": "Татарстан, Казань, улица Карбышева, 58А",    
            "geom": {                                          
                    "type": "Point",                                  
                    "coordinates": [49.17755126953125,              
                    55.754940702479146]
            },
    },
    "customFields": {                                        
      "pole1": {                                              
         "field_id": 1,                                      
         "value": "123241"      
      },
      "pole2": {
         "field_id": 2,
         "value": "test test test" 
      }
    },
    "point": {                                                       
            "address": "Татарстан, Казань, улица Карбышева, 58А",     
            "geom": {                                         
                    "type": "Point",                              
                    "coordinates": [49.17755126953125,             
                    55.754940702479146]
            },
    },
    "files": [{                                                                                                               
                    "uuid": "p19dv32ej595n1hoem492ea1l1p9.xlsx",     
                    "name": "valid.xlsx",                         
                    "description": "",                            
                    "geom": null                                  
            },
            {                                                    
                    "id": 3523,
                    "name": "СЧЕТ.pdf",
                    "description": "",
                    "geom": null
            }
    ],
    "photos": [{                                                        
            "uuid": "p19dv32kfr1mrv1s3o1qgbhco1hupb.png",           
            "name": "screen.png",                                
            "description": "",                                    
            "geom": null                                        
        }
    ],
    "videos": null,                              
    "sounds": null                                          
}


// id вида работ, целое число 
// id этапа работы, целое число
// описание задания, строка
// id приоритета, целое число
// id исполнителя, целое число 
// id заказчика, целое число 
// имя заказчика (используется только в случае, если customerId не передан и нужно создать нового заказчика), строка 
// телефон заказчика, строка
// время начала выполнения задания, timestamp
// время окончания выполнения задания, timestamp
// местоположение, null - если нет необходимости менять информация, иначе новые данные
// адрес задания, строка
// информация о геометрии
// тип геометрии, строка
// координаты, массив



// дополнительные поля 
// translit дополнительного поля
// id дополнительного поля
// значение дополнительного поля






// местоположение, null - если нет необходимости менять информация, иначе новые данные
// адрес задания, строка
// информация о геометрии
// тип геометрии, строка
// координаты, массив



// информация о прикрепленных файлах
// загрузка нового файла                                                         
// уникальное название файла, строка
// название файла, строка
// описание, строка
// геометрия, geojson 

// информация о старом файле





// загрузка новой фотографии
// уникальное название фотографии, строка
// название фотографии, строка
// описание, строка
// геометрия, geojson 


// информация о прикрепленных видео-файлах
// информация о прикрепленных аудио-файлах

Ответ:

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

Формат: json

{
        "id": 20969,                                                     
        "user": {                                                         
                "id": 1425,                                            
                "name": "Администратор №1",                             
                "deleted": false                                          
        },
        "createDate": 1423746136128,                       
        "type": {                                                  
                "id": 3,                                          
                "name": "Доставка",                        
                "deleted": false                    
        },
        "assignedUser": {                                         
                "id": 1450,                                       
                "name": "Катаев В.М. (доставщик)",       
                "deleted": false           
        },
        "updateDate": null,                       
        "customer":{                                                  
                 "id":32,                                     
                 "name":"Иванов В.О.",                         
                 "deleted": false                                       
        }, 
        "customerPhone": "+7-(965)-564-46-65",          
        "assignedDateFrom": 1420092000000,                         
        "assignedDateTo": 1420135200000,                           
        "point": {                                                 
                "id": 2096,                                        
                "geom": {                                         
                        "type": "Point",                           
                        "coordinates": [49.1382,                          
                55.7748]
                },    
                "zoom": 12,                                              
                "address": "Казань, улица Павлюхина, 57"            
        },
        "organizationId": 736,                                          
        "priorityId": 1,                                                 
        "statusId": 1,                                               
        "text": "Доставка",                                    
        "customFields": {                                              
                "pole1": {                                                     
                        "field_id": 1,
                        "value": "34523453" 
                },
                "pole2": {
                        "field_id": 2,
                        "value": "rwthwrhwrt" 
                },
        },
        "assignedOrganizationId": 736                             
}


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

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

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

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

// телефон заказчика, строка
// срок выполнения от, timestamp
// срок выполнения до, timestamp
// метка на карте, объект
// id задания, целое число
// геометрия точки, объект
// тип геометрии, строка
// координаты, число с плавающей точкой

 
// уровень отображения на карте, целое число
// адрес, строка

// id организации, целое число
// id приоритета, целое число
// id этапа работ, целое число
// описание задания, строка
// дополнительные поля, объект
                                    









// id назначенной организации, целое число

DELETE /issues/{id}

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


DELETE /issues/35?token=puqw129npc074a

id: id задания

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

Ответ:

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

Формат: json

{
	"id": 35
}




Статус: 401 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

MapIssues — rest — files

4 марта 2015 admin

POST /fileload

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


POST /fileload

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

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

Формат: json



-----------------------------1551030389197
Content-Disposition: form-data; name="name" 

p19dpo1g6m3ts192s5l083kvi27.png
-----------------------------1551030389197
Content-Disposition: form-data; name="file"; filename="Hydrangeas.jpg" 
Content-Type: image/jpeg

...файл...


Ответ:

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

Формат: json

{
	"data": ["p19dpo1g6m3ts192s5l083kvi27.png"]
}


// uuid загруженного файла, строка

GET /fileload/{uuid}

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


GET /fileload/p19dpo1g6m3ts192s5l083kvi27.png

uuid: uuid файла

Ответ:

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

Формат: text/plain

В ответ отдается файл

GET /fileload/{uuid}?width&height

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


GET /fileload/p19dpo1g6m3ts192s5l083kvi27.png/200/200

uuid: уникальное название

width: ширина

height: высота

Ответ:

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

Формат: text/plain

Отдает скорректированную под заданный размер картинку

DELETE /fileload/{uuid}

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


DELETE /fileload/p19dpo1g6m3ts192s5l083kvi27.png?token=puqw129npc074a

uuid: uuid файла

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

Ответ:

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

Формат: json

{
	"status": "ok"
}



Статус: 401 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

MapIssues — rest — search

4 марта 2015 admin

GET /search

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


GET /search?query=Монтаж&type=issues&count=1

query: строка запроса

type: тип поиска (users| issues| customers| places)

count: количество выводимых записей

Ответ:

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

Если type=issues, то возвращает список объектов задач.

Если type=users, то возвращает список пользователей.

Если type=customers, то возвращает список заказчиков.

Если type=places, то возвращает список мест.

Статус: 401 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

MapIssues — rest — geocoding

4 марта 2015 admin

GET /geocoding

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


GET /geocoding?query=Казань&lon=55.45&lat=49.67&limit=7

quary:строка запроса

lon:долгота

lat:широта

limit:ограничение на количество записей

Ответ:

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

Формат: json

[{
        "groupName": "Улицы",                                                      
        "items": [{                                                                
                "pkid": 1,                                                         
                "label": "Давлекановский район, улица Гагарина",     
                "formattedLabel": "улица Гагарина",                                
                "zoom": 15,                                                       
                "point": {                                                        
                        "lon": 51.07739050000001,                                 
                        "lat": 56.1942842                                 
                }
        },...]
}]


// название группы, строка
// массив найденных объектов
// первичный ключ, целое число
// адрес, строка
// сокращенный адрес, строка
// увеличение карты, целое число
// координаты
// долгота, число с плавающей точкой
// широта, число с плавающей точкой

Статус: 401 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки

MapIssues — rest — auth

4 марта 2015 admin

POST /auth

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


POST /auth

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

Формат: json

{
	"login": "login",
	"password": "newpass12345"
}

// логин пользователя, строка
// пароль, строка

Ответ:

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

Формат: json

{
	"status": "ok"
}

POST /auth/token

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


POST /auth/token

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

Формат: json

{
	"login": "login",
	"password": "newpass12345"
}

// логин пользователя, строка
// пароль, строка

Ответ:

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

Формат: json

{
	"token": "ksdn842dsa215w",
	"refreshToken": "puqw129npc074a",
	"ttl": 3600
}

// ключ доступа, строка
// обновленный ключ доступа, строка
// время жизни token в секундах, целое число

GET /auth/token/refresh?refreshToken

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


GET /auth/token/refresh?refreshToken

refreshToken: ключ для обновления ключа доступа

Ответ:

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

Формат: json

{
	"token": "ksdn842dsa215w",
	"refreshToken": "puqw129npc074a",
	"ttl": 3600
}

// ключ доступа, строка
// ключ для обновления ключа доступа, строка
// время жизни ключа доступа в секундах, целое число

GET /users/current

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


GET /users/current?token=puqw129npc074a

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

Ответ:

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

Формат: json

{
        "id":1500,                                                 
        "email":"user1@org1.ru",                                   
        "name":"Администратор№1",                                  
        "admin":true,                                              
        "wheel":false,                                             
        "phone":"89556655888",                                     
        "photo": {                                                                                           
                "id": 4,                                           
                "name": "IMG_20150324_120506.jpg"                   
        },
        "location":{                                               
                "lon": 49.1420645,                                 
                "lat": 55.7745272,                                 
                "date": 1422336455000                              
        },          
        "createDate":1406208891174,                                
        "role":  {                                                 
                "id":2,                                            
                "name":"Администратор организации"                 
        },                                                    
        "verified":true,                                                              
        "organizationInfo":        {                               
                "id":777,                                          
                "name":"ООО Организация №1",                       
                "mapExtent":    {                                  
                        "id":555,                                  
                        "name":"ООО Организация №1",               
                        "extent":  {                               
                                "x1": 58.8080522883846,            
                                "y1": 38.14453125,                 
                                "x2": 68.1591796875,            
                                "y2": 53.2980555749128           
                         }
                }
        },
        "issuesCount": 10,                                          
        "pushRule": 1                                             
}

// id-пользователя, целое число
// e-mail пользователя, строка
// имя пользователя, строка
// true, если пользователь является администратором, булева переменная
// расширенные права на просмотр, булева переменная
// номер телефона пользователя, строка
// фотография   
// ключ (изменяется, при изменении фотографии)
// название файла

// последнее местоположение пользователя
// x центра карты, число с плавающей точкой
// y центра карты, число с плавающей точкой
// дата обновления, timestamp

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

// прошел ли пользователь верификацию email 
// данные об организации пользователя, объект
// id организации, целое число
// название организации, строка
// данные о границе карты для данной организации, объект 
// id границы карты, целое число
// название границы карты, строка 
// область видимости карты, объект
// координата, число с плавающей точкой
// координата, число с плавающей точкой
// координата, число с плавающей точкой
// координата, число с плавающей точкой



// количество назначенных задач в работе
// правило, по которому отправляются push-уведомления

GET /logout

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


GET /logout?token=puqw129npc074a

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

Ответ:

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

Формат: json

{
	"status": "ok"
}

POST /restore/password

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


POST /restore/password

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

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

Формат: json

{
        "step": 1,
        "email": "email@email.com"
}
{
        "step": 2,
        "password":"12345678",
        "rePassword": "12345678"
}

// шаг 1, ввод email
// электронная почта, строка


// шаг 2, изменение пароля
// ввод нового пароля, строка
// повторный ввод пароля, строка

Ответ:

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

Формат: json

{
	"status": "ok"
}

GET /captcha

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


GET /captcha

Ответ:

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

Формат: image/png
В ответ отдается изображение

Статус: 401 — необходима авторизация

Формат: text/plain
Содержит описание ошибки

Статус: 403 — доступ запрещен

Формат: text/plain
Содержит описание ошибки

Статус: 404 — не найдено

Формат: text/plain
Содержит описание ошибки

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

Формат: text/plain
Содержит описание ошибки