Archives by date

You are browsing the site archives by date.

MapIssues — rest — orgs

GET /mapextents

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


GET /mapextents?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"id": 3,
	"name": "Republic of Tatarstan",
	"extent": {
		"x1": 46.0927078887718,
		"y1": 53.9919087034184,
		"x2": 55.299713101707,
		"y2": 56.6837870890742
	}
},...]


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

GET /organizations

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


GET /organizations?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"id": 1,
	"name": "ООО Организация №1",
	"blocked": false,
        "issuesMaxCount": 150,
        "usersMaxCount":0,
	"mapExtentId": 17
},...]


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

POST /organizations

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


POST /organizations?token=puqw129npc074a

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

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

Формат: json

{
	"name": "Название организации",
	"info": {
		"address": "Адрес организации",
		"phone": "8(495)226-16-16",
		"fax": "8(495)226-16-16",
		"email": "email@org.com",
		"inn": 32356856787,
		"kpp": 54576512,
		"bank": "Сбербанк",
		"bankKpp": 775001001,
		"bankBik": 044525225,
		"bankSchet": 45293554000
	},
	"mapExtent": {
                "x1": 58.8080522883846,
	        "y1": 38.14453125,
	        "x2": 68.1591796875,
	        "y2": 53.2980555749128
        }
}


// название организации, строка
// информация об организации
// адрес, строка (необязательное поле)
// номер телефона, строка (необязательное поле)
// факс, строка (необязательное поле)
// электронная почта, строка (необязательное поле)
// ИНН, целое число (необязательное поле)
// КПП, целое число (необязательное поле)
// название банка, строка (необязательное поле)
// КПП банка, целое число (необязательное поле)
// БИК банка, целое число (необязательное поле)
// счет, целое число (необязательное поле)

// видимая область
// координата, число с плавающей точкой
// координата, число с плавающей точкой
// координата, число с плавающей точкой
// координата, число с плавающей точкой

Ответ:

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

Формат: json

{
        "id":55,
	"name": "Название организации",
        "blocked": false,
        "issuesMaxCounts": 150,
        "usersMaxCount": 0,
	"info": {
		"address": "Адрес организации",
		"phone": "8(495)226-16-16",
		"fax": "8(495)226-16-16",
		"email": "email@org.com",
		"inn": 32356856787,
		"kpp": 54576512,
		"bank": "Сбербанк",
		"bankKpp": 775001001,
		"bankBik": 044525225,
		"bankSchet": 45293554000
	},
	"mapExtent": {
                "id": 544,
                "name": "ООО Организация",
                "extent": {
                	"x1": 58.8080522883846,
	        	"y1": 38.14453125,
	       		"x2": 68.1591796875,
	        	"y2": 53.2980555749128
		}
        }
}


// id организации, целое число
// название организации, строка
// не заблокирована ли организация, булева переменная
// максимальное число заданий, целое число
// максимальное число пользователей, целое число
// информация об организации
// адрес, строка
// номер телефона, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// название банка, строка
// КПП банка, целое число
// БИК банка, целое число
// счет, целое число

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

// координата, число с плавающей точкой
// координата, число с плавающей точкой
// координата, число с плавающей точкой
// координата, число с плавающей точкой

GET /organizations/{id}

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


GET /organizations/1?token=puqw129npc074a

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

Ответ:

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

Формат: json

{
	"id": 1,
	"name": "ООО Организация №1",
	"blocked": false,
        "issuesMaxCounts": 150,
        "usersMaxCount": 0,
	"info": {
		"id": 1,
		"address": "Адрес организации",
		"phone": "5176617",
		"fax": "5176617",
		"email": "org1@gmail.com",
		"inn": 675424536,
		"kpp": 423124578,
		"bank": "ВТБ-24",
		"bankKpp": 366321411,
		"bankBik": 788574545778,
		"bankSchet": 787542121124
	},
	"mapExtent": {
		"id": 17,
		"name": "ООО Организация №1",
		"extent": {
			"x1": 58.8080522883846,
			"y1": 38.14453125,
			"x2": 68.1591796875,
			"y2": 53.2980555749128
		}
	}
}


// id организации, целое число
// название, строка
// заблокирована ли организация, булева переменная
// максимальное число заданий, целое число
// максимальное число пользователей, целое число
// информация об организации
// id организации, целое число
// адрес, строка
// номер телефона, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// название банка, строка
// КПП банка, целое число
// БИК банка, целое число
// банковский счет, целое число

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

PUT /organizations/{id}

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


PUT /organizations/5?token=puqw129npc074a

id: id организации

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

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

Формат: json

{
        "id": 5,
	"name": "ООО Организация",
	"info": {
		"address": "Адрес организации",
		"phone": "8(495)619-19-19",
		"fax": "8(495)618-18-18",
		"email": "email@org.com",
		"inn": 32356856787,
		"kpp": 54576512,
		"bank": "Сбербанк",
		"bankKpp": 775001001,
		"bankBik": 044525225,
		"bankSchet": 45293554000
	},
	"mapExtent": {
                "x1": 58.8080522883846,
	        "y1": 38.14453125,
	        "x2": 68.1591796875,
	        "y2": 53.2980555749128
        }
}


// id организации, целое число
// название организации, строка
// информация об организации
// адрес, строка
// номер телефона, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// название банка, строка
// КПП банка, целое число
// БИК банка, целое число
// номер счета, целое число

// видимая область
// координата, число с плавающей точкой
// координата, число с плавающей точкой
// координата, число с плавающей точкой
// координата, число с плавающей точкой

Ответ:

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

Формат: json

{
        "id":5,
	"name": "ООО Организация",
        "blocked": false,
        "issuesMaxCounts": 150,
        "usersMaxCount": 0,
	"info": {
                "id": 1,
		"address": "Адрес организации",
		"phone": "8(495)619-19-19",
		"fax": "8(495)618-18-18",
		"email": "email@org.com",
		"inn": 32356856787,
		"kpp": 54576512,
		"bank": "Сбербанк",
		"bankKpp": 775001001,
		"bankBik": 044525225,
		"bankSchet": 45293554000
	},
	"mapExtent": {
                "id":17,
                "name": "ООО Организация №1",
                "extent":{
                        "x1": 58.8080522883846,
	                "y1": 38.14453125,
	                "x2": 68.1591796875,
	                "y2": 53.2980555749128
                }
        }
}


// id организации, целое число
// название организации, строка
// не заблокирована ли организация, булева переменная
// максимальное число заданий, булева переменная
// максимальное число пользователей, булева переменная
// информация об организации
// id организации, целое число
// адрес, строка
// номер телефона, строка
// факс, строка
// электронная почта, строка
// ИНН, целое число
// КПП, целое число
// название банка, строка
// КПП банка, целое число
// БИК банка, целое число
// номер счета, целое число

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

DELETE /organizations/{id}

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


DELETE /organizations/1?token=puqw129npc074a

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

Ответ:

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

Формат: json

{
	"id": 1
}



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

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

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

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

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

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

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

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

MapIssues — rest — configs

GET /configs/dbfields/issues

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


GET /configs/dbfields/issues?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"fieldName": "createDate",
	"dbFieldName": "create_date"
},...]


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

GET /configs/dbfields/users

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


GET /configs/dbfields/users?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"fieldName": "organizationId",
	"dbFieldName": "organization_id"
},...]


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

Запросы configs необходимы для адаптирования прав в запросе /issues/states. В запросе /configs/dbfields/issues — отображается соотношение полей задач, которые приходят в REST-запросе и полей из базы данных. В запросе /configs/dbfields/users — отображается соотношение полей пользователей, которые приходят в REST-запросе и полей из базы данных.

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

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

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

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

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

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

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

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

MapIssues — rest — accesses

GET /issues/capabilities

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


GET /issues/capabilities?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"id": 1,
	"name": "show",
	"defaultValue": false
},...]


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

GET /issues/states

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


GET /issues/states?token=puqw129npc074a

Ответ:

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

Формат: json

[{
	"id": 1,
	"name": "assigned_me",
	"field": "assigned_user_id",
	"value": null,
	"sign": null,
	"currentUserField": "id"
},...]


// id состояния, целое число
// название, строка
// поле задачи (в базе данных), строка
// значение, может быть пустым, если currentUserField не пусто; строка
// знак, если null - то по умолчанию знак "="; строка
// поле у текущего пользователя, со значением которого нужно сравнивать; строка

Примечание

Подробнее о соотношении полей в REST-запросах и базе данных можно узнать при переходе в раздел «Конфигурации».

GET /issues/accesses

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


GET /issues/accesses?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"id": 109,
        "capabilityId": 1,
	"states": [5]
},...]


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

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

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

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

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

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

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

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

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

MapIssues — rest — priorities

GET /issues/priorities

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


GET /issues/priorities?token=puqw129npc074a

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

Ответ:

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

Формат: json

[{
	"id": 1,
	"name": "Новый клиент",
	"order": 1
},...]


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

POST /issues/priorities

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


POST /issues/priorities?token=puqw129npc074a

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

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

Формат: json

{
	"name": "Новый приоритет"
}


// название, строка

Ответ:

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

Формат: json

{
        "id": 5,
	"name": "Новый приоритет",
        "order": 5
}


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

GET /issues/priorities/{id}

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


GET /issues/priorities/3?token=puqw129npc074a

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

Ответ:

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

Формат: json

{
	"id": 3,
	"name": "VIP-клиент",
	"order": 3
}


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

PUT /issues/priorities/{id}

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


PUT /issues/priorities/3?token=puqw129npc074a

id: id приоритета

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

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

Формат: json

{
	"id": 3,
	"name": "Новое название",
	"order": 3
}


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

Ответ:

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

Формат: json

{
	"id": 3,
	"name": "Новое название",
	"order": 3
}


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

DELETE /issues/priorities/{id}

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


DELETE /issues/priorities/3?token=puqw129npc074a

id: id приоритета

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

Ответ:

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

Формат: json

{
	"id": 3
}



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

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

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

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

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

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

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

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

MapIssues — rest — fields

GET /issues/customfields

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


GET /issues/customfields?token=puqw129npc074a

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

Ответ:

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

Формат: json

{
	"customFields": [{
		"id": 2,
		"name": "логическое",
		"translit": "logicheskoe",
		"format": "bool",
		"groupName": "Группа",
		"possibleValues": null,
		"regexp": "",
		"minLength": 0,
		"maxLength": 0,
		"isRequired": false,
		"defaultValue": "false",
		"visible": true,
		"isForAll": true,
		"order": 1,
		"types": []
	},...],
	"fieldsTypes": [{
		"name": "строка",
		"value": "string"
	},...]
}


// информация о дополнительных полях
// id поля, целое число
// название поля, строка
// английское название поля, строка
// формат поля (string|text|int|float|list|date|bool|geometry), строка
// название группы, строка
// возможные значения (для типа list), массив
// регулярное выражение (для типов string|text)
// минимальная длина, целое число
// максимальная длина, целое число
// обязательно для заполнения, булева переменная
// значение по умолчанию, строка
// видимость поля, булева переменная
// поле для всех видов работ, булева переменная
// порядковый номер, целое число
// id видов работ, массив

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

POST /issues/customfields

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


POST /issues/customfields?token=puqw129npc074a

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

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

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

Формат: json

{
	"name": "Название поля",
	"format": "int",
	"groupName": "Название группы",
	"possibleValues": null,
	"regexp": null,
	"minLength": 5,
	"maxLength": 35,
	"isRequired": false,
	"defaultValue": 15000,
	"visible": true,
	"isForAll": false,
	"typeIds": [2,13,24]
}


// название поля, строка
// формат поля (string|text|int|float|list|date|bool|geometry), строка
// название группы (для группировки полей), строка
// возможные значения,массив строк,только для типа list
// регулярное выражение для проверки значений (для типов string, text)   
// минимальная длина (для типов string, text), целое число
// максимальная длина (для типов string, text), целое число
// является ли поле обязательным, булева переменная
// значение по умолчанию, строка
// является видимым, булева переменная
// для всех полей видов работ, булева переменная
// массив id видов работ (если isForAll=false)

Ответ:

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

Формат: json

{
	"id": 154,
	"name": "Название поля",
	"translit": "Nazvaniye polya",
	"format": "int",
	"groupName": "Название группы",
	"possibleValues": null,
	"regexp": null,
	"minLength": 5,
	"maxLength": 35,
	"isRequired": false,
	"defaultValue": 15000,
	"visible": true,
	"isForAll": false,
	"order": 58,
	"types": [2,13,24],
        "organizationId": 736
}


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

GET /issues/customfields/{id}

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


GET /issues/customfields/12?token=puqw129npc074a

id: id дополнительного поля

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

Ответ:

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

Формат: json

{
	"id": 12,
	"name": "тест геометрии",
	"translit": "test_geometrii",
	"format": "geometry",
	"groupName": "",
	"possibleValues": null,
	"regexp": "",
	"minLength": 0,
	"maxLength": 0,
	"isRequired": false,
	"defaultValue": "",
	"visible": true,
	"isForAll": true,
	"order": 10,
	"types": [],
        "organizationId": 736 
}


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

PUT /issues/customfields/{id}

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


PUT /issues/customfields/15?token=puqw129npc074a

id: id дополнительного поля

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

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

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

Формат: json

{
	"name": "Новое название поля",
	"format": "int",
	"groupName": "Новое название группы",
	"possibleValues": null,
	"regexp": null,
	"minLength": 5,
	"maxLength": 35,
	"isRequired": false,
	"defaultValue": 15000,
	"visible": true,
	"isForAll": false,
	"typeIds": [2,13,24],
        "order": 12
}


// название поля, строка
// формат поля (string|text|int|float|list|date|bool|geometry)
// название группы (для группировки полей), строка
// возможные значения,массив строк,только для format=list
// регулярное выражение для проверки значений (для типов string, text)
// минимальная длина (для типов string, text), целое число
// максимальная длина (для типов string, text), целое число
// является ли поле обязательным, булева переменная
// значение по умолчанию, строка
// поле является видимым, булева переменная
// для всех полей видов работ, булева переменная
// массив id видов работ (если поле предназначено не для всех видов)
// порядок в списке у дополнительного слоя

Ответ:

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

Формат: json

{
	"id": 15,
	"name": "Новое название поля",
	"translit": "Nazvaniye_polya",
	"format": "int",
	"groupName": "Новое название группы",
	"possibleValues": null,
	"regexp": null,
	"minLength": 5,
	"maxLength": 35,
	"isRequired": false,
	"defaultValue": 15000,
	"visible": true,
	"isForAll": false,
	"order": 58,
	"types": [2,13,24],
        "organizationId": 736
}


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

DELETE /issues/customfields/{id}

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


DELETE /issues/customfields/12?token=puqw129npc074a

id: id дополнительного поля

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

Ответ:

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

Формат: json

{
	"id": 12
}



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

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

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

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

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

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

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

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

MapIssues — rest — statuses

4 марта 2015 admin

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

4 марта 2015 admin

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

4 марта 2015 admin

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

4 марта 2015 admin

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

4 марта 2015 admin

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