Это старая версия документа!


Описание API V2 мобильного приложения Д24 V2

Список URL

  • З_СП Заявка | принята в работуЗ_СО Заявка | открыта повторно
  • З_К Заявка | Комментарий к заявке добавлен
  • З_Ф Заявка | Фото к заявке добавлено
  • З_Н Заявка | Пользователь назначен исполнителем или ответственным
  • О_С Оповещение | Оповещение новое об отключениях
  • З_СР Заявки | Срочные заявки - открытие приложения с предустановленным фильтром
  • З_НП Заявки | Не принятые в работу - открытие приложения с предустановленным фильтром
  • З_КА Заявки | Посылается запрос по статусу аварийной заявки с быстрой кнопкой «Авария устранена»

Типы помещений

значениеописание
1квартира
2кладовка
3парковка
4офис
5секция
6дом
7апартаменты

Статусы push-уведомления

значениеописание
0не отправлено
1отправлено
2прочитано

Определение адреса сервера при аутентификации по логину и паролю

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/"
}

Аутентификация

Аутентификация происходит путем отправки запроса на указанный выше метод. Запрос должен включать:

  1. Заголовок с названием «authorization»
  2. Тело запроса

Формирование значения заголовка authorization

Первоначальное значение формируется из двух или трех строк, разделенных двоеточием, окруженным пробелами (пробел двоеточие пробел). есть 3 варианта формирования этого значения:

  1. из логина и пароля
    В первой строке указывается слово «login», вторая строка - значение логина пользователя, третья строка - его пароль.
    Пример: login : predeinay : myPassword123
    Такой формат заголовка отправляется при аутентификации по логину и паролю
  2. из номера телефона
    В первой строке указывается слово «phone», вторая строка - номер телефона пользователя.
    Пример: phone : 9125212573
    Такой формат заголовка отправляется при аутентификации по телефону с последующей проверкой кода из смс.
  3. из номера телефона и проверочного кода из смс
    В первой строке указывается слово «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_idnumberдаидентификатор дома в системе. Ответ на запрос - список доступных подъездов в этом доме

Тип ответа: Массив c объектами

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
entrancestringдаНомер доступного подъезда

Пример:

//Запрос
/*
 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_idnumberдаидентификатор дома в системе. Ответ на запрос - список доступных этажей в этом доме

Тип ответа: Массив с объектами

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
floornumberдаНомер доступного этажа

Пример:

//Запрос
/*
 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_idnumberда идентификатор дома в системе.
entrancestringнетномер подъезда в указанном доме
floornumberнетномер этажа в указанном доме

Тип ответа: Массив с объектами

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
flatstringданомер доступной квартиры
flat_id numberдаидентификатор квартиры в системе
FLAT_TYPEnumberдатип помещения. Смотреть описание типов помещений

Пример:

//Запрос
/*
 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

Тип ответа: Массив объектов

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
typestringдаНазвание типа работы
type_idnumberдаидентификатор типа работы в системе

Пример:

//Запрос
/*
 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_idsstringнетидентификаторы типов работ, разделенные двоеточием. Пример: 23:24

Тип ответа: Массив объектов

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
essstringдатекст причины обращения
ess_idnumberдаидентификатор причины обращения в системе

Пример:

//Запрос
/*
 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_idnumberдаидентификатор дома
findstringнет-

Тип ответа: Массив объектов

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
essstringдатекст причины обращения
ess_idnumberдаидентификатор причины обращения в системе
rtypestringда-
typestringда-
type_idnumberда-

Пример:

//Запрос
/*
 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_idnumberнетидентификатор юр. лица.

Тип ответа: Массив объектов

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
empstringдаФИО исполнителя
emp_idnumberдаидентификатор исполнителя в системе

Пример:

//Запрос
/*
 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_idnumberнетидентификатор юр. лица, для которого нужно получить ответственных
request_idnumberнетидентификатор заявки, для которой нужно получить ответственных

Тип ответа: Массив объектов

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
respstringдаФИО ответственного
resp_idnumberдаидентификатор ответственного в системе

Пример:

//Запрос
/*
 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_idnumberнетидентификатор заявки в системе

Тип ответа: Массив объектов

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
statusstringдаТекстовое описание статуса
status_idnumberдаидентификатор статуса в системе
reasonsnumberдаколичество доступных причин статуса
need_commentnumberда необходимо ли обязательно указывать комментарий в момент перевода заявки в данный статус (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_idstringда-

Пример:

//Запрос
/*
 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_idnumberдаидентификатор типа заявки
rtypestringдатекстовое описание типа заявки

Пример:

//Запрос
/*
 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_idnumberдаидентификатор статуса, для которого нужно получить список причин

Тип ответа: Массив объектов

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
reason_idnumberдаидентификатор причины статуса в системе
reasonstringдатекстовое описание причины статуса

Пример:

//Запрос
/*
 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_emergencynumberнет1 - аварийная заявка / 0 (или любое другое значение, отличное от 1) - не аварийная заявка). В зависимости от параметра приходит разный список отказов.

Тип ответа: Массив объектов

Параметры ответа (объектов массива)

Название Тип Обязательно Описание
reject_reasonstringдатекстовое описание причины отказа от заявки
refuse_idstringдаидентификатор причины отказа

Пример:

//Запрос для аварийной заявки
/*
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"
    }
]

Создание оповещения

POST http://server.ru/v2/oi

Параметры тела запроса:

Название Тип Обязательно Описание
house_idsstringдаИдентификаторы домов, на которые будет распространяться оповещение
type string да Тип оповещения
start_atstringдаДата и время старта оповещения в формате «ДД.ММ.ГГГГ ЧЧ.ММ»
end_atstringдаДата и время окончания оповещения в формате «ДД.ММ.ГГГГ ЧЧ.ММ»
service_liststringдаНабор услуг, разделенных двоеточием. Пример: «Э:О»
respstringдаЗона ответственности
reasonstringдаПричина (одиночный выбор)
whatstringдаОбъект
notestringда описание оповещения

Описание возможных значений параметров:

Тип оповещения:

  • Утечка У
  • Опрессовка Р
  • Отключение услуг О
  • Подвоз воды В
  • Подпоры П
  • Прочее Д
  • Акция А

Услуги:

  • ХВС Х
  • ГВС Г
  • Канализация К
  • Отопление О
  • Электричество Э
  • Газ З
  • Лифт Л

Зона отвественности:

  • Управляющая компания У
  • Ресурсоснабжающая организация Р
  • Неизвестно Н

Причина (одиночный выбор):

  • Авария А
  • Плановые работы П
  • Задолженность за оплату З
  • Неизвестно Н

Объект

  • Несколько домов М
  • Весь дом Д
  • Подъезд П
  • Стояк С
  • Несколько квартир К
  • Неизвестно Н

Тип ответа: Объект

Параметры ответа

Название Тип Обязательно Описание
affected_rowsnumberдаКоличество созданных/затронутых изменениями строк
info_idnumberдаидентификатор созданного оповещения в системе

Примечания:

Если дома находятся в разных УК, то для каждой УК будет создано свое оповещение. В этом случае 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_idnumberдаидентификатор оповещения, которое нужно обновить

Параметры тела запроса:

Название Тип Обязательно Описание
statusstringнетНовый статус заявки
commentstringнетНовый комментарий от пользователя

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
affected_rowsnumberдаКоличество созданных/затронутых изменениями строк, в том числе и созданный комментарий

Пример:

//Запрос
/*
http://server.ru/v2/oi/139245
*/
 
//Тело запроса
{
    "status": "A",
    "comment": "Комментарий для теста"
}
 
// Ответ
{
    "affected_rows": 2
}

Получение списка оповещений

GET http://server.ru/v2/oi?cnt_id=value1&status=value2&house_id=value3&type=value4&service_list=value5&custom_filter=value6&start=value7&count=value8

Параметры запроса:

Название Тип Обязательно Описание
startnumberдас какой позиции начать показывать
countnumberдаколичество элементов, которые нужно показать
cnt_idnumberнетидентификатор юр. лица
house_idnumberнетидентификатор дома
statusstringнетстатус оповещения
typestringнеттипы оповещения через двоеточие
servicestringнетсписок услуг через двоеточие
custom_filterstringнетотменяет все прочие фильтры

Тип ответа: Массив объектов

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
info_idnumberдаидентификатор оповещения
typestringдатип оповещения
type_strstringдатекстовое описание типа оповещения
start_atstringдадата и время начала в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi
end_atstringможет быть nullдата и время конца в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi
created_atstringда дата и время создания оповещения
notestringдатекст оповещения
statusstringдастатус оповещения
status_strstringдатекстовое описание статуса оповещения
service_liststringможет быть nullкод услуги, к которой относится оповещение
service_list_strstringможет быть nullуслуга, к которой относится оповещение
all_flagsstring--
object_listarrayдасписок домов оповещения

Параметры массива object_list (список домов оповещения):

Название Тип Обязательно Описание
streetstringдаулица, к домам которой относится оповещение
housesstringдасписок домов на этой улице, к которым относится оповещение

Пример:

//запрос
 
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_idnumberдаидентификатор оповещения, для которого нужно получить детализацию

Тип ответа: Объект

Параметры ответа Параметры ответа:

Название Тип Обязательно Описание
info_idnumberдаидентификатор оповещения
typestringдатип оповещения
type_strstringдатекстовое описание типа оповещения
start_atstringдадата и время начала в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi
end_atstringможет быть nullдата и время конца в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi
created_atstringда дата и время создания оповещения
notestringдатекст оповещения
statusstringдастатус оповещения
status_strstringдатекстовое описание статуса оповещения
service_liststringможет быть nullкод услуги, к которой относится оповещение
service_list_strstringможет быть nullуслуга, к которой относится оповещение
reasonstringдаКод причины
reason_strstringдатекстовое описание причины
respstringдакод ответственного
resp_strstringдаответственный. Если РСО, тогда svc_id и svc не null
svc_idnumberможет быть null идентификатор РСО
svcstringможет быть 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_idnumberдаидентификатор оповещения, для которого нужно получить список домов

Тип ответа: Массив объектов

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
streetstringдаулица, к домам которой относится оповещение
housesstringдасписок домов на этой улице, к которым относится оповещение

Пример:

//Запрос
/*
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_idnumberдаидентификатор оповещения, для которого нужно получить ленту событий

Параметры запроса:

Название Тип Обязательно Описание
startnumberдас какой позиции показывать
countnumberдаколичество выдаваемых элементов

Тип ответа: Массив объектов

Параметры ответа

Название Тип Обязательно Описание
created_atstringдадата и время создания
typenumberдатип события (0 - комментарий / 1 - активность)
notestringдатекстовое описание события
created_bystringдаавтор события

Пример:

//Запрос
/*
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": "Лукашевич Светлана"
    }
]

Получение списка активных показаний по счётчикам для текущего пользователя

GET https://server.ru/v2/meter?start=value1&count=value2&cnt_id=value3&house_id=value4&flat=value5&term_ids=value6

Параметры запроса:

Название Тип Обязательно Описание
startnumberдас какой позиции начать получать элементы списка
countnumberдаколичество получаемых элементов списка
cnt_idnumberнетидентификатор юр. лица
house_idnumberнетидентификатор дома
flatstringнетномер квартиры
term_idsstringнеттип счетчиков через разделитель «:». Пример: «1:5»

Тип ответа: Массив объектов

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
descriptionstringдаНазначение счетчика
housestringдаАдрес дома, где установлен счетчик
flatstringможет быть null Номер квартиры, где установлен счетчик
valuenumberможет быть nullТекущее показание счетчика
datestringможет быть nullДата текущего показания
prev_valuenumberдаПоследнее показание
prev_datestringдаДата последнего показания
meter_idnumberдаидентификатор показания
meter_id_extstringда«Внешний» идентификатор показания (сторонней системы)
termstringдатекстовое описание типа показания

Примеры:

//Запрос
 
/*
  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_idnumberдаидентификатор типа счетчика
termstringдатекстовое описание типа счетчика

Примеры:

//Запрос
 
/*
 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 да идентификатор счетчика

Тело запроса:

Название Тип Обязательно Описание
valuestringдазначение показания счетчика
image_urlstring--
image_namestring--

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
affected_rowsnumberдаКоличество созданных / затронутых изменениями строк

Примеры:

//Запрос
 
/*
  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
}

Получение списка контактов

GET https://server.ru/v2/contact?start=value1&count=value2&cnt_id=value3&phone=value4&house_id=value5&flat_id=value6&floor=value7&entrance=value8

Параметры запроса:

Название Тип Обязательно Описание
startnumberдас какой позиции начать показывать
countnumberдасколько контактов показать
cnt_idnumberнетидентификатор юр. лица
phonestringнетномер телефона
house_idnumberнетидентификатор дома
entrancestringнетподъезд
floornumberнетэтаж
flat_idnumberнетидентификатор квартиры

Тип ответа: Массив объектов

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
phonestringда Номер телефона
housestringдаАдрес дома
flatstringданомер квартиры
entrancestringможет быть null обозначение подъезда
floornumberможет быть 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_idnumberда-
ess_idnumberда-
type_idnumberда-
note stringда-
contphonestringнет-
flatstringнетномер помещения
entrstringнетподъезд
floorstringнетэтаж
flat_typenumberнеттип помещения. Смотреть описание типов помещений
emailstringнет-

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
request_idnumberдасозданная заявка

Примеры:

//Тело запроса
 
{
    "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_idnumberдаИдентификатор заявки, которую нужно поменять

Тело запроса:

Название Тип Обязательно Описание
status_idnumber нет -
reason_idnumber нет -
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_atstring нет Дата, когда придёт исполнитель. Принимает «today» / «tomorrow» / «next_week» / дату в формате «ДД.ММ.ГГГГ»
local_at string нет Дата, когда исполнитель локализовал аварию по заявке «ДД.ММ.ГГГГ ЧЧ:ММ»
material_price number нет Стоимость материалов по заявке
pricenumber нет -
what_was_donestringнет -
paidnumberнет -

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
affected_rowsnumberдаколичество затронутых изменениями / созданных строк (вместе с комментариями)

Примеры:

//Запрос
 
/*
   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

Параметры запроса:

Название Тип Обязательно Описание
startnumberдаC какой позиции получить заявки
countnumberдаСколько заявок получить
cnt_idnumberнет идентификатор юр. лица
streetstringнетулица
house_idnumberнетидентификатор дома
flat_idnumberнетидентификатор квартиры
type_idnumberнетидентификатор типа работ
type_idsstringнет список идентификаторов типов работ разделенных двоеточием. Пример: «3:12»
ess_idnumberнетидентификатор причины обращения
ess_idsstringнет список идентификаторов причин обращения через двоеточие. Пример: «21:32:77»
emp_idnumberнетидентификатор исполнителя
resp_idnumberнетидентификатор ответственного
status_idsstringнетсписок идентификаторов статусов через двоеточие. Пример: «1:2:3»
rtype_idnumberнетидентификатор типа заявки
rtype_idsstringнетсписок идентификаторов типов заявки через двоеточие. Пример: «1:2:3»
request_idnumberнетидентификатор заявки
date_startstringнетдата начала (фильтруется по дате создания) в формате DD.MM.YYYY
date_endstringнетдата окончания (фильтруется по дате создания) в формате DD.MM.YYYY
keywordsstringнетключевые слова
custom_filterstringнетвозможные значения фильтра: new / in_work / on_hold / deadline / finished . Mожет быть передано несколько значений через двоеточие (:).
is_only_mynumberнетфильтр, определяющий необходимо ли показывать все заявки или только те, у которых пользователь - ответственный / исполнитель ( 0 - все / 1 - пользователя)
custom_orderstringнеттип сортировки заявок ( EXEC_TIME / CREATED_TIME - по сроку выполнения / дате создания) EXEC_TIME по умолчанию если не указано иное.

Тип ответа: Массив объектов

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
rnnumberдапорядковый номер выборки
request_idnumberдаидентификатор заявки
flag_emergencystringда Аварийная ли заявка. «Д» - аварийная заявка / «Н» - не аварийная заявка
notestringда текст заявки
housestringдаАдрес дома
flatstringможет быть nullномер квартиры
statusstringдатекстовое описание статуса
status_idnumberдаидентификатор статуса
created_atstringдадата и время создания заявки в часовом поясе пользователя
pricenumberможет быть null Цена заявки. Определена, если заявка платная, если нет, то null
material_pricenumber--
tagsstringможет быть null-
uploads_countnumber--
appointed_strstringможет быть nullвремя прихода специалиста в формате сегодня / завтра / вчера / дата c hh:mm( до hh:mm)
appointed_atstringможет быть nullДата и время прихода специалиста
deadline_strnumberдаколичество дней до конца ожидания выполнения заявки. Может иметь отрицательное значение.
empstringможет быть nullФИО исполнителя
emp_idnumberможет быть nullидентификатор исполнителя
reasonstringможет быть nullтекстовое описание причины статуса
local_at-может быть null-

Примеры:

//Запрос
 
/*
 https://server.ru/v2/request/?start=1&count=5
*/
 
//Ответ
 
[
    {
        "rn": 1,
        "request_id": 1298309,
        "flag_emergency": "Н",
        "note": "Не работает освещение в пом 13. Этаж 1",
        "house": "Бакинских комиссаров, дом 3",
        "flat": null,
        "status": "Закрыта",
        "created_at": "28.10.2021 11:02",
        "price": null,
        "material_price": null,
        "tags": null,
        "uploads_count": 0,
        "appointed_str": null,
        "appointed_at": null,
        "emp": null,
        "deadline_str": null,
        "reason": "принудительно модератором",
        "status_id": 25,
        "emp_id": null,
        "local_at": null
    },
    {
        "rn": 2,
        "request_id": 1298250,
        "flag_emergency": "Н",
        "note": "фыывафыаыфы",
        "house": "Бакинских комиссаров, дом 3",
        "flat": null,
        "status": "Зарегистрирована",
        "created_at": "14.10.2021 09:59",
        "price": 10000,
        "material_price": 500,
        "tags": null,
        "uploads_count": 0,
        "appointed_str": null,
        "appointed_at": null,
        "emp": null,
        "deadline_str": -28,
        "reason": null,
        "status_id": 1,
        "emp_id": null,
        "local_at": null
    },
    ...
]

Получение списка доступных тэгов

GET https://server.ru/v2/request/tag_list?request_id&cnt_id

Параметры запроса:

НазваниеТипОбязательноОписание
request_idnumberнетидентификатор заявки. Если его передать то в is_set Y / N будет показываться Y для тех тэгов которые установлены в указанной заявке
cnt_idnumberнетидентификатор юр. лица. Если отсутствует, то выдаются теги по всем доступным юр. лицам

Параметры ответа:

НазваниеТипОбязательноОписание
tag_idnumberдаидентификатор тега
titlestringда-
colorstringнет-
is_setstringда-

Пример:

// запрос
 
/*
  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_idnumberдаидентификатор заявки, по которой нужно получить детализацию

Тип ответа: Объект

Параметры ответа:

Название Тип Описание
request_idnumberидентификатор заявки
rtypestringтип заявки
flag_emergencystringаварийная ли заявка. Д - аварийная / Н - не аварийная
notestringтекст заявки
housestring Адрес дома
flatstringномер квартиры
statusstringтекущий статус
reasonstringпричина статуса
created_atstringДата и время создания заявки в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi
updated_atstringДата и время изменения заявки в часовом поясе пользователя. Формат DD.MM.YYYY hh24:mi
floornumberномер этажа
entrstringобозначение подъезда
autophonestringАОН
contphonestringесли житель пожелал оставить другой контактный телефон
emailstringАдрес электронной почты жителя
tagsstring-
typestringТип работ (из справочника)
essstringПричина обращения (из справочника)
empstringФИО исполнителя заявки
respstringФИО ответственного по заявке
created_bystringпользователь, создавший заявку
deadline_atstringПоследняя дата срока выполнения заявки в формате DD.MM.YYYY
deadline_strnumberКоличество до конца срока выполнения заявки. Может иметь отрицательное значение
emp_notestringскрытый комментарий только для пользователей Д24 (операторы не видят)
appointed_atstringвремя и дата прибытия исполнителя в часовом поясе пользователя. Формат - DD.MM.YYYY hh24:mi
emp_phonestringтелефон(ы) исполнителя
resp_phonestringтелефон(ы) ответственного
status_idnumber Идентификатор статуса
reason_idnumber Идентификатор причины
type_idnumber Идентификатор типа работ
ess_idnumber Идентификатор причины обращения
emp_idnumber Идентификатор исполнителя
resp_idnumber Идентификатор ответственного
cnt_idnumber Идентификатор юр. лица
is_paidstring Оплачено или нет. Д - оплачено / Н - не оплачено
pricenumber стоимость заявки
paidnumber сколько оплачено в данный момент по заявке
material_price numberстоимость материалов по заявке
appointed_strstringжелаемое время прихода специалиста
uploads_countnumber-
check_idnumberid связанного с заявкой чек-листа (если он есть, то заявка была создана через чек-лист)
is_local_needstringнужна ли локализация аварии. Н - нет / Д - да
local_atstring время локализации
what_was_donestring что было сделано
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_countnumberдаколичество заявок, которые не приняты в работу
request_emerg_countnumberдаколичество не принятых в работу аварийных заявок из числа 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_countnumberдаКоличество принятых в работу заявок

Примеры:

//Запрос
 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_idnumberдаидентификатор заявки

Тело запроса:

Название Тип Обязательно Описание
refuse_idstringдаКод причины отказа от заявки из списка причин отказа от заявки

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
request_idnumberдаОтправленный в теле запроса идентификатор заявки

Примеры:

//Запрос
 
/*
 https://server.ru/v2/request/1298309/refuse
*/
 
//Тело запроса
 
{
    "refuse_id": "2"
}
 
//Ответ
 
{
    "request_id": 1298309
}

Возврат к предшествующей причине обращения гарантийной заявки

POST https://server.ru/v2/request/:request_id/flashback

Переменные URL:

Название Тип Обязательно Описание
request_idnumberдаидентификатор заявки

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
request_idnumberдаидентификатор измененной заявки. В случае ошибки вернет 0. Возможные ошибки - нет доступа к заявке / заявка не является в данный момент гарантийной)

Примеры:

//Запрос
 
/*
 https://server.ru/v2/request/1298309/flashback
*/
 
//Ответ
 
{
    "request_id": 1298309
}

Перевод аварийной заявки на участок

POST https://server.ru/v2/request/:request_id/tocurrentrepair

Переменные URL

Название Тип Обязательно Описание
request_idnumberдаидентификатор заявки

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
request_countnumberдаколичество заявок переведенных на участок

Примеры:

//Запрос
 
/*
 https://server.ru/v2/request/1298309/tocurrentrepair
*/
 
//Ответ
 
{
    "request_count": 0 
}

Публикация комментария / фотографии для жителя

POST https://server.ru/v2/request/:request_id/feed/:id

Переменные URL:

Название Тип Обязательно Описание
request_idnumberдаидентификатор заявки
idnumberдаидентификатор комментария / фотографии

Тело запроса:

Название Тип Обязательно Описание
mtypenumberдатип объекта (0 - комментарий, 1- фото)
webhook_flagstringда«статус» публикации (Д - опубликовать, Н - снять с публикации)

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
affected_rowsnumberдаколичество затронутых изменениями строк

Примеры:

//Запрос
 
/*
 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_idnumberдаидентификатор заявки

Параметры запроса:

Название Тип Обязательно Описание
startnumberдапозиция, с которой получить ленту
countnumberдаколичество элементов в ленте

Тип ответа: Массив объектов

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
created_atstringдаДата создания
typenumberдаТип события 0 - комментарий, 1 - активность, 2 - файлы, 3 - изображения с превью, 4 - запись разговора
notestringдатекст события
created_bystringдаавтор события
idnumberдаидентификатор события
flag_webhookstringда Статус публикации события. Д - опубликовано / Н - не опубликовано«
creator_typenumberда-

Примеры:

//Запрос
 
/*
 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_idnumberдаидентификатор заявки

Параметры запроса:

Название Тип Обязательно Описание
imagesarrayдаМассив с объектами вида { image_name: 'name.jpg', image_url: 'http://server.ru/image.jpg }, где image_name - имя файла изображения, image_url - url изображения

Параметры ответа:

Название Тип Обязательно Описание
affecred_rowsnumberдаКоличество созданных строк

Примеры:

//Запрос
 
/*
 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

Параметры запроса:

Название Тип Обязательно Описание
startnumberдас какой позиции получить push-уведомления
countnumberдакакое количество push-уведомлений получить

Тип ответа: Массив объектов

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
rnnumberдапорядковый номер
push_idnumberдаидентификатор пуша
messagestringдасообщение
object_idnumberдаидентификатор объекта
object_typestringдатип пуша
statusnumberдастатус пуша. Смотреть описание статусов пуша
type_descriptionstringдаописание типа пуша.
created_atstringдавремя создания пуша в формате 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_idnumberдаидентификатор пуша, для которого нужно получить детализацию

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
push_idnumberдаидентификатор пуша
messagestringдасообщение
object_idnumberдаидентификатор объекта
object_typestringдатип пуша
statusnumberдастатус пуша. Смотреть описание статусов пуша
type_descriptionstringдаописание типа пуша
created_atstringдавремя создания пуша в формате 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_requestboolean да -
can_access_metersboolean да -
can_access_contactsboolean да -
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_priceboolean да -

Примеры:

//Запрос
 
/*
 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

Тип ответа: Массив объектов

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
descrstring даописание
valuestring да-
is_setstring да-

Примеры:

//Запрос
 
/*
 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_tokenstringнетЕсли вдруг пуш секрет изменился на девайсе или был получен позже
push_configstringнеткакие пуши юзеру необходимы
start_appstringнетвыполняется каждый раз 1 раз при запуске АПП чтобы вести статистику использования апп

Тип ответа: Объект

Параметры ответа:

Название Тип Обязательно Описание
affected_rowsnumberдаКоличество затронутых изменениями строк в БД

Примеры:

//Тело запроса
 
{
    "fcm_token": "NEWTOKEN123",
    "push_config": "З_Ф:З_Н:З_К",
    "start_app" : "im started!!"
}
//Ответ
 
{
    "affected_rows": 3
}

Отправка файла на сервер 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

Параметры запроса:

Название Тип Обязательно Описание
messagestringдасообщение для пользователя
object_idnumberдакод объекта (например номер заявки)
object_typestringдаТип пуша (см типы пушей)

Примеры:

// Запрос
/*
 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

Параметры запроса:

Название Тип Обязательно Описание
startnumberдаПозиция, с которой получить данные
countnumberдаКоличество получаемых данных
statusesstringнетФильтр по статусам. Отправляется список статусов в формате STATUS1:STATUS2:STATUS3. Пример: «PENDING:INWORK»
employee_idnumberнетфильтр по исполнителю
cnt_idnumberнетидентификатор юр. лица
house_idnumberнетидентификатор дома

Тип ответа: Массив с объектами

Параметры ответа (объектов массива):

Название Тип Обязательно Описание
check_idnumberдаИдентификатор чек-листа
namestringда название чек-листа
check_on_tzstringда дата выполнения чек-листа в ISO формате
statusstringда код статуса
days_countnumberда количество оставшихся дней до выполнения чек-листа
house_textstringдаодин из домов, отмеченных в чек-листе
houses_countnumberдаколичество домов, отмеченных в чек-листе
usernamestringда исполнитель
employee_idnumberдаid исполнителя
count_allnumberдаколичество всех чек-листов, подходящих под текущий запрос. (для подсчета количества страниц в пагинации)

Примеры:

// Запрос
/*
 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": "Бурова-Петрова ул, дом 78",
        "houses_count": 5,
        "username": "Предеин Анатолий",
        "employee_id": 33,
        "count_all": 20
    }
]

Получение детализации чек-листа

GET https://server.ru/v2/checklist/:check_id

Переменные URL:

Названиетипобязательноописание
check_idnumberдаидентификатор чек-листа, для которого нужно получить детализацию

Тип ответа: Объект

Параметры ответа:

Названиетипобязательноописание
check_id number да Идентификатор чек-листа
name string да название чек-листа
note string да описание чек-листа
check_on_tz string да дата выполнения чек-листа в ISO формате
statusstringда код статуса
username string да исполнитель
success_count number да количество успешно выполненных работ по чек-листу
with_violations_count number да количество работ с нарушениями
all_works_count number да количество всех работ
requests_count 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"
}

Получение списка домов, указанных в чек-листе

GET https://server.ru/v2/checklist/:check_id/house

Переменные URL

Названиетипобязательноописание
check_idnumberдаидентификатор чек-листа, для которого нужно получить дома

Тип ответа: Массив с объектами

Параметры ответа

Названиетипобязательноописание
house_idnumberдаидентификатор дома
house_textstringдаадрес дома

Примеры:

// Запрос
/*
 https://server.ru/v2/checklist/6849/house
*/
 
//Ответ
 
[
    {
        "house_id": 40783,
        "house_text": "Бурова-Петрова ул, 78"
    },
    ...
]

Получение списка работ, указанных в чек-листе

GET https://server.ru/v2/checklist/:check_id/work

Переменные URL

Названиетипобязательноописание
check_idnumberдаидентификатор чек-листа, для которого нужно получить список работ

Тип ответа: Массив с объектами

Параметры ответа

Названиетипобязательноописание
check_work_idnumberдаидентификатор работы
namestringданазвание работы
work_group_namestringнет название группы работ (если работа находится в группе)
work_group_idnumberнетидентификатор группы работ (если работа находится в группе)
check_idnumberдаидентификатор чек-листа, к которому привязана работа
statusnumberда код статуса работы

Описание статусов работы:

Код статусаописание
0в ожидании выполнения
1успешно выполнено
2 есть нарушения
3 невозможно выполнить

Примеры:

// Запрос
/*
 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_idnumberдаидентификатор работы, для которой нужно получить детализацию

Тип ответа: Объект

Параметры ответа

Названиетипобязательноописание
check_work_idnumberдаидентификатор работы
namestringданазвание работы
notestringдаописание работы
check_idnumberдаидентификатор чек-листа, к которому привязана работа
check_statusstringдаКод статуса чеклиста, к которому привязана работа
statusnumberда код статуса работы
criteriastringнет критерии. Текст в виде списка(с символами переноса строки)
ess_idnumberда ИД причина обращения для создания заявки
essstringда Текст причины обращения для создания заявки
type_idnumberдаидентификатор типа работы

Примеры:

// Запрос
/*
 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_idnumberдаидентификатор работы, для которой нужно получить детализацию

Тип ответа: Массив с объектами

Параметры ответа

Названиетипобязательноописание
check_work_idnumberдаидентификатор работы
typenumberдатип элемента ленты
notestringдакомментарий или URL изображения в зависимости от типа
created_on_tzstringда когда создан
created_bystringда кем создан

Описание типов элемента ленты (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_idnumberдаидентификатор чек-листа

Тип ответа: Объект

Параметры ответа

Названиетипобязательноописание
affected_rowsnumberдаколичество затронутых изменениями строк

Примеры:

// Запрос
/*
 https://server.ru/v2/checklist/6882/start
*/
 
//Ответ
 
{
    "affected_rows": 1
}

Завершение чек-листа

POST https://server.ru/v2/checklist/:check_id/finish

Переменные URL

Названиетипобязательноописание
check_idnumberдаидентификатор чек-листа

Тип ответа: Объект

Параметры ответа

Названиетипобязательноописание
affected_rowsnumberдаколичество затронутых изменениями строк

Примеры:

// Запрос
/*
 https://server.ru/v2/checklist/6882/finish
*/
 
//Ответ
 
{
    "affected_rows": 1
}

Изменение статуса работы, указанной в чек-листе

POST https://server.ru/v2/checklist/work/:check_work_id

Переменные URL

Названиетипобязательноописание
check_work_idnumberдаидентификатор работы из чек-листа

Тело запроса:

Названиетипобязательноописание
statusnumberдакод статуса, на который произойдет замена текущего статуса
commentstringнеткомментарий (если нужно передать комментарий вместе со статусом)

Тип ответа: Объект

Параметры ответа

Названиетипобязательноописание
affected_rowsnumberдаколичество затронутых изменениями строк

Примеры:

// Запрос
/*
 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_idnumberдаидентификатор работы из чек-листа

Тело запроса:

Названиетипобязательноописание
image_namestringнетНазвание изображения (если нужно сохранить изображение. Передается только вместе с image_url)
image_urlstringнетURL изображения (если нужно сохранить изображение. Передается только вместе с image_name)
commentstringнеткомментарий (если нужно сохранить комментарий)

Тип ответа: Объект

Параметры ответа

Названиетипобязательноописание
affected_rowsnumberдаколичество затронутых изменениями строк

Примеры:

// Запрос
/*
 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
}
Ваш комментарий. Вики-синтаксис разрешён:
D S᠎ I Q T
 
  • /var/www/html/wiki/data/attic/d24/develop/v2/backend/v2.1649068060.txt.gz
  • Последние изменения: 2022/04/04 10:27
  • — klabukovai