Automap — rest — orgs(before delete /all)
Организации
Список организаций
Не всевидящим пользователям доступна информация только по своей организации
GET /organizations
Структура запроса:
GET /organizations?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 162,
"name": "Наименование",
"mapExtent": "63.39152, -66.79, 94.921875, -80.15625",
"inn": "212125458752",
"phone": "",
"email": "email@emailDomen.com",
"homepage": "www.myWebSite.com",
"kpp": "0000000000000000001",
"address": ""
},...]
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Создание организации
Доступно только для всевидящих администраторов
POST /organizations
Структура запроса:
POST /organizations?token=bw3ty3h46yth
token: ключ доступа
Пример запроса:
Формат: json
{
"address": "TestOrg",
"email": "TestOrg@mail.ru",
"homepage": "hoiee.com",
"inn": "324234234",
"kpp": "234234234234",
"mapExtent": "74.7296, 27.37, 109.160156, 21.621",
"name": "Name",
"phone": "3223234"
}
// адрес, строка
// email, строка
// домашняя страница, строка
// ИНН, целое число
// КПП, целое число
// видимая часть карты(координаты левой нижней и правой верхней точек), строка
// название организации, строка
// телефон, строка
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 240,
"order": 100,
"address": "TestOrg",
"email": "TestOrg@mail.ru",
"homepage": "hoiee.com",
"inn": "324234234",
"kpp": "234234234234",
"mapExtent": "74.7296, 27.37, 109.160156, 21.621",
"name": "TestOrg",
"phone": "3223234"
}
// id организации, целое число
// название организации, строка
// адрес, строка
// email, строка
// домашняя страница, строка
// ИНН, целое число
// КПП, целое число
// видимая часть карты(координаты левой нижней и правой верхней точек), строка
// название организации, строка
// телефон, строка
Статус: 400 — ошибка в запросе
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список организаций (с ускоренной загрузкой за счет отсутствия фильтрации)
Не всевидящим пользователям доступна информация только по своей организации
GET /organizations/all
Структура запроса:
GET /organizations/all?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 1,
"name": "Наименование",
"mapExtent": "63.391, -66.79190, 94.921, -80.15625",
"usersCount": 12,
"groupsCount": 2,
"inn": "357782147462",
"phone": "",
"email": "email@emailDomen.com",
"homepage": "www.myWebSite.com",
"kpp": "0000000000000000001",
"address": "Страна, город, улица",
},...]
// id организации, целое число
// название организации, строка
// видимая часть карты(координаты левой нижней и правой верхней точек), строка
// количество пользователей, целое число
// количество групп, целое число
// ИНН, целое число
// телефон, строка
// email, строка
// домашняя страница, строка
// КПП, целое число
// адрес, строка
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Редактирование организации
Доступно только для всевидящих администраторов
PUT /organizations/{id}
Структура запроса:
PUT /organizations/144?token=bw3ty3h46yth
id: id организации
token: ключ доступа
Пример запроса:
Формат: json
{
"id": 144,
"address": "Адрес организации",
"email": " ",
"groupsCount": 4,
"homepage": "http://www.oursite.com",
"inn": " ",
"kpp": " ",
"mapExtent":"55.806,55.782,49.148,49.106",
"name": "Новое название",
"phone": "+79655908889",
"usersCount": 8
}
// id организации, целое число
// адрес, строка
// email, строка
// количество групп, целое число
// домашняя страница, строка
// ИНН, целое число
// КПП, целое число
// видимая часть карты (координаты левой нижней и правой верхней точек), строка
// название организации, строка
// телефон, строка
// количество пользователей, целое число
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 144,
"name": "Новое название",
"mapExtent":"55.806, 55.782, 49.148, 49.106",
"address": "Адрес организации",
"inn": "",
"phone": "+79655908889",
"email": "",
"homepage": "http://www.oursite.com",
"kpp": ""
}
// id, целое число
// название организации, строка
// видимая часть карты(координаты левой нижней и правой верхней точек), строка
// адрес, строка
// ИНН, целое число
// телефон, строка
// email, строка
// домашняя страница, строка
// КПП, целое число
Статус: 400 — ошибка в запросе
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление организации
Доступно только для всевидящих администраторов
DELETE /organizations/{id}
Структура запроса:
DELETE /organizations/32?token=bw3ty3h46yth
id: id организации
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Группы ТС данной организации
Не всевидящим пользователям доступна информация только по своей организации
GET /organizations/{id}/cars/groups
Структура запроса:
GET /organizations/67/cars/groups?token=bw3ty3h46yth
id: id организации
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 4662,
"name": "Название",
"notes": "",
"organizationId": 67
},...]
// id группы, целое число
// название группы, строка
// описание, строка
// id организации, целое число
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Количество организаций
Не всевидящим пользователям доступна информация только по своей организации
GET /organizations/count
Структура запроса:
GET /organizations/count?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: text
410
// количество доступных организаций
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Automap — rest — carGroups(before delete /all)
Группы ТС
Список групп ТС
GET /cars/groups
Структура запроса:
GET /cars/groups?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 703,
"name": "Группа",
"notes": null,
"organizationId": 1
},...]
// id группы, целое число
// название группы, строка
// описание группы, строка
// id организации, целое число
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Редактирование группы ТС
Доступно только для пользователей с правами администратора
PUT /cars/groups/{id}
Структура запроса:
PUT /cars/groups/id?token=bw3ty3h46yth
id: id группы
token: ключ доступа
Формат: json
{
"id": 2142,
"name": "Название группы",
"notes": "Группа для ТС организации",
"organizationId": 242
}
// id группы ТС, целое число
// название группы, строка
// описание группы, строка
// id организации, целое число
h2 class=»rest»>Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 2142,
"name": "Название группы",
"notes": "Группа для ТС организации",
"organizationId": 242
}
// id группы ТС, целое число
// название группы, строка
// описание группы, строка
// id организации, целое число
Статус: 400 — ошибка в запросе
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Добавление группы ТС
Доступно только для пользователей с правами администратора
POST /cars/groups
Структура запроса:
POST /cars/groups?token=bw3ty3h46yth
token: ключ доступа
Формат: json
{
"name": "Новая группа ТС",
"notes": "Новая группа для транспорта",
"organizationId": "82"
}
// название группы, строка
// описание, строка
// id организации, целое число
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 282,
"name": "Новая группа ТС",
"notes": "Новая группа для транспорта",
"organizationId": 9782
}
// id группы ТС, целое число
// название группы, строка
// описание группы, строка
// id организации, целое число
Статус: 400 — ошибка в запросе
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление группы ТС
Доступно только для пользователей с правами администратора
DELETE /cars/groups/groupId
Структура запроса:
DELETE /cars/groups/345?token=bw3ty3h46yth
groupId: id группы
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список ТС, принадлежащих выбранной группе
GET /cars/groups/groupId/cars
Структура запроса:
GET /cars/groups/29/cars?token=bw3ty3h46yth
groupId: id группы
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 4158,
"name": "testDrivers",
"glonassId": 354235,
"view": true,
"lastUpdate": null,
"onService": false,
"iconStandard": true,
"iconIndex": 223,
"toDelete": false,
"markId": 150,
"modelId": 1621,
"groupId": 29,
"speed": 0,
"direction": 0,
"lat": 0,
"lon": 0,
"carNo": "235235",
"isStopped": false,
"tagsIds": [ ],
"organizationId": 1
},...]
// id ТС, целое число
// название, строка
// ГЛОНАСС id, целое число
// видима ли, булевое поле
// последнее обновление, timestamp
// ТС на сервисном обслуживании, булевое поле
// стандартная иконка, булевое поле
// индекс иконки, целое число
// ТС в процессе удаления, булевое поле
// id марки, целое число
// id модели, целое число
// id группы, целое число
// текущая скорость, целое число
// угол, под которым вошло ТС, целое число
// широта, целое число
// долгота, целое число
// номер ТС, строка
// остановлена, булевое поле
// id меток, массив
// id организации, целое число
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Список групп ТС (с ускоренной загрузкой за счет отсутствия фильтрации)
GET cars/groups/all
Структура запроса:
GET /cars/groups/all?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 703,
"name": "003",
"notes": null,
"organizationId": 1
},...]
// id группы, целое число
// название группы, строка
// описание группы, строка
// id организации, целое число
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Количество доступных групп
GET /cars/groups/count
Структура запроса:
GET /cars/groups/count?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат:text
10
// количество доступных групп
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Все группы ТС (доступно только для главного администратора)
GET /cars/groups/wheel
Структура запроса:
GET /cars/groups/wheel?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 703,
"name": "003",
"notes": null,
"organizationId": 1
},...]
// id группы, целое число
// название группы, строка
// описание группы, строка
// id организации
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Automap — rest — Documentation
Документация
Документация пользователя
GET /docs/user
Структура запроса:
GET /docs/user?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 200 — успешное выполнение
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Документация администратора
GET /docs/administration
Структура запроса:
GET /docs/administration?token=bw3ty3h46yth
token: ключ доступа
Ответ:
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 200 — успешное выполнение
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Automap — rest — CustomFields
Дополнительные поля
Список дополнительных полей
GET /cars/customfields
Структура запроса:
GET /cars/customfields?token=gtr543lpas87
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 324,
"name": "дробное",
"translit": "drobnoe",
"format": "float",
"groupName": "",
"possibleValues": null,
"regexp": null,
"minLength": 0,
"maxLength": 0,
"isRequired": false,
"defaultValue": "123.640",
"visible": false,
"order": null
},…]
// id дополнительного поля, целое число
// название дополнительного поля, строка
// транслит названия, строка
// формат данных, строка
// название группы, строка
// возможные значения, строка
// валидация поля, строка
// минимальная длина строки, целое число
// максимальная длина строки, целое число
// является ли поле обязательным, булевое поле
// значение по умолчанию, строка
// отображается ли поле, булевое поле
// порядковый номер, целое число
Примечание:
В зависимости от передаваемого формата данных пользователю становятся доступны определенные поля для добавления и редактирования информации о выбранном дополнительном поле:
- Строка (string) — валидация поля (regexp), минимальная длина строки (minLength), максимальная длина строки (maxLength), значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
- Целое число (int) — значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
- Дробное число (float) — значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
- Дата (date) — обязательное поле (isRequired), отображение поля (visible).
- Условие (bool) — значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
- Список (list) — возможные значения списка (possibleValues), значение по умолчанию (defaultValue), обязательное поле (isRequired), отображение поля (visible).
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Добавление дополнительного поля
POST /cars/customfields
Структура запроса:
POST /cars/customfields?token=gtr543lpas87
token: ключ доступа
Пример запроса:
Формат: json
{
"defaultValue": 10,
"format": "int",
"isRequired": true,
"name": "Новое поле",
"visible": true
}
// значение по умолчанию, строка
// формат данных, строка
// является ли поле обязательным, булевое поле
// название дополнительного поля, строка
// отображается ли поле, булевое поле
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 822,
"name": "Новое поле",
"translit": "Novoe_pole",
"format": "string",
"groupName": "",
"possibleValues": null,
"regexp": "Регулярное выражение",
"minLength": 0,
"maxLength": 225,
"isRequired": true,
"defaultValue": null,
"visible": true,
"order": null
}
// id дополнительного поля, целое число
// название дополнительного поля, строка
// транслит названия, строка
// формат данных, строка
// название группы, строка
// возможные значения, строка
// валидация поля, строка
// минимальная длина строки, целое число
// максимальная длина строки, целое число
// является ли поле обязательным, булевое поле
// значение по умолчанию, строка
// отображается ли поле, булевое поле
// порядковый номер, целое число
Статус: 400 — ошибка в запросе
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Редактирование дополнительного поля
PUT /cars/customfields/{id}
Структура запроса:
PUT /cars/customfields/82?token=gtr543lpas87
id: id дополнительного поля
token: ключ доступа
Пример запроса:
Формат: json
{
"id": 82,
"name": "Дополнительное поле",
"translit": "Dopolnitelnoe_pole",
"format": "list",
"groupName": "",
"possibleValues": ["значение 1"],
"regexp": null,
"minLength": 0,
"maxLength": 0,
"isRequired": true,
"defaultValue": "значение 1",
"visible": true,
"order": null
}
// id дополнительного поля, целое число
// название дополнительного поля, строка
// транслит названия, строка
// формат данных, строка
// название группы, строка
// возможные значения, строка
// валидация поля, строка
// минимальная длина строки, целое число
// максимальная длина строки, целое число
// является ли поле обязательным, булевое поле
// значение по умолчанию, строка
// отображается ли поле, булевое поле
// порядковый номер, целое число
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 82,
"name": "Дополнительное поле",
"translit": "Dopolnitelnoe_pole",
"format": "list",
"groupName": "",
"possibleValues": ["значение 1"],
"regexp": null,
"minLength": 0,
"maxLength": 0,
"isRequired": true,
"defaultValue": "значение 1",
"visible": true,
"order": null
}
// id дополнительного поля, целое число
// название дополнительного поля, строка
// транслит названия, строка
// формат данных, строка
// название группы, строка
// возможные значения, строка
// валидация поля, строка
// минимальная длина строки, целое число
// максимальная длина строки, целое число
// является ли поле обязательным, булевое поле
// значение по умолчанию, строка
// отображается ли поле, булевое поле
// порядковый номер, целое число
Статус: 400 — ошибка в запросе
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление дополнительного поля
DELETE /cars/customfields/{id}
Структура запроса:
DELETE /cars/customfields/82?token=gtr543lpas87
id: id дополнительного поля
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Automap — rest — Notification
Оповещения
Список оповещений
GET /notifies
Структура запроса:
GET /notifies?token=gtr543lpas87
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
[{
"id": 1,
"name": "Название",
"timeFrom": 0,
"timeTill": 86340000,
"message": "",
"expired": null,
"eventId": 18,
"carIds": [1887,2067,3152,3154],
"userIds": [1908]
},…]
// id оповещения, целое число
// название оповещения, строка
// время начала оповещения, целое число
// время окончания оповещения, целое число
// текст сообщения, строка
// время, когда рассылка оповещений завершается, целое число
// id события, целое число
// id ТС, целое число
// id пользователя, целое число
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Информация об оповещении по id
GET /notifies/{id}
Структура запроса:
GET /notifies/1?token=gtr543lpas87
id: id оповещения
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 1,
"name": "Название",
"timeFrom": 0,
"timeTill": 86340000,
"message": "",
"expired": null,
"eventId": 18,
"carIds": [1887,2067,3152,3154],
"userIds": [1908]
}
// id оповещения, целое число
// название оповещения, строка
// время начала оповещения, целое число
// время окончания оповещения, целое число
// текст сообщения, строка
// время, когда рассылка оповещений завершается, целое число
// id события, целое число
// id ТС, целое число
// id пользователя, целое число
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Добавление оповещения
POST /notifies
Структура запроса:
POST /notifies?token=gtr543lpas87
token: ключ доступа
Пример запроса:
{
"carIds": [1232],
"eventId": 6,
"expired": 1422434434000,
"message": "ТС car.carInfo.carNo : event.info в date_from",
"name": "Новое оповещение",
"timeFrom": 36000000,
"timeTill": 86340000,
"userIds": [262, 3]
}
// id ТС, массив
// id события, целое число
// дата истечения отправки оповещений, timestamp
// текст сообщения, строка
// название оповещения, строка
// начало оповещения, timestamp
// конец оповещения, timestamp
// id пользователей, массив
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 381,
"name": "Новое оповещение",
"timeFrom": 36000000,
"timeTill": 86340000,
"message": "ТС car.carInfo.carNo : event.info в date_from",
"expired": 1422434434000,
"eventId": 6,
"carIds": [123211],
"userIds": [262, 3]
}
// id оповещения, целое число
// название оповещения, строка
// время начала оповещения, целое число
// время окончания оповещения, целое число
// текст сообщения, строка
// время, когда рассылка оповещений завершается, целое число
// id события, целое число
// id ТС, целое число
// id пользователя, целое число
Примечание:
При создании или редактировании оповещений в поле «message» появляются шаблонные варианты уведомлений, которые будут приходить определенным пользователям в виде электронных писем или SMS (в зависимости от настроек сервера). Текст этого шаблона зависит от типа выбранного события.
Кроме того, пользователю с правами администрирования доступно редактирование готовых шаблонов. Для этого он может воспользоваться следующими атрибутами:
- car.carInfo.carNo — государственный номер транспортного средства;
- date_from — дата начала события;
- date_to — дата окончания события;
- event.info — информация о событии;
- car.carInfo.model — модель транспортного средства;
- car.carInfo.mark — марка транспортного средства;
- notify.time_from — время начала оповещения;
- notify.time_till — время окончания оповещения;
- event.data_from — дата начала события;
- event.data_till — дата окончания события.
Статус: 400 — ошибка в запросе
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Редактирование оповещения
PUT /notifies/{id}
Структура запроса:
PUT /notifies/28?token=gtr543lpas87
id: id оповещения
token: ключ доступа
Формат: json
{
"carIds": [123211],
"eventId": "9",
"expired": 1422434434000,
"id": 28,
"message": "На ТС car.carInfo.carNo : event.info в date_from",
"name": "Новое название",
"timeFrom": 43200000,
"timeTill": 86340000,
"userIds": [262]
}
// id ТС, массив
// id события, целое число
// дата истечения отправки оповещений, timestamp
// id оповещения, целое число
// текст сообщения, строка
// название оповещения, строка
// начало оповещения, timestamp
// конец оповещения, timestamp
// id пользователей, массив
Ответ:
Статус: 200 — успешное выполнение
Формат: json
{
"id": 28,
"name": "Новое название",
"timeFrom": 43200000,
"timeTill": 86340000,
"message": "На ТС car.carInfo.carNo : event.info в date_from",
"expired": 1422434434000,
"eventId": 9,
"carIds": [123211],
"userIds": [262]
}
// id оповещения, целое число
// название оповещения, строка
// время начала оповещения, целое число
// время окончания оповещения, целое число
// текст сообщения, строка
// время, когда рассылка оповещений завершается, целое число
// id события, целое число
// id ТС, целое число
// id пользователя, целое число
Статус: 400 — ошибка в запросе
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки
Удаление оповещения
DELETE /notifies/{id}
Структура запроса:
DELETE /notifies/33?token=gtr543lpas87
id: id оповещения
token: ключ доступа
Ответ:
Статус: 200 — успешное выполнение
Статус: 404 — объект не найден
Формат: text/plain
Содержит описание ошибки
Статус: 500 — ошибка на сервере
Формат: text/plain
Содержит описание ошибки