Это старая версия документа!
Описание API V2 мобильного приложения Д24 V2
Список URL
- URL продакшн сервера https://ds24.ru/piedpiper
- URL тестового сервера https://s0.ds24.ru/piedpiper
- URL сервера аутентификациии https://auth.ds24.ru/api/
- URL FS API https://ds24.ru/fs
Виды push-уведомлений
- З_СП Заявка | принята в работуЗ_СО Заявка | открыта повторно
- З_К Заявка | Комментарий к заявке добавлен
- З_Ф Заявка | Фото к заявке добавлено
- З_Н Заявка | Пользователь назначен исполнителем или ответственным
- О_С Оповещение | Оповещение новое об отключениях
- З_СР Заявки | Срочные заявки - открытие приложения с предустановленным фильтром
- З_НП Заявки | Не принятые в работу - открытие приложения с предустановленным фильтром
- З_КА Заявки | Посылается запрос по статусу аварийной заявки с быстрой кнопкой «Авария устранена»
Константы
Типы помещений
значение | описание |
---|---|
1 | квартира |
2 | кладовка |
3 | парковка |
4 | офис |
5 | секция |
6 | дом |
7 | апартаменты |
Статусы push-уведомления
значение | описание |
---|---|
0 | не отправлено |
1 | отправлено |
2 | прочитано |
Статусы чек-листа
код статуса | описание |
---|---|
PENDING | К выполнению |
INWORK | В работе |
SUCCESS | Выполнено |
VIOLATION | Есть нарушения |
IMPOSSIBLE | Невозможно выполнить |
FAILED | Не выполнено |
статусы работ чек-листа
Код статуса | описание |
---|---|
0 | в ожидании выполнения |
1 | успешно выполнено |
2 | есть нарушения |
3 | невозможно выполнить |
Определение адреса сервера
Определение адреса сервера при аутентификации по логину и паролю
POST https://auth.ds24.ru/api/user/auth
Параметры запроса:
Название | Тип | Обязательный | Краткое описание |
---|---|---|---|
login | string | Да | - |
password | string | Да | - |
Параметры ответа
Название | Тип | Обязательный | Краткое описание |
---|---|---|---|
ok | boolean | да | Успешно ли выполнился запрос |
server | string | нет | Адрес сервера |
login | string | нет | Логин пользователя, если он успешно прошел процесс аутентификации |
hash | string | нет | - |
secret | string | нет | - |
Пример:
//Тело запроса { "login" : "someuser", "password" : "12345" } // Ответ { "ok": true, "server": "https://ds24.ru/", "login": "someuser", "hash": "someuserhash", "secret": "someusersecret" }
Определение адреса сервера при регистрации по номеру телефона
POST https://auth.ds24.ru/api/user/reg
Параметры запроса:
Название | Тип | Обязательный | Краткое описание |
---|---|---|---|
login | string | да | Номер телефона для регистрации |
Параметры ответа:
Название | Тип | Обязательный | Краткое описание |
---|---|---|---|
ok | boolean | Да | Результат выполнения операции (true / false) |
server | string | Нет | Адрес сервера |
Пример:
// Тело запроса { "login" : "9125212573" } // Ответ { "ok": true, "server": "https://ds24.ru/" }
Аутентификация и Авторизация
Аутентификация
Аутентификация происходит путем отправки запроса на указанный выше метод. Запрос должен включать:
- Заголовок с названием «authorization»
- Тело запроса
Формирование значения заголовка authorization
Первоначальное значение формируется из двух или трех строк, разделенных двоеточием, окруженным пробелами (пробел двоеточие пробел). есть 3 варианта формирования этого значения:
- из логина и пароля
В первой строке указывается слово «login», вторая строка - значение логина пользователя, третья строка - его пароль.
Пример: login : predeinay : myPassword123
Такой формат заголовка отправляется при аутентификации по логину и паролю - из номера телефона
В первой строке указывается слово «phone», вторая строка - номер телефона пользователя.
Пример: phone : 9125212573
Такой формат заголовка отправляется при аутентификации по телефону с последующей проверкой кода из смс. - из номера телефона и проверочного кода из смс
В первой строке указывается слово «phone», вторая строка - номер телефона пользователя, третья строка - проверочный код.
Пример: phone : 9125212573 : 12345
Такой формат заголовка отправляется при проверке кода из смс.
После того, как значение было сформировано, полученную строку нужно закодировать в формате base64.
Пример: строка login : predeinay : myPassword123 превращается в bG9naW4gOiBwcmVkZWluYXkgOiBteVBhc3N3b3JkMTIz
В результате получается такой заголовок:
«authorization»: «bG9naW4gOiBwcmVkZWluYXkgOiBteVBhc3N3b3JkMTIz»
Параметры тела запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
devType | string | да | android / ios Тип устройства, чтобы система понимала как отправлять push-уведомления т.п. |
pushToken | string | да | Токен для push-уведомлений |
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
ok | boolean | да | true / false. Успешно ли выполнен запрос к серверу. |
credentials | boolean | да | true / false. Успешность аутентификации. true - аутентификация пройдена, false - нет. |
msg | string | нет | информационное сообщение для вывода пользователю. Отправляется, если произошла ошибка и при отправке проверочного кода. |
token | string | нет | Многоразовый индивидуальный токен авторизации. Используется в последующих запросах к серверу |
Пример:
// Тело запроса { "devType" : "android", "pushToken" : "klnefkszkjn5lkawelnflkzsdfk" } // Ответ { "ok" : true, "credentials" : true, "token" : "someverysecrettoken123123123" }
Авторизация
Для получения прав доступа к Д24 необходимо с каждым запросом к системе отправлять заголовок authorization, значением которого должен быть полученный в предыдущем пункте токен авторизации, закодированный в формате base64.
Пример:
- Токен - «someverysecrettoken123123123»
- Заголовок - «authorization»:«c29tZXZlcnlzZWNyZXR0b2tlbjEyMzEyMzEyMw==»
Обработка ошибок
! В это описание не входят запросы на получение адреса сервера и аутентификацию
Состояние запроса передается с помощью кодов состояния http.
- 200 - запрос успешно выполнен.
- 401 - Отказ в авторизации
- 404 - Метод запроса не найден или при выполнении запроса произошла ошибка.
!!! В описании методов ниже описываются параметры и тип только успешного ответа (200), если об ином не сказано в самом описании.
Если тип ответа - Массив и данные не были найдены, то в ответ будет успешен (с кодом 200) и в ответе будет пустой массив.
Справочники
Получение списка доступных юридических лиц
GET http://server.ru/v2/ref/cnt_list
Тип ответа: Массив.
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
cnt | string | да | Название юридического лица |
cnt_id | number | да | Идентификатор юр. лица в базе данных Д24 |
Пример:
// ответ [ { "cnt": "Жил. трест Кир. р-на (Спартак)", "cnt_id": 10983 }, { "cnt": "Жил. трест Кир. р-на (Центр)", "cnt_id": 11041 }, { "cnt": "Жил. трест Кир. р-на ООО РЭУ-25 (Рекорд)", "cnt_id": 11081 } ]
Получение списка доступных улиц / населенных пунктов
GET http://server.ru/v2/ref/street_list?cnt_id=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
cnt_id | number | да | Идентификатор юр. лица в базе данных Д24 |
Тип ответа: Массив
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
street | string | да | Название улицы |
Пример:
//Запрос /* http://server.ru/v2/ref/street_list?cnt_id=1 */ // Ответ [ { "street": "Александрова ул" }, { "street": "Гурьевская ул" }, { "street": "Инициативная ул" }, { "street": "Леонова ул" }, { "street": "Рекордная ул" } ]
Получение списка доступных домов
GET http://server.ru/v2/ref/address_list?cnt_id=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
cnt_id | number | нет | идентификатор юр. лица в системе. Если при запросе отсутствует, то в ответе будут все улицы/нас. пункты по доступным юр. лицам |
Тип ответа: Массив с объектами
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
address | string | да | полный адрес дома |
house_id | number | да | идентификатор дома в системе |
Пример:
//Запрос /* http://server.ru/v2/ref/address_list?cnt_id=11601 */ // Ответ [ { "address":"Кемерово г, Дружбы ул, дом 1Б", "house_id":50136 }, { "address":"Кемерово г, Дружбы ул, дом 1А", "house_id":50135 }, ... ]
Получение списка доступных подъездов у дома
GET http://server.ru/v2/ref/entrance_list?house_id=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
house_id | number | да | идентификатор дома в системе. Ответ на запрос - список доступных подъездов в этом доме |
Тип ответа: Массив c объектами
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
entrance | string | да | Номер доступного подъезда |
Пример:
//Запрос /* GET http://server.ru/v2/ref/entrance_list?house_id=1251 */ // Ответ [ {"entrance":"1"}, {"entrance":"2"}, {"entrance":"3"}, {"entrance":"4"}, {"entrance":"5"} ]
Получение списка доступных этажей дома
GET http://server.ru/v2/ref/floor_list?house_id=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
house_id | number | да | идентификатор дома в системе. Ответ на запрос - список доступных этажей в этом доме |
Тип ответа: Массив с объектами
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
floor | number | да | Номер доступного этажа |
Пример:
//Запрос /* http://server.ru/v2/ref/floor_list?house_id=1251 */ // Ответ [ {"floor":0}, {"floor":1}, {"floor":2}, {"floor":3}, {"floor":4}, {"floor":5} ]
Получение списка доступных квартир
GET http://server.ru/v2/ref/flat_list?house_id=value1&entrance=value2&floor=value3
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
house_id | number | да | идентификатор дома в системе. |
entrance | string | нет | номер подъезда в указанном доме |
floor | number | нет | номер этажа в указанном доме |
Тип ответа: Массив с объектами
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
flat | string | да | номер доступной квартиры |
flat_id | number | да | идентификатор квартиры в системе |
FLAT_TYPE | number | да | тип помещения. Смотреть описание типов помещений |
Пример:
//Запрос /* http://server.ru/v2/ref/flat_list?house_id=1251&entrance=2&floor=5 */ // Ответ [ { "flat": "37", "flat_id": 55282, "FLAT_TYPE": 1 }, { "flat": "38", "flat_id": 55283, "FLAT_TYPE": 1 }, { "flat": "39", "flat_id": 55284, "FLAT_TYPE": 1 }, { "flat": "40", "flat_id": 55285, "FLAT_TYPE": 1 } ]
Получение типов работ
GET http://server.ru/v2/ref/type_list
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
type | string | да | Название типа работы |
type_id | number | да | идентификатор типа работы в системе |
Пример:
//Запрос /* http://server.ru/v2/ref/type_list */ // Ответ [ { "type": "Сантехника", "type_id": 23 }, { "type": "Электричество", "type_id": 24 } ]
Получение причин обращений
GET http://server.ru/v2/ref/ess_list?type_ids=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
type_ids | string | нет | идентификаторы типов работ, разделенные двоеточием. Пример: 23:24 |
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
ess | string | да | текст причины обращения |
ess_id | number | да | идентификатор причины обращения в системе |
Пример:
//Запрос /* GET http://server.ru/v2/ref/ess_list?type_ids=23:24 */ // Ответ [ { "ess": "Восстановить освещение в МОП", "ess_id": 1561 }, { "ess": "Восстановить освещение в подвале", "ess_id": 4204 }, ... ]
Получение доступных причин обращений для указанного дома
GET http://server.ru/v2/ref/ess_list_search?house_id&find
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
house_id | number | да | идентификатор дома |
find | string | нет | - |
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
ess | string | да | текст причины обращения |
ess_id | number | да | идентификатор причины обращения в системе |
rtype | string | да | - |
type | string | да | - |
type_id | number | да | - |
Пример:
//Запрос /* GET http://server.ru/v2/ref/ess_list_search?house_id=42243 */ // Ответ [ { "ess_id": 2923, "rtype": " Плановая", "type": "Безопасность и СКУД", "type_id": 241, "ess": "Неисправность ворот / шлагбаума въезд во двор" }, { "ess_id": 3078, "rtype": " Плановая", "type": "Безопасность и СКУД", "type_id": 241, "ess": "Неисправность ворот паркинга" }, ... ]
Получение списка исполнителей
GET http://server.ru/v2/ref/emp_list?cnt_id=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
cnt_id | number | нет | идентификатор юр. лица. |
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
emp | string | да | ФИО исполнителя |
emp_id | number | да | идентификатор исполнителя в системе |
Пример:
//Запрос /* GET http://server.ru/v2/ref/emp_list */ // Ответ [ { "emp" : "Иванов Иван Иванович", "emp_id" : 23 }, { "emp" : "Клабуков Александр Витальевич", "emp_id" : 12 }, { "emp" : "Григорович Сергей Константинович", "emp_id" : 13 } ]
Получение списка ответственных
GET http://server.ru/v2/ref/resp_list?cnt_id=value1&request_id=value2
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
cnt_id | number | нет | идентификатор юр. лица, для которого нужно получить ответственных |
request_id | number | нет | идентификатор заявки, для которой нужно получить ответственных |
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
resp | string | да | ФИО ответственного |
resp_id | number | да | идентификатор ответственного в системе |
Пример:
//Запрос /* GET http://server.ru/v2/ref/resp_list */ // Ответ [ { "resp": "Иванов Иван Иванович", "resp_id": 35713 }, { "resp": "Клабуков Александр Игоревич", "resp_id": 35293 }, { "resp": "Пажитнов Алексей Леонидович", "resp_id": 28853 }, ... ]
Получение списка статусов
GET http://server.ru/v2/ref/status_list?request_id=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | нет | идентификатор заявки в системе |
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
status | string | да | Текстовое описание статуса |
status_id | number | да | идентификатор статуса в системе |
reasons | number | да | количество доступных причин статуса |
need_comment | number | да | необходимо ли обязательно указывать комментарий в момент перевода заявки в данный статус (0 - нет / 1 - да) |
Пример:
//Запрос /* http://server.ru/v2/ref/status_list?request_id=1 */ // Ответ [ { "status": "Принята в работу", "status_id": 2, "reasons": 0, "need_comment": 0 }, { "status": "Отложена", "status_id": 4, "reasons": 14, "need_comment": 0 }, { "status": "Открыта повторно", "status_id": 5, "reasons": 3, "need_comment": 0 }, { "status": "Выполнена", "status_id": 3, "reasons": 0, "need_comment": 1 } ]
Получение списка статусов в виде дерева
DEPRECATED GET http://server.ru/v2/ref/status_tree_list
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
status | string | да | - |
status_id | string | да | - |
Пример:
//Запрос /* http://server.ru/v2/ref/status_tree_list */ // Ответ [ { "status": "Открытые заявки", "status_id": "1:65:70:5:2:23:4" }, { "status": "...Новые", "status_id": "1:65:70:5" }, { "status": ".....|Зарегистрирована", "status_id": "1" } ]
Получение списка типов заявок
GET http://server.ru/v2/ref/req_type_list
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
rtype_id | number | да | идентификатор типа заявки |
rtype | string | да | текстовое описание типа заявки |
Пример:
//Запрос /* http://server.ru/v2/ref/req_type_list */ // Ответ [ { "rtype_id": 1, "rtype": "Обычные" }, { "rtype_id": 2, "rtype": "Аварийные" }, { "rtype_id": 3, "rtype": "Платные" } ]
Получение списка причин статусов
GET http://server.ru/v2/ref/status_reason_list?status_id=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
status_id | number | да | идентификатор статуса, для которого нужно получить список причин |
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
reason_id | number | да | идентификатор причины статуса в системе |
reason | string | да | текстовое описание причины статуса |
Пример:
//Запрос /* http://server.ru/v2/ref/status_reason_list?status_id=25 */ // Ответ [ { "reason_id": 7164, "reason": "Сделал сам" }, { "reason_id": 7, "reason": "заявитель доволен" }, { "reason_id": 8, "reason": "невозможно проверить" }, { "reason_id": 9, "reason": "автоматически" }, ... ]
Получение списка причин отказа от заявки
GET http://server.ru/v2/ref/request_refuse_reason_list?is_emergency=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
is_emergency | number | нет | 1 - аварийная заявка / 0 (или любое другое значение, отличное от 1) - не аварийная заявка). В зависимости от параметра приходит разный список отказов. |
Тип ответа: Массив объектов
Параметры ответа (объектов массива)
Название | Тип | Обязательно | Описание |
---|---|---|---|
reject_reason | string | да | текстовое описание причины отказа от заявки |
refuse_id | string | да | идентификатор причины отказа |
Пример:
//Запрос для аварийной заявки /* http://server.ru/v2/ref/request_refuse_reason_list?is_emergency=1 */ // Ответ [ { "reject_reason": "Сегодня не работаю", "refuse_id": "5" }, { "reject_reason": "До конца смены менее 30 минут", "refuse_id": "6" }, { "reject_reason": "Не мой профиль", "refuse_id": "7" }, { "reject_reason": "Не аварийный случай", "refuse_id": "8" } ] //Запрос для НЕ аварийной заявки /* http://server.ru/v2/ref/request_refuse_reason_list?is_emergency=0 */ //Ответ [ { "reject_reason": "Не мой профиль", "refuse_id": "1" }, { "reject_reason": "Не мой участок", "refuse_id": "2" }, { "reject_reason": "Я на больничном", "refuse_id": "3" }, { "reject_reason": "У меня выходной / отпуск", "refuse_id": "4" } ]
Оповещения
Создание оповещения
Параметры тела запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
house_ids | string | да | Идентификаторы домов, на которые будет распространяться оповещение |
type | string | да | Тип оповещения |
start_at | string | да | Дата и время старта оповещения в формате «ДД.ММ.ГГГГ ЧЧ.ММ» |
end_at | string | да | Дата и время окончания оповещения в формате «ДД.ММ.ГГГГ ЧЧ.ММ» |
service_list | string | да | Набор услуг, разделенных двоеточием. Пример: «Э:О» |
resp | string | да | Зона ответственности |
reason | string | да | Причина (одиночный выбор) |
what | string | да | Объект |
note | string | да | описание оповещения |
Описание возможных значений параметров:
Тип оповещения:
- Утечка У
- Опрессовка Р
- Отключение услуг О
- Подвоз воды В
- Подпоры П
- Прочее Д
- Акция А
Услуги:
- ХВС Х
- ГВС Г
- Канализация К
- Отопление О
- Электричество Э
- Газ З
- Лифт Л
Зона отвественности:
- Управляющая компания У
- Ресурсоснабжающая организация Р
- Неизвестно Н
Причина (одиночный выбор):
- Авария А
- Плановые работы П
- Задолженность за оплату З
- Неизвестно Н
Объект
- Несколько домов М
- Весь дом Д
- Подъезд П
- Стояк С
- Несколько квартир К
- Неизвестно Н
Тип ответа: Объект
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
affected_rows | number | да | Количество созданных/затронутых изменениями строк |
info_id | number | да | идентификатор созданного оповещения в системе |
Примечания:
Если дома находятся в разных УК, то для каждой УК будет создано свое оповещение. В этом случае affected_rows будет больше 1 а info_id идентификатором последнего созданного оповещения.
Пример:
//Тело запроса { "house_ids": "34021:42243", "type": "О", "start_at": "22.01.2016 10:40", "end_at": "22.01.2016 18:30", "service_list": "Э:О", "resp": "Р", "reason": "П", "what": "М", "note": "Тест создания" } // Ответ { "affected_rows": 1, "info_id": 139284 }
Изменение оповещения, написание комментария
PUT http://server.ru/v2/oi/:info_id
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
info_id | number | да | идентификатор оповещения, которое нужно обновить |
Параметры тела запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
status | string | нет | Новый статус заявки |
comment | string | нет | Новый комментарий от пользователя |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
affected_rows | number | да | Количество созданных/затронутых изменениями строк, в том числе и созданный комментарий |
Пример:
//Запрос /* http://server.ru/v2/oi/139245 */ //Тело запроса { "status": "A", "comment": "Комментарий для теста" } // Ответ { "affected_rows": 2 }
Получение списка оповещений
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
start | number | да | с какой позиции начать показывать |
count | number | да | количество элементов, которые нужно показать |
cnt_id | number | нет | идентификатор юр. лица |
house_id | number | нет | идентификатор дома |
status | string | нет | статус оповещения |
type | string | нет | типы оповещения через двоеточие |
service | string | нет | список услуг через двоеточие |
custom_filter | string | нет | отменяет все прочие фильтры |
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
info_id | number | да | идентификатор оповещения |
type | string | да | тип оповещения |
type_str | string | да | текстовое описание типа оповещения |
start_at | string | да | дата и время начала в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi |
end_at | string | может быть null | дата и время конца в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi |
created_at | string | да | дата и время создания оповещения |
note | string | да | текст оповещения |
status | string | да | статус оповещения |
status_str | string | да | текстовое описание статуса оповещения |
service_list | string | может быть null | код услуги, к которой относится оповещение |
service_list_str | string | может быть null | услуга, к которой относится оповещение |
all_flags | string | - | - |
object_list | array | да | список домов оповещения |
Параметры массива object_list (список домов оповещения):
Название | Тип | Обязательно | Описание |
---|---|---|---|
street | string | да | улица, к домам которой относится оповещение |
houses | string | да | список домов на этой улице, к которым относится оповещение |
Пример:
//запрос http://server.ru/v2/oi?start=1&count=50 // Ответ [ { "info_id": 139284, "type": "О", "type_str": "Отключение ", "start_at": "22.01.2016 10:40", "end_at": "22.01.2016 18:30", "created_at": "15.11.2021 16:32", "note": "Тест создания", "status": "А", "status_str": "Активно", "service_list": "О:Э", "all_flags": "ННДДННН", "service_list_str": "Отопление, Электричество", "object_list": [ { "street": "Апрельская ул", "houses": "15" }, { "street": "Ленина ул", "houses": "1" } ] }, ... ]
Получение детализации оповещения
GET http://server.ru/v2/oi/:info_id
переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
info_id | number | да | идентификатор оповещения, для которого нужно получить детализацию |
Тип ответа: Объект
Параметры ответа Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
info_id | number | да | идентификатор оповещения |
type | string | да | тип оповещения |
type_str | string | да | текстовое описание типа оповещения |
start_at | string | да | дата и время начала в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi |
end_at | string | может быть null | дата и время конца в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi |
created_at | string | да | дата и время создания оповещения |
note | string | да | текст оповещения |
status | string | да | статус оповещения |
status_str | string | да | текстовое описание статуса оповещения |
service_list | string | может быть null | код услуги, к которой относится оповещение |
service_list_str | string | может быть null | услуга, к которой относится оповещение |
reason | string | да | Код причины |
reason_str | string | да | текстовое описание причины |
resp | string | да | код ответственного |
resp_str | string | да | ответственный. Если РСО, тогда svc_id и svc не null |
svc_id | number | может быть null | идентификатор РСО |
svc | string | может быть null | название РСО |
Пример:
//Запрос /* http://server.ru/v2/oi/66776 */ // Ответ { "info_id": 66776, "type": "О", "type_str": "Отключение ", "start_at": "22.01.2016 08:40", "end_at": "22.01.2016 16:30", "created_at": "21.01.2016 09:19", "note": "плановые работы на подстанции 292 отключение 2 секции шин.", "status": "З", "status_str": "Закрыто", "service_list": "Э", "service_list_str": "Электричество", "reason": "П", "reason_str": "Плановые работы", "resp": "Р", "resp_str": "РСО", "svc_id": 6, "svc": "Электросети" }
Получение списка домов, на которые распространяется оповещение
GET http://server.ru/v2/oi/:info_id/houses
переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
info_id | number | да | идентификатор оповещения, для которого нужно получить список домов |
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
street | string | да | улица, к домам которой относится оповещение |
houses | string | да | список домов на этой улице, к которым относится оповещение |
Пример:
//Запрос /* http://server.ru/v2/oi/139246/houses */ // Ответ [ { "street": "Апрельская ул", "houses": "15" }, { "street": "Ленина ул", "houses": "1" } ]
Получение ленты событий оповещения
GET http://server.ru/v2/oi/:info_id/feed?start=value1&count=value2
переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
info_id | number | да | идентификатор оповещения, для которого нужно получить ленту событий |
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
start | number | да | с какой позиции показывать |
count | number | да | количество выдаваемых элементов |
Тип ответа: Массив объектов
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
created_at | string | да | дата и время создания |
type | number | да | тип события (0 - комментарий / 1 - активность) |
note | string | да | текстовое описание события |
created_by | string | да | автор события |
Пример:
//Запрос /* http://server.ru/v2/oi/66776/feed?start=1&count=50 */ // Ответ [ { "created_at": "29.01.2016 23:00", "type": 1, "note": "Статус оповещения изменился с \"Активное\" на \"Архивное\".\r\n", "created_by": "Системный пользователь" }, { "created_at": "23.01.2016 09:28", "type": 1, "note": "Статус оповещения изменился с \"Плановое\" на \"Активное\".\r\n", "created_by": "Лукашевич Светлана" } ]
Счетчики
Получение списка активных показаний по счётчикам для текущего пользователя
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
start | number | да | с какой позиции начать получать элементы списка |
count | number | да | количество получаемых элементов списка |
cnt_id | number | нет | идентификатор юр. лица |
house_id | number | нет | идентификатор дома |
flat | string | нет | номер квартиры |
term_ids | string | нет | тип счетчиков через разделитель «:». Пример: «1:5» |
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
description | string | да | Назначение счетчика |
house | string | да | Адрес дома, где установлен счетчик |
flat | string | может быть null | Номер квартиры, где установлен счетчик |
value | number | может быть null | Текущее показание счетчика |
date | string | может быть null | Дата текущего показания |
prev_value | number | да | Последнее показание |
prev_date | string | да | Дата последнего показания |
meter_id | number | да | идентификатор показания |
meter_id_ext | string | да | «Внешний» идентификатор показания (сторонней системы) |
term | string | да | текстовое описание типа показания |
Примеры:
//Запрос /* https://server.ru/meter?/v2/meter?start=1&count=3&cnt_id=10401&house_id=40783&flat=3&term_ids=1:5 */ //Ответ [ { "description": "ХВС", "house": "Курган г, Бурова-Петрова ул, дом 78", "flat": "3", "value": null, "date": null, "prev_value": ".087", "prev_date": "25.06.2021", "meter_id": 4075904, "meter_id_ext": "3672939", "term": "Холодная вода" } ]
Получение списка квартир, которые связаны с активными показаниями
GET https://server.ru/v2/meter/flat_list?house_id=value
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
house_id | number | да | Идентификатор дома в системе, для которого нужно получить список квартир |
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
flat | string | да | Номер квартиры |
Примеры:
//Запрос /* https://server.ru/meter/flat_list?house_id=40783 */ //Ответ [ { "flat": "1" }, { "flat": "2" }, { "flat": "3" }, { "flat": "4" }, { "flat": "5" }, { "flat": "6" } ]
Получение списка типов счетчиков для дальнейшей фильтрации
GET https://server.ru/v2/meter/term_list
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
term_id | number | да | идентификатор типа счетчика |
term | string | да | текстовое описание типа счетчика |
Примеры:
//Запрос /* https://server.ru/meter/term_list */ //Ответ [ { "term_id": 6, "term": "Газ" }, { "term_id": 5, "term": "Горячая вода" }, { "term_id": 7, "term": "Отопление" }, { "term_id": 1, "term": "Холодная вода" }, { "term_id": 3, "term": "Электроэнергия" }, { "term_id": 221, "term": "Электроэнергия ночь" } ]
Сохранение показаний
PUT https://server.ru/v2/meter/:meter_id
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
meter_id | number | да | идентификатор счетчика |
Тело запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
value | string | да | значение показания счетчика |
image_url | string | - | - |
image_name | string | - | - |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
affected_rows | number | да | Количество созданных / затронутых изменениями строк |
Примеры:
//Запрос /* https://server.ru/meter/121281 */ // Тело запроса { "value": "150", "image_url" : "https://ds24.ru/fs/static/2017/08/14/some_test.jpg", "image_name" : "image" } //Ответ { "affected_rows": 2 }
Контакты
Получение списка контактов
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
start | number | да | с какой позиции начать показывать |
count | number | да | сколько контактов показать |
cnt_id | number | нет | идентификатор юр. лица |
phone | string | нет | номер телефона |
house_id | number | нет | идентификатор дома |
entrance | string | нет | подъезд |
floor | number | нет | этаж |
flat_id | number | нет | идентификатор квартиры |
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
phone | string | да | Номер телефона |
house | string | да | Адрес дома |
flat | string | да | номер квартиры |
entrance | string | может быть null | обозначение подъезда |
floor | number | может быть null | номер этажа |
Примеры:
//Запрос /* https://server.ru/contact?cnt_id=10401&house_id=40783&start=1&count=5 */ //Ответ [ { "phone": "9223223223", "house": "Курган г, Бурова-Петрова ул, дом 78", "flat": "тест-24", "entrance": "2", "floor": 3 }, { "phone": "9223223224", "house": "Курган г, Бурова-Петрова ул, дом 78", "flat": "тест-25", "entrance": null, "floor": null }, ... ]
Заявки
Создание заявки
POST https://server.ru/v2/request
Тело запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
house_id | number | да | - |
ess_id | number | да | - |
type_id | number | да | - |
note | string | да | - |
contphone | string | нет | - |
flat | string | нет | номер помещения |
entr | string | нет | подъезд |
floor | string | нет | этаж |
flat_type | number | нет | тип помещения. Смотреть описание типов помещений |
string | нет | - |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | созданная заявка |
Примеры:
//Тело запроса { "house_id" : 34021, "ess_id" : 1533, "type_id" : 23, "note" : "Тест ppostman", "contphone" : "9125212573", "flat" : "123", "entr" : "1", "floor" : "9", "email" : "predeinay@gmail.com", "flat_type": 1 } //Ответ { "request_id": 1298371 }
Изменение данных в заявке, добавление комментария
PUT https://server.ru/v2/request/:request_id
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | Идентификатор заявки, которую нужно поменять |
Тело запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
status_id | number | нет | - |
reason_id | number | нет | - |
emp_id | number | нет | - |
resp_id | number | нет | - |
deadline_at | string | нет | - |
tag_ids | string | нет | идентификаторы тэгов для сохранения, указанные через запятую Пример: «1,2,3». чтобы удалить все тэги необходимо послать «0» |
emp_note | string | нет | - |
comment | string | нет | - |
image_url | string | нет | Ссылка на изображение. Отправляется обязательно вместе с image_name |
image_name | string | нет | Название изображения |
appointed_at | string | нет | Дата, когда придёт исполнитель. Принимает «today» / «tomorrow» / «next_week» / дату в формате «ДД.ММ.ГГГГ» |
local_at | string | нет | Дата, когда исполнитель локализовал аварию по заявке «ДД.ММ.ГГГГ ЧЧ:ММ» |
material_price | number | нет | Стоимость материалов по заявке |
price | number | нет | - |
what_was_done | string | нет | - |
paid | number | нет | - |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
affected_rows | number | да | количество затронутых изменениями / созданных строк (вместе с комментариями) |
Примеры:
//Запрос /* https://server.ru/v2/request/1298371 */ // Тело запроса { "status_id" : 2, "reason_id" : 9, "emp_id" : 123, "resp_id" : 123, "deadline_at" : "01.01.2017", "tag_ids" : "1,2,3,4,5", "emp_note" : "типа скрытый от операторов текст", "comment" : "Типа коммент от исполнителя", "image_url" : "https://ds24.ru/fs/static/2017/08/14/some_test.jpg", "image_name" : "some test", "appointed_at": null, "local_at" : "12.12.2020 12:12", "material_price" : 333, "price": 100.2, "what_was_done": "что-то сделано", "paid": 100.3 } //Ответ { "affected_rows": 3 }
Получение списка заявок
GET https://server.ru/v2/request?start&count&cnt_id&street&house_id&flat_id&type_id&type_ids&ess_id&ess_ids&emp_id&resp_id&status_ids&rtype_id &rtype_ids&request_id&date_start&date_end&keywords&custom_filter&is_only_my&custom_order&house_ids&flat_ids&emp_ids&resp_ids&search_phone &house_group_ids&period_exec&exec_time_start&exec_time_end
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
start | number | да | C какой позиции получить заявки |
count | number | да | Сколько заявок получить |
cnt_id | number | нет | идентификатор юр. лица |
street | string | нет | улица |
house_id | number | нет | идентификатор дома |
flat_id | number | нет | идентификатор квартиры |
type_id | number | нет | идентификатор типа работ |
type_ids | string | нет | список идентификаторов типов работ разделенных двоеточием. Пример: «3:12» |
ess_id | number | нет | идентификатор причины обращения |
ess_ids | string | нет | список идентификаторов причин обращения через двоеточие. Пример: «21:32:77» |
emp_id | number | нет | идентификатор исполнителя |
resp_id | number | нет | идентификатор ответственного |
status_ids | string | нет | список идентификаторов статусов через двоеточие. Пример: «1:2:3» |
rtype_id | number | нет | идентификатор типа заявки |
rtype_ids | string | нет | список идентификаторов типов заявки через двоеточие. Пример: «1:2:3» |
request_id | number | нет | идентификатор заявки |
date_start | string | нет | дата начала (фильтруется по дате создания) в формате DD.MM.YYYY |
date_end | string | нет | дата окончания (фильтруется по дате создания) в формате DD.MM.YYYY |
keywords | string | нет | ключевые слова |
custom_filter | string | нет | возможные значения фильтра: new / in_work / on_hold / deadline / finished . Mожет быть передано несколько значений через двоеточие (:). |
is_only_my | number | нет | фильтр, определяющий необходимо ли показывать все заявки или только те, у которых пользователь - ответственный / исполнитель ( 0 - все / 1 - пользователя) |
custom_order | string | нет | тип сортировки заявок ( EXEC_TIME / CREATED_TIME - по сроку выполнения / дате создания) EXEC_TIME по умолчанию если не указано иное. |
house_ids | string | нет | список идентификаторов домов через двоеточие. Пример: «1:2:3» |
flat_ids | string | нет | список идентификаторов помещений через двоеточие. Пример: «1:2:3» |
emp_ids | string | нет | список идентификаторов ответственных через двоеточие. Пример: «1:2:3» |
resp_ids | string | нет | список идентификаторов исполнителей через двоеточие. Пример: «1:2:3» |
search_phone | string | нет | фильтр по номеру телефона. |
house_group_ids | string | нет | список идентификаторов групп домов через двоеточие. Пример: «1:2:3» |
period_exec | string | нет | фильтр по срокам выполнения. Просроченные: П,На сегодня: С,На завтра: З,На ближайшие 3 дня: Т,На неделю: Н,Выполненные: И, Все: В |
exec_time_start | string | нет | начало срока выполнения |
exec_time_end | string | нет | конец срока выполнения |
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
rn | number | да | порядковый номер выборки |
request_id | number | да | идентификатор заявки |
flag_emergency | string | да | Аварийная ли заявка. «Д» - аварийная заявка / «Н» - не аварийная заявка |
note | string | да | текст заявки |
house | string | да | Адрес дома |
flat | string | может быть null | номер квартиры |
status | string | да | текстовое описание статуса |
status_id | number | да | идентификатор статуса |
created_at | string | да | дата и время создания заявки в часовом поясе пользователя |
updated_at | string | нет | дата и время обновления заявки |
execution_time | string | нет | дата и время выполнения заявки |
price | number | может быть null | Цена заявки. Определена, если заявка платная, если нет, то null |
material_price | number | - | - |
tags | string | может быть null | - |
uploads_count | number | - | - |
appointed_str | string | может быть null | время прихода специалиста в формате сегодня / завтра / вчера / дата c hh:mm( до hh:mm) |
appointed_at | string | может быть null | Дата и время прихода специалиста |
deadline_str | number | да | количество дней до конца ожидания выполнения заявки. Может иметь отрицательное значение. |
emp | string | может быть null | ФИО исполнителя |
emp_id | number | может быть null | идентификатор исполнителя |
reason | string | может быть null | текстовое описание причины статуса |
local_at | - | может быть null | - |
contphone | string | да | Номер телефона клиента обратившегося с заявкой |
house_id | number | нет | идентификатор дома |
flat_type | number | нет | |
flat_num | string | нет | номер помещения |
autophone | string | нет | - |
ess_id | number | нет | идентификатор причины обращения |
type_id | number | нет | идентификатор типа заявки |
Примеры:
//Запрос /* https://server.ru/v2/request/?start=1&count=5 */ //Ответ [ { "rn": 1, "request_id": 1298931, "flag_emergency": "Н", "note": "Химчистка домашнего текстиля", "house": "Луначарского ул, дом 240", "flat": "кв 100", "status": "Зарегистрирована", "created_at": "17.03.2022 15:26", "updated_at": null, "execution_time": "21.03.2022 15:26", "price": null, "material_price": null, "tags": "<span style=\"background-color:#FFA366\">сайт</span>", "uploads_count": 0, "appointed_str": null, "appointed_at": null, "emp": null, "deadline_str": -14, "reason": null, "status_id": 1, "emp_id": null, "local_at": null, "house_id": 54696, "flat_type": 1, "flat_num": "100", "contphone": "9826171613", "autophone": null, "ess_id": 3263, "type_id": 21 }, { "rn": 2, "request_id": 1298930, "flag_emergency": "Н", "note": "Химчистка домашнего текстиля", "house": "Луначарского ул, дом 240", "flat": "кв 100", "status": "Зарегистрирована", "created_at": "17.03.2022 15:26", "updated_at": "31.03.2022 13:28", "execution_time": "21.03.2022 15:26", "price": null, "material_price": null, "tags": "<span style=\"background-color:#FFA366\">сайт</span>", "uploads_count": 0, "appointed_str": null, "appointed_at": null, "emp": "dev", "deadline_str": -14, "reason": null, "status_id": 1, "emp_id": 35753, "local_at": null, "house_id": 54696, "flat_type": 1, "flat_num": "100", "contphone": "9826171613", "autophone": null, "ess_id": 3263, "type_id": 21 }, ... ]
Получение списка доступных тэгов
GET https://server.ru/v2/request/tag_list?request_id&cnt_id
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | нет | идентификатор заявки. Если его передать то в is_set Y / N будет показываться Y для тех тэгов которые установлены в указанной заявке |
cnt_id | number | нет | идентификатор юр. лица. Если отсутствует, то выдаются теги по всем доступным юр. лицам |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
tag_id | number | да | идентификатор тега |
title | string | да | - |
color | string | нет | - |
is_set | string | да | - |
Пример:
// запрос /* https://server.ru/v2/request/tag_list */ // ответ: [ { "tag_id": 8, "title": "ГЖИ", "color": "#E9DFFA", "is_set": "N" }, { "tag_id": 841, "title": "Чат", "color": "#FF00FF", "is_set": "N" }, ... ]
Получение детализации по заявке
GET https://server.ru/v2/request/:request_id
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | идентификатор заявки, по которой нужно получить детализацию |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Описание |
---|---|---|
request_id | number | идентификатор заявки |
rtype | string | тип заявки |
flag_emergency | string | аварийная ли заявка. Д - аварийная / Н - не аварийная |
note | string | текст заявки |
house | string | Адрес дома |
flat | string | номер квартиры |
status | string | текущий статус |
reason | string | причина статуса |
created_at | string | Дата и время создания заявки в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi |
updated_at | string | Дата и время изменения заявки в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi |
floor | number | номер этажа |
entr | string | обозначение подъезда |
autophone | string | АОН |
contphone | string | если житель пожелал оставить другой контактный телефон |
string | Адрес электронной почты жителя | |
tags | string | - |
type | string | Тип работ (из справочника) |
ess | string | Причина обращения (из справочника) |
emp | string | ФИО исполнителя заявки |
resp | string | ФИО ответственного по заявке |
created_by | string | пользователь, создавший заявку |
deadline_at | string | Последняя дата срока выполнения заявки в формате DD.MM.YYYY |
deadline_str | number | Количество до конца срока выполнения заявки. Может иметь отрицательное значение |
emp_note | string | скрытый комментарий только для пользователей Д24 (операторы не видят) |
appointed_at | string | время и дата прибытия исполнителя в часовом поясе пользователя. Формат - DD.MM.YYYY hh24:mi |
emp_phone | string | телефон(ы) исполнителя |
resp_phone | string | телефон(ы) ответственного |
status_id | number | Идентификатор статуса |
reason_id | number | Идентификатор причины |
type_id | number | Идентификатор типа работ |
ess_id | number | Идентификатор причины обращения |
emp_id | number | Идентификатор исполнителя |
resp_id | number | Идентификатор ответственного |
cnt_id | number | Идентификатор юр. лица |
is_paid | string | Оплачено или нет. Д - оплачено / Н - не оплачено |
price | number | стоимость заявки |
paid | number | сколько оплачено в данный момент по заявке |
material_price | number | стоимость материалов по заявке |
appointed_str | string | желаемое время прихода специалиста |
uploads_count | number | - |
check_id | number | id связанного с заявкой чек-листа (если он есть, то заявка была создана через чек-лист) |
is_local_need | string | нужна ли локализация аварии. Н - нет / Д - да |
local_at | string | время локализации |
what_was_done | string | что было сделано |
cnt_callback_phone | string | телефон для обращения в кц в десятизначном формате |
Примеры:
//Запрос /* https://server.ru/v2/request/1298309 */ //Ответ { "request_id": 1298309, "rtype": "Плановая", "flag_emergency": "Н", "note": "Не работает освещение в пом 13. Этаж 1", "house": "Бакинских комиссаров, дом 3", "flat": null, "status": "Закрыта", "reason": "принудительно модератором", "created_at": "28.10.2021 11:02", "updated_at": "01.11.2021 15:15", "floor": null, "entr": null, "autophone": null, "contphone": null, "email": null, "tags": "<span style=\"background-color:#8BC4F7\">метка</span>", "type": "Электричество", "ess": "Восстановить освещение в МОП", "emp": null, "resp": "Предеин Анатолий", "created_by": "Беллендир Наталья", "deadline_at": "01.11.2021", "emp_note": null, "appointed_at": null, "emp_phone": null, "resp_phone": "9616161616", "status_id": 25, "reason_id": 4884, "type_id": 24, "ess_id": 1561, "emp_id": null, "resp_id": 33, "cnt_id": 10401, "deadline_str": null, "price": null, "paid": null, "material_price": null, "is_paid": "Н", "appointed_str": null, "uploads_count": 0, "is_local_need": "Н", "local_at": null, "what_was_done": null, "cnt_callback_phone": "3522222888", "check_id": null }
Получение количества не принятых в работу заявок
GET https://server.ru/v2/request/custom/new
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_count | number | да | количество заявок, которые не приняты в работу |
request_emerg_count | number | да | количество не принятых в работу аварийных заявок из числа request_count |
Примеры:
//Запрос /* https://server.ru/v2/request/custom/new */ //Ответ { "request_count": 0, "request_emerg_count": 0 }
Принятие в работу всех непринятых заявок
POST https://server.ru/v2/request/custom/new/apply
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_count | number | да | Количество принятых в работу заявок |
Примеры:
//Запрос https://server.ru/v2/request/custom/new/apply /* https://server.ru/v2/request */ //Ответ { "request_count": 0 }
Отказ от принятия заявки в работу
POST https://server.ru/v2/request/:request_id/refuse
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | идентификатор заявки |
Тело запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
refuse_id | string | да | Код причины отказа от заявки из списка причин отказа от заявки |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | Отправленный в теле запроса идентификатор заявки |
Примеры:
//Запрос /* https://server.ru/v2/request/1298309/refuse */ //Тело запроса { "refuse_id": "2" } //Ответ { "request_id": 1298309 }
Возврат к предшествующей причине обращения гарантийной заявки
POST https://server.ru/v2/request/:request_id/flashback
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | идентификатор заявки |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | идентификатор измененной заявки. В случае ошибки вернет 0. Возможные ошибки - нет доступа к заявке / заявка не является в данный момент гарантийной) |
Примеры:
//Запрос /* https://server.ru/v2/request/1298309/flashback */ //Ответ { "request_id": 1298309 }
Перевод аварийной заявки на участок
POST https://server.ru/v2/request/:request_id/tocurrentrepair
Переменные URL
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | идентификатор заявки |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_count | number | да | количество заявок переведенных на участок |
Примеры:
//Запрос /* https://server.ru/v2/request/1298309/tocurrentrepair */ //Ответ { "request_count": 0 }
Публикация комментария / фотографии для жителя
POST https://server.ru/v2/request/:request_id/feed/:id
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | идентификатор заявки |
id | number | да | идентификатор комментария / фотографии |
Тело запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
mtype | number | да | тип объекта (0 - комментарий, 1- фото) |
webhook_flag | string | да | «статус» публикации (Д - опубликовать, Н - снять с публикации) |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
affected_rows | number | да | количество затронутых изменениями строк |
Примеры:
//Запрос /* https://server.ru/v2/request/:1298309/feed/124657 */ //Тело запроса: { "mtype": 0, "webhook_flag": "Д" } //Ответ { "affected_rows": 1 }
Получение ленты по заявке
GET https://server.ru/v2/request/:request_id/feed
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | идентификатор заявки |
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
start | number | да | позиция, с которой получить ленту |
count | number | да | количество элементов в ленте |
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
created_at | string | да | Дата создания |
type | number | да | Тип события 0 - комментарий, 1 - активность, 2 - файлы, 3 - изображения с превью, 4 - запись разговора |
note | string | да | текст события |
created_by | string | да | автор события |
id | number | да | идентификатор события |
flag_webhook | string | да | Статус публикации события. Д - опубликовано / Н - не опубликовано« |
creator_type | number | да | - |
Примеры:
//Запрос /* https://server.ru/v2/request/964825/feed */ //Ответ [ { "created_at":"17.07.2017 18:58", "type":1, "note":"Смена исполнителя ->> Башкирев Эдуард Олегович\r\n...", "created_by":"Журавлева Марина Сергеевна", "id": 12345, "flag_webhook": "Д", "creator_type": 0 }, { "created_at":"17.07.2017 18:03", "type":3, "note":"https://pultdoma.ru/front/uploads/img/17-07-2017/3196190_549_2_596c99ab73ae0.jpg", "created_by":"Пользователь личного кабинета", "id": 123456, "flag_webhook": "Н", "creator_type": 0 } ]
Добавление фотографий к заявке
POST https://server.ru/v2/request/:request_id/add_images
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
request_id | number | да | идентификатор заявки |
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
images | array | да | Массив с объектами вида { image_name: 'name.jpg', image_url: 'http://server.ru/image.jpg }, где image_name - имя файла изображения, image_url - url изображения |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
affecred_rows | number | да | Количество созданных строк |
Примеры:
//Запрос /* https://server.ru/v2/request/964825/add_images */ // тело запроса { "images": [ { "image_name": "996780_img.jpg", "image_url": "https://ds24.ru/fs/static/2021/11/25/996780_img.jpg" }, { "image_name": "some_test.jpg", "image_url": "https://ds24.ru/fs/static/2017/08/14/some_test.jpg" }, { "image_name": "ios_img", "image_url": "https://ds24.ru/fs/static/2021/12/16/feed_img_NzE0.jpg" } ] } //Ответ { "affected_rows": 3 }
Пуши
Получение списка push-уведомлений для пользователя
GET https://server.ru/v2/push/?start&count
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
start | number | да | с какой позиции получить push-уведомления |
count | number | да | какое количество push-уведомлений получить |
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
rn | number | да | порядковый номер |
push_id | number | да | идентификатор пуша |
message | string | да | сообщение |
object_id | number | да | идентификатор объекта |
object_type | string | да | тип пуша |
status | number | да | статус пуша. Смотреть описание статусов пуша |
type_description | string | да | описание типа пуша. |
created_at | string | да | время создания пуша в формате DD.MM.YYYY hh.mm |
Примеры:
//Запрос /* https://server.ru/v2/push/?start=1&count=2 */ //Ответ [ { "rn": 1, "push_id": 25536, "message": "blabla", "object_id": 321, "object_type": "З_Н", "status": 1, "type_description": "Новая заявка", "created_at": "09.12.2021 14:33" }, { "rn": 2, "push_id": 25535, "message": "Комментарий к #1298471: комментарий", "object_id": 1298471, "object_type": "З_К", "status": 0, "type_description": "Новый комментарий к заявке", "created_at": "09.12.2021 14:33" } ]
получение детализации push-уведомления
GET https://server.ru/v2/push/:push_id
Переменные URL:
Название | Тип | Обязательно | Описание |
---|---|---|---|
push_id | number | да | идентификатор пуша, для которого нужно получить детализацию |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
push_id | number | да | идентификатор пуша |
message | string | да | сообщение |
object_id | number | да | идентификатор объекта |
object_type | string | да | тип пуша |
status | number | да | статус пуша. Смотреть описание статусов пуша |
type_description | string | да | описание типа пуша |
created_at | string | да | время создания пуша в формате DD.MM.YYYY hh.mm |
Примеры:
//Запрос /* https://server.ru/v2/push/25536 */ //Ответ { "push_id": 25536, "message": "blabla", "object_id": 321, "object_type": "З_Н", "status": 2, "type_description": "Новая заявка", "created_at": "22.12.2021 10:37" }
Профиль
Получение детализации профиля
GET https://server.ru/v2/profile/detail
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
username | string | да | Имя пользователя |
can_close_request | boolean | да | - |
can_access_meters | boolean | да | - |
can_access_contacts | boolean | да | - |
account_name | string | да | - |
phone | string | да | Номер телефона пользователя |
emp_id | number | да | - |
not_read_push_count | number | да | количество непрочитанных push-уведомлений |
can_comment_to_ext_system | да | варианты 0 / 1 | |
token_id | number | да | - |
can_access_material_price | boolean | да | - |
Примеры:
//Запрос /* https://server.ru/v2/profile/detail */ //Ответ { "username": "Предеин Анатолий", "can_close_request": true, "can_access_meters": true, "can_access_contacts": true, "account_name": "Не активен", "phone": "9898004862", "emp_id": 22055, "not_read_push_count": 10, "can_comment_to_ext_system": 1, // варианты 0/1 "token_id": 12345, "can_access_material_price": true }
Получение списка включенных push-уведомлений для профиля
GET https://server.ru/v2/profile/settings_push
Тип ответа: Массив объектов
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
descr | string | да | описание |
value | string | да | - |
is_set | string | да | - |
Примеры:
//Запрос /* https://server.ru/v2/profile/settings_push */ //Ответ [ { "descr": "Назначен исп/отв в заявке", "value": "З_Н", "is_set": "1" }, { "descr": "Добавлен комментарий к заявке", "value": "З_К", "is_set": "1" }, { "descr": "Добавлен файл к заявке", "value": "З_Ф", "is_set": "1" }, ... ]
Изменение данных в профиле
POST https://server.ru/v2/profile/update
Тело запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
fcm_token | string | нет | Если вдруг пуш секрет изменился на девайсе или был получен позже |
push_config | string | нет | какие пуши юзеру необходимы |
start_app | string | нет | выполняется каждый раз 1 раз при запуске АПП чтобы вести статистику использования апп |
Тип ответа: Объект
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
affected_rows | number | да | Количество затронутых изменениями строк в БД |
Примеры:
//Тело запроса { "fcm_token": "NEWTOKEN123", "push_config": "З_Ф:З_Н:З_К", "start_app" : "im started!!" } //Ответ { "affected_rows": 3 }
FS API
Отправка файла на сервер FS API
POST https://ds24.ru/fs
// Загрузка фото test.jpg на ds24.ru/fs curl -v -H "filename: test.jpg" -X POST --data-binary "@test.jpg" https://ds24.ru/fs/ Ответ: { "ok":true, "file":"https://ds24.ru/fs/static/2017/08/11/test_OTA4.jpg", "thumbnail":"https://ds24.ru/fs/static/2017/08/11/test_OTA4_th.jpg" }
Тесты
Добавление пуша для отправки пользователю
GET https://server.ru/v2/test/push?message&object_id&object_type
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
message | string | да | сообщение для пользователя |
object_id | number | да | код объекта (например номер заявки) |
object_type | string | да | Тип пуша (см типы пушей) |
Примеры:
// Запрос /* https://server.ru/v2/test/push?message=blablabla&object_id=123&object_type=З_Н */ //Ответ { 1 }
Чек-листы
Получение списка чек-листов
GET https://server.ru/v2/checklist?start&count&statuses&employee_id&cnt_id&house_id
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
start | number | да | Позиция, с которой получить данные |
count | number | да | Количество получаемых данных |
statuses | string | нет | Фильтр по статусам. Отправляется список статусов в формате STATUS1:STATUS2:STATUS3. Пример: «PENDING:INWORK». Смотреть описание статусов чек-листа. |
employee_id | number | нет | фильтр по исполнителю |
cnt_id | number | нет | идентификатор юр. лица |
house_id | number | нет | идентификатор дома |
Тип ответа: Массив с объектами
Параметры ответа (объектов массива):
Название | Тип | Обязательно | Описание |
---|---|---|---|
check_id | number | да | Идентификатор чек-листа |
name | string | да | название чек-листа |
check_on_tz | string | да | дата выполнения чек-листа в ISO формате |
status | string | да | код статуса Смотреть описание статусов чек-листа. |
days_count | number | да | количество оставшихся дней до выполнения чек-листа |
house_text | string | да | один из домов, отмеченных в чек-листе |
houses_count | number | да | количество домов, отмеченных в чек-листе |
username | string | да | исполнитель |
employee_id | number | да | id исполнителя |
count_all | number | да | количество всех чек-листов, подходящих под текущий запрос. (для подсчета количества страниц в пагинации) |
Примеры:
// Запрос /* https://server.ru/v2/checklist */ //Ответ [ { "check_id": 6849, "name": "PAU_чеклист 1", "check_on_tz": "2021-10-17T04:00:00.000Z", "status": "INWORK", "days_count": 2, "house_text": "Бурова-Петрова ул, дом 78", "houses_count": 5, "username": "Предеин Анатолий", "employee_id": 33, "count_all": 20 } ]
Получение детализации чек-листа
GET https://server.ru/v2/checklist/:check_id
Переменные URL:
Название | тип | обязательно | описание |
---|---|---|---|
check_id | number | да | идентификатор чек-листа, для которого нужно получить детализацию |
Тип ответа: Объект
Параметры ответа:
Название | тип | обязательно | описание |
---|---|---|---|
check_id | number | да | Идентификатор чек-листа |
name | string | да | название чек-листа |
note | string | да | описание чек-листа |
check_on_tz | string | да | дата выполнения чек-листа в ISO формате |
status | string | да | код статуса. Смотреть описание статусов чек-листа. |
username | string | да | исполнитель |
success_count | number | да | количество успешно выполненных работ по чек-листу |
with_violations_count | number | да | количество работ с нарушениями |
all_works_count | number | да | количество всех работ |
requests_count | number | да | количество созданных заявок для работ |
employee_id | number | да | идентификатор исполнителя |
Примеры:
// Запрос /* https://server.ru/v2/checklist/6849 */ //Ответ { "check_id": 6849, "name": "PAU_чеклист 1", "note": "описание PAU_чеклист 1", "check_on_tz": "2021-10-17T04:00:00.000Z", "username": "Предеин Анатолий", "success_count": 1, "with_violations_count": 1, "all_works_count": 5, "requests_count": 1, "status": "INWORK", "employee_id": 33 }
Получение списка домов, указанных в чек-листе
GET https://server.ru/v2/checklist/:check_id/house
Переменные URL
Название | тип | обязательно | описание |
---|---|---|---|
check_id | number | да | идентификатор чек-листа, для которого нужно получить дома |
Тип ответа: Массив с объектами
Параметры ответа
Название | тип | обязательно | описание |
---|---|---|---|
house_id | number | да | идентификатор дома |
house_text | string | да | адрес дома |
Примеры:
// Запрос /* https://server.ru/v2/checklist/6849/house */ //Ответ [ { "house_id": 40783, "house_text": "Бурова-Петрова ул, 78" }, ... ]
Получение списка работ, указанных в чек-листе
GET https://server.ru/v2/checklist/:check_id/work
Переменные URL
Название | тип | обязательно | описание |
---|---|---|---|
check_id | number | да | идентификатор чек-листа, для которого нужно получить список работ |
Тип ответа: Массив с объектами
Параметры ответа
Название | тип | обязательно | описание |
---|---|---|---|
check_work_id | number | да | идентификатор работы |
name | string | да | название работы |
work_group_name | string | нет | название группы работ (если работа находится в группе) |
work_group_id | number | нет | идентификатор группы работ (если работа находится в группе) |
check_id | number | да | идентификатор чек-листа, к которому привязана работа |
status | number | да | код статуса работы. описание статусов работ чеклиста |
Примеры:
// Запрос /* https://server.ru/v2/checklist/6849/work */ //Ответ [ { "check_work_id": 23365, "name": "PAU_работа 1", "work_group_name": "PAU_группа 1", "work_group_id": 101, "check_id": 6849, "status": 0 }, { "check_work_id": 23366, "name": "PAU_работа 2", "work_group_name": "PAU_группа 1", "work_group_id": 101, "check_id": 6849, "status": 1 }, { "check_work_id": 23367, "name": "PAU_работы 3", "work_group_name": null, "work_group_id": null, "check_id": 6849, "status": 0 }, { "check_work_id": 23368, "name": "PAU_работа 4", "work_group_name": null, "work_group_id": null, "check_id": 6849, "status": 2 } ]
Получение детализации работы из чек-листа
GET https://server.ru/v2/checklist/work/:check_work_id
Переменные URL
Название | тип | обязательно | описание |
---|---|---|---|
check_work_id | number | да | идентификатор работы, для которой нужно получить детализацию |
Тип ответа: Объект
Параметры ответа
Название | тип | обязательно | описание |
---|---|---|---|
check_work_id | number | да | идентификатор работы |
name | string | да | название работы |
note | string | да | описание работы |
check_id | number | да | идентификатор чек-листа, к которому привязана работа |
check_status | string | да | Код статуса чеклиста, к которому привязана работа. Описание статусов чеклиста |
status | number | да | код статуса работы. Описание статуса работ чеклиста |
criteria | string | нет | критерии. Текст в виде списка(с символами переноса строки) |
ess_id | number | да | ИД причина обращения для создания заявки |
ess | string | да | Текст причины обращения для создания заявки |
type_id | number | да | идентификатор типа работы |
Примеры:
// Запрос /* https://server.ru/v2/checklist/work/23365 */ //Ответ { "check_work_id": 23365, "check_id": 6849, "check_status": "INWORK", "status": 0, "name": "PAU_работа 1", "note": "описание работы 1", "criteria": "- все ли хорошо 1\r\n- все ли хорошо 2\r\n?", "ess_id" : 123, "ess" : "Какая то причина обращения для создания заявки", "type_id: 24 }
Получение новостной ленты для работы из чек-листа
GET https://server.ru/v2/checklist/work/:check_work_id/feed
Переменные URL
Название | тип | обязательно | описание |
---|---|---|---|
check_work_id | number | да | идентификатор работы, для которой нужно получить детализацию |
Тип ответа: Массив с объектами
Параметры ответа
Название | тип | обязательно | описание |
---|---|---|---|
check_work_id | number | да | идентификатор работы |
type | number | да | тип элемента ленты |
note | string | да | комментарий или URL изображения в зависимости от типа |
created_on_tz | string | да | когда создан |
created_by | string | да | кем создан |
flag_webhook | string | да | Y или N |
Описание типов элемента ленты (type):
тип | описание |
---|---|
0 | Комментарий |
3 | Изображение |
Примеры:
// Запрос /* https://server.ru/v2/checklist/work/23410/feed */ //Ответ [ { "note": "https://ds24.ru/fs/static/2021/11/25/996780_img.jpg", "type": 3, "check_work_id": 23410, "created_on_tz": "2021-12-06T13:08:11.142Z", "created_by": "dev", "flag_webhook": "N" }, { "note": "Были нарушения", "type": 0, "check_work_id": 23410, "created_on_tz": "2021-12-06T13:00:55.673Z", "created_by": "dev", "flag_webhook": "N" }, ... ]
Начать работу с чек-листом
POST https://server.ru/v2/checklist/:check_id/start
Переменные URL
Название | тип | обязательно | описание |
---|---|---|---|
check_id | number | да | идентификатор чек-листа |
Тип ответа: Объект
Параметры ответа
Название | тип | обязательно | описание |
---|---|---|---|
affected_rows | number | да | количество затронутых изменениями строк |
Примеры:
// Запрос /* https://server.ru/v2/checklist/6882/start */ //Ответ { "affected_rows": 1 }
Завершение чек-листа
POST https://server.ru/v2/checklist/:check_id/finish
Переменные URL
Название | тип | обязательно | описание |
---|---|---|---|
check_id | number | да | идентификатор чек-листа |
Тип ответа: Объект
Параметры ответа
Название | тип | обязательно | описание |
---|---|---|---|
affected_rows | number | да | количество затронутых изменениями строк |
Примеры:
// Запрос /* https://server.ru/v2/checklist/6882/finish */ //Ответ { "affected_rows": 1 }
Изменение статуса работы, указанной в чек-листе
POST https://server.ru/v2/checklist/work/:check_work_id
Переменные URL
Название | тип | обязательно | описание |
---|---|---|---|
check_work_id | number | да | идентификатор работы из чек-листа |
Тело запроса:
Название | тип | обязательно | описание |
---|---|---|---|
status | number | да | код статуса, на который произойдет замена текущего статуса |
comment | string | нет | комментарий (если нужно передать комментарий вместе со статусом) |
Тип ответа: Объект
Параметры ответа
Название | тип | обязательно | описание |
---|---|---|---|
affected_rows | number | да | количество затронутых изменениями строк |
Примеры:
// Запрос /* https://server.ru/v2/checklist/work/23410 */ //тело запроса { "status": 3, "comment": "тест изменения статуса с комментарием" } //Ответ { "affected_rows": 2 }
Добавление комментария или изображения в новостную ленту работы
POST https://server.ru/v2/checklist/work/:check_work_id/feed
Переменные URL
Название | тип | обязательно | описание |
---|---|---|---|
check_work_id | number | да | идентификатор работы из чек-листа |
Тело запроса:
Название | тип | обязательно | описание |
---|---|---|---|
image_name | string | нет | Название изображения (если нужно сохранить изображение. Передается только вместе с image_url) |
image_url | string | нет | URL изображения (если нужно сохранить изображение. Передается только вместе с image_name) |
comment | string | нет | комментарий (если нужно сохранить комментарий) |
Тип ответа: Объект
Параметры ответа
Название | тип | обязательно | описание |
---|---|---|---|
affected_rows | number | да | количество затронутых изменениями строк |
Примеры:
// Запрос /* https://server.ru/v2/checklist/work/23410/feed */ //тело запроса { "comment": null, // если поле null, то можно не указывать его в теле запроса "image_name": "some_test.jpg", "image_url": "https://ds24.ru/fs/static/2017/08/14/some_test.jpg" } //Ответ { "affected_rows": 1 }
Обсуждение