API

Скачать MySmartFlat-api

редакция от 14.11.2018

Данный документ описывает набор методов доступа и изменения данных в платформе MySmartFlat.

Общие данные

Тестовое API

https://api-dev.mysmartflat.ru/api

Боевое API

https://api-product.mysmartflat.ru/api

Параметры передаются методом POST или GET на усмотрение Front-разработчика.

Все запросы, кроме отдельно оговоренных, вызываются с передачей обязательного параметра token - токеном связки пользователя и объекта (квартиры, апартамента, офиса и пр.).

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

https://api-dev.mysmartflat.ru/api/apartment/get-hardware/?token=ust-999-xxxyyyzzz

Формат ответа:

формат JSON

 

 

  • command - выполняемая операция
  • error - равно нулю, если все хорошо, иначе смотрите поле message
  • message - человекочитаемое сообщение в случае ошибок
  • data - тело данных

Регистрация пользователя

Данным метод можно вызывать без токена доступа

Важно! Метод заменяет текущий метод регистрации registry-v2 с 1 декабря 2018 в принудительном порядке.

1 шаг. Получение проверочного кода

Запрос:

api/auth/registry-step-1

ПараметрОписание
phone *Номер мобильного телефона пользователя
name *ФИО пользователя
apartment-codeОдноразовый код доступа, выдаваемый провайдером услуги. Предназначен для автоматической привязки объекта к регистрируемому пользователю

2 шаг. Ввод полученного проверочного кода

Запрос:

api/auth/registry-step-2

ПараметрОписание
phone *Номер мобильного телефона пользователя
name *ФИО пользователя
apartment-codeОдноразовый код доступа, выдаваемый провайдером услуги. Предназначен для автоматической привязки объекта к регистрируемому пользователю
code *Код доступа, отправленный пользователя посредством SMS

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
tokenstringToken доступа, с которым выполняются все методы к API. Запрашивать логин и пароль у пользователя не обязательно. 

После выполнения шага 2 на телефон пользователя будет отправлен пароль доступа к системе. Рекомендуется после регистрации автоматически авторизовать пользователя с помощью полученного токена доступа.

Авторизация пользователя

Данным метод можно вызывать без токена доступа

Запрос:

api/auth/authenticate/

Наличие email или phone обязательно, но не обязательно оба параметра

ПараметрОписание
login*логин (email, мобильный номер в федеральном формате в свободной форме или номер договора для некоторых провайдеров по согласованию)
password*пароль, text

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
user -> is_demointПризнак демонстрационного пользователя с урезанным функционалов0
user -> stageintСтатус пользователя: 1) гость 2) собственник жилья 3) житель. Статус актуален для приложений3
user -> user_idintУникальный идентификатор пользователя 
user -> user_fullnamestringФИО пользователя 
user -> user_namestringИмя пользователя 
user -> user_surnamestringФамилия пользователя 
user -> user_patronymicstringОтчество пользователя 
user -> user_mailstringEmail пользователя 
user -> user_phoneintНомер мобильного телефона пользователя 
user -> user_balancefloatБаланс лицевого счета 
user -> user_avatarstringСсылка на аватар/фото пользователя 
user -> user_search_disableintЗапрет поиска другими пользователями ЖК0
user -> user_search_disable_textstringНазвание опции запрета поискаСкрыть аккаунт
user -> user_search_disable_descriptionstringОписание опции запрета поискаПри активации данной опции ваш аккаунт исчезнет из общего списка контактов, доступного вашим соседям в разделе Чат
user -> tokenstringToken доступа, с которым выполняются все методы к API 
user -> user_uidstringВнешний идентификатор пользователя, актуально при использовании внешних CRM, Биллингов и пр. 
user -> apartmentarrayИнформация о доступных пользователю объектах 

Apartment:

ПараметрТипОписаниеЗначение по умолчанию
idintУникальный идентификатор объекта в системе 
uidstringВнешний идентификатор объекта, актуально при использовании внешних CRM, Биллингов и пр. 
titlestringЧеловекочитаемое наименование/адрес объекта 
complex_idintУникальный идентификатор ЖК 
accept_enabledintДоступность функционала записи на приемку объекта0

Информация о пользователе

Запрос:

api/auth/get-user

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
user -> is_demointПризнак демонстрационного пользователя с урезанным функционалов0
user -> stageintСтатус пользователя: 1) гость 2) собственник жилья 3) житель. Статус актуален для приложений3
user -> user_idintУникальный идентификатор пользователя 
user -> user_fullnamestringФИО пользователя 
user -> user_namestringИмя пользователя 
user -> user_surnamestringФамилия пользователя 
user -> user_patronymicstringОтчество пользователя 
user -> user_mailstringEmail пользователя 
user -> user_phoneintНомер мобильного телефона пользователя 
user -> user_balancefloatБаланс лицевого счета 
user -> user_avatarstringСсылка на аватар/фото пользователя 
user -> user_search_disableintЗапрет поиска другими пользователями ЖК0
user -> user_search_disable_textstringНазвание опции запрета поискаСкрыть аккаунт
user -> user_search_disable_descriptionstringОписание опции запрета поискаПри активации данной опции ваш аккаунт исчезнет из общего списка контактов, доступного вашим соседям в разделе Чат
user -> tokenstringToken доступа, с которым выполняются все методы к API 
user -> user_uidstringВнешний идентификатор пользователя, актуально при использовании внешних CRM, Биллингов и пр. 
user -> apartmentarrayИнформация о доступных пользователю объектах 

Apartment:

ПараметрТипОписаниеЗначение по умолчанию
idintУникальный идентификатор объекта в системе 
uidstringВнешний идентификатор объекта, актуально при использовании внешних CRM, Биллингов и пр. 
titlestringЧеловекочитаемое наименование/адрес объекта 
complex_idintУникальный идентификатор ЖК 
accept_enabledintДоступность функционала записи на приемку объекта0
user_tokenstringТокен доступа, для используемый для получения информации/управления данных объектом 

 

Восстановление пароля

Данным метод можно вызывать без токена доступа

Запрос:

api/auth/restore

ПараметрОписание
login*логин (email или мобильный номер в федеральном формате в свободной форме)
step*шаг восстановления пароля 1) запрос на отправку проверочного кода 2) запрос на смену пароля с указанием проверочного кода. Шаг 2 должен выполняться строго после шага 1
codeПроверочный код, актуально для шага 2.

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
user -> tokenstringToken доступа, с которым выполняются все методы к API 

Смена пароля

Запрос:

api/auth/update/

ПараметрОписание
oldpass*старый пароль
newpass*новый пароль

Обновление профиля

Запрос:

api/user/update-user

ПараметрОписание
user_mailEmail пользователя
user_phoneТелефон пользователя
user_nameИмя пользователя
user_surnameФамилия пользователя
user_patronymicОтчество пользователя
user_fullnameПолное ФИО пользователя
user_search_disableЗапрет поиска другими жителями ЖК
user_avatar_inputnameИмя переменной, в которой передается тело фото/аватарки пользователя

Пояснения:

В зависимости от дизайна приложение ФИО можно передавать как едиными полем user_fullname, так и по отдельности имя, фамилия, отчество.

При загрузке фото/аватара пользователя в параметре user_avatar_inputname необходимо передать название переменной, в которой передается фото. Загрузка возможна только методом POST и шифровании алгоритмом BASE64.

Не все параметры обязательны. В случае не передачи какого-либо из параметром изменение данного параметра не происходит. Исключением являются поля user_surname и user_patronymic при передачи не пустого поля user_name.

 

 

Доступ к устройствам

обновлено 04.11.2018

Запрос основной информации об устройствах

Запрос:

api/apartment/get-hardware

В ответ приходит массив доступных доступных сигналов и их описанием:

ПараметрТипОписание
idstringуникальный идентификатор сигнала
guidstringсерийный номер устройства
namestringназвание сигнала
descriptionstringописание сигнала/его состояния
onlineintстатус связи с устровством 0-нет/ 1-на связи
room_inforecordинформация о помещении
device_titlestringназвание сигнала
device_model_namestringназвание модели устройства
device_model_titlestringназвание модели устройства, человекочитаемое
device_model_idstringуникальный идентификатор модели устройства
device_class_namestringнавзание класса устройства
device_class_titlestringназвание класса устройства, человекочитаемое
device_class_idstringуникальный идентификатор класс устройства
colorsarrayцвета иконок сигналов в зависимости от состояний, не обязательно к применению
managementintвозможность управления сигналом, если 1, то можно выполнять метод apartment/send-signal
management_typerecordтип контрола управления
istextintпризнак необходимости вывода текстового значения сигнала всесто иконки
get_settings_window_urlstringurl запроса всех доступных сигналов устройств
img_appstringиконка сигнала
positionrecordпозиция сигнала в интерфейсе, предусматривающем вывод сигналов на планировку объекта
group_signalintгруппировать сигналы данного устройства в единую карточку
room_info
ПараметрТипОписание
idstringуникальный идентификатор помещения
titlestringназвание помещения, человекочитаемое
management_type
ПараметрТипОписание
typestringтип контрола, расшифровка в методе apartment/get_settings_window
rulesstringправа доступа: r - только чтение / w - только запись / rw - полный доступ
titlestringНазвание контрола
position
ПараметрТипОписание
xfloatабсцисса
yfloatордината

Запрос информации об устроства с группировкой

Запрос:

api/apartment/get-hardware-group

Ответ:

ПараметрТипОписание
hardwarearrayИнформация об устройстве
hardware
ПараметрТипОписание
serialnumberstringСерийный номер устройства
class_namestringНазвание класса устройства
class_idstringИдентификатор устройства
model_namestringНазвание модели устройства
model_idstringИдентификатор модели устройства
signalarrayМассив сигналов
signal
ПараметрТипОписание
idstringУникальные идентификатор сигнала
namestringНазвание сигнала
valuestringТкущее значение сигнала
controlstringТип контрола управления
get_settings_window_urlstringurl запроса всех доступных сигналов устройств
readonlyintДоступно только для чтения
measurestringединица измерения
room_idstringуникальный идентификатор помещения
room_titlestringазвание помещения, человекочитаемое

Управление устройством

Запрос:

api/apartment/send-signal

ПараметрОписание
serialnumber *Серийный номер устройства
signal *Название сигнала
state *Новое значение сигнала

Обновление позиции сигнала на карте

Запрос:

api/apartment/update-point'

Ответ:

ПараметрОписание
serialnumber *Серийный номер устройства
id *Уникальный идентификатор сигнала (из метода get-hardware)
position[x] *Положение по оси абсцисс
position[y] *Положение по оси ординат

Запрос предустановленных параметров (связь с устройставами, протечки, температура, проникновение)

Запрос:

api/apartment/get-icons

Ответ:

ПараметрТипОписание
iconsarrayмассив с параметрами
icons
ПараметрТипОписание
imgstringссылка на иконку параметра
stateintзначение параметра
typestringтип параметра
titlestringОписание, человекочитаемое
morearrayМассив с дополнительными параметрами и ссылками на устройства, если имеются авартиые сигналы
more
ПараметрТипОписание
serialnumberstringсерийный номер устройства
statestringзначение параметра, человекочитаемое
state_machinestringзначение параметра
titlestringназвание устройства, человекочитаемое
dtintвремя наступления сработки в формате UnixDateTime

Запрос всех доступных сигналов устройства

Запрос:

api/apartment/get-settings-window

ПараметрОписание
serialnumber *Серийный номер устройства

Ответ:

ПараметрТипОписание
imagestringСсылка на изображение устройства
room_infoarrayинформация о помещении
device_model_namestringНазвание модели устройства
device_model_titlestringНазвание модели устройства, человекочитаемое
device_model_idstringИдентификатор модели устройства
device_class_namestringНазвание класса устройства
device_class_titlestringНазвание класса устройства, человекочитаемое
device_class_idstringИдентификатор класса устройств
rectaglearrayОписание подложки под изображение устройства
manualstringСсылка на техописание устройства
state_textstringЧеловекочитаемое состояния устройства
titlestringНазвание устройства
signalsarrayМассив сигналов устройства
rectagle
ПараметрТипОписание
leftintegerСмещение подложки слева, в процентах от изображения
topintegerСмещение подложки сверху, в процентах от изображения
widthintegerШирина подложки, в процентахот изображения
heightintegerВысоты подложки, в процентах от изображения
colorstringЦвет подложки с ведущим символом "#"
blink_timeintegerСкорость мигания, в миллисекундах
room_info
ПараметрТипОписание
idstringуникальный идентификатор помещения
titlestringназвание помещения, человекочитаемое
signal
ПараметрТипОписание
idstringУникальные идентификатор сигнала
namestringНазвание сигнала
titlestringНазвание сигнала, человекочитаемое
valuefloat / stringТекущее значение сигнала
dtstringвремя обновления состояния в формате UnixDateTime
measurestringединица измерения
state_valuesarrayмассив человекочитаемых состояний сигнала
type_controlstringтип контрола
readonly_labelintЗапрет на изменение название сигнала
readonly_valueintЗапрет на изменение состояния сигнала
type_control
text - текст
counter - ползунок
ПараметрТипОписание
counter_minfloatминимальное значение
counter_maxfloatмаксимальное значение
toggle - переключатель
list - список
ПараметрТипОписание
idintидентификатор строки
textstringсодержание строки
frame - фрейм (ссылка в поле value)
ПараметрТипОписание
rationfloatсоттношение сторон ширина/высота
range - диапазон
ПараметрТипОписание
value_minfloatминимальное значение
value_maxfloatмаксимальное значение
stepfloatразмер шага измерения
range_minfloatминимальное значение области изменения (левая граница)
range_maxfloatминимальное значение области изменения (правая граница)
delta_maxfloatмаксимальная разница между значениями
delta_minfloatминимальная разница между значениями
uniremote - настройка ИК пульта

Запрос токен для локального управления

Запрос:

api/apartment/get-hardware-token

Ответ:

ПараметрТипОписание
devicesarrayмассив с токенами для локального управления
devices
ПараметрТипОписание
serialnumberstringсерийный номер устройства
device_tokenstringтокен локального доступа к устройствам

Обновление название устройства

Запрос:

api/apartment/update-device-name

ПараметрОписание
serialnumber *Серийный номер устройства
title *Новое название устройства

Обновление название сигнала

Запрос:

api/apartment/update-signal-name

ПараметрОписание
serialnumber *Серийный номер устройства
signalname *Название сигнала (rele1, lamp-a1 etc)
title *Новое название сигнала, человекочитаемое

Запрос помещений объекта

Запрос:

api/apartment/get-rooms

Ответ

ПараметрТипОписание
roomsarrayМассив с информацией о помещениях
rooms
ПараметрТипОписание
idstringУникальный идентификатор помещения
titlestringНазвание помещения

Привязка устройства к помещению

Запрос:

api/apartment/update-device-room

ПараметрОписание
serialnumber*Серийный номер устройства
room *Уникальный идентификатор помещения, полученный из методов get-rooms или get-hardware

Добавление/обновление информации о помещении

Запрос:

api/apartment/update-room

ПараметрОписание
idУникальный идентификатор помещения, полученный из методов get-rooms или get-hardware. В случае отсутсвия данного параметра помещение автоматически создается
title *Название помещения

Ответ:

ПараметрТипОписание
room_idstringУникальный идентификатор созданного/обновленного помещения

Удаление помещения

Запрос:

api/apartment/delete-room

ПараметрОписание
id *Уникальный идентификатор помещения, полученный из методов get-rooms или get-hardware. В случае отсутсвия данного параметра помещение автоматически создается

Запрос расхода счетчиков ресурсов в графическом формате

Запрос:

api/apartment/get-measuresv2

ПараметрОписание
weekпериод в неделях от текущей даты
monthпериод в неделях от текущей даты
startначальная дата в формате unixdatetime
finishконечная дата в формате unixdatetime

Пример-пояснение:

для получения данных за 2 недели достаточно передать week=2, за квартал - month=3 без прямого указания других параметров запроса.

Ответ:

ПараметрТипОписание
grapharrayМассив данных для построения графика расхода
legendarrayЛегенда для вывода краткой информации
graph
ПараметрТипОписание
titlestringОписание графика
textstringКраткая легенда
dimensionstringЕдиница измерения
autosumintПризнак необходимости суммировать данные
linesarrayОписание линии графика
xkeystringСсылка на переменную в массиве data для абсцисс
ykeysarrayСсылка на переменную в массиве data для ординат
dataarrayОсновные данные для построения графика
lines
ПараметрТипОписание
titlestringНазвание линии, человекочитаемое
colorstringЦвет линии с ведущей #
data
ПараметрТипОписание
xintЗначение абсциссы, метка времени в формате UnixDateTime
y0..ynfloatЗначение ординаты

Запрос расхода счетчиков ресурсов в табличном формате

Запрос:

api/apartment/get-measure-table

Ответ:

ПараметрТипОписание 
titlestringНазвание таблицы 
headerarrayзаголовки столбцов таблицы 
header_mobilearrayаналогично header, вариант для мобильного интерфейса 
linearrayСтроки таблицы 
send-email-textstringНазвание кнопки для отправки таблицы по почте 
send-email-valuestringПочта для отправки таблицы 

Отправка таблицы расходов по email

Запрос:

api/apartment/send-email-with-measure-table

ПараметрОписание
emailПочта для отправки таблицы расходов

 

Запрос гостевых кодов для домофонов

Запрос:

api/apartment/get-quest-codes

Ответ:

ПараметрТипОписание
quest-codesarrayГостевые коды доступа
quest-codes:
ПараметрТипОписание 
codestringГостевой код доступа 
dtintВремя истечения срока годности гостевого кода в формате UnixDateTime 

Добавление гостевого кода для домофонов

Запрос:

api/apartment/insert-quest-codes

ПараметрОписание
code *Гостевой код доступа
dtВремя истечения срока годности гостевого кода в формате UnixDateTime

Удаление гостевого кода для домофонов

Запрос:

api/apartment/delete-quest-codes

ПараметрОписание
code *Гостевой код доступа

Дистанционное открытие домофона

Запрос:

api/apartment/open-gates

ПараметрОписание
id *Уникальный идентификатор домофона

Дистанционное открытие шлагбаума

Запрос:

api/apartment/open-stalbaum

ПараметрОписание
id *Уникальный идентификатор шлагбаума

Запрос контакта консъержа

Запрос:

api/apartment/call-concierge

Ответ:

ПараметрТипОписание
call-numberstringТелефон консъержа

Запрос контакта помощи

Запрос:

api/apartment/call-emergency

Ответ:

ПараметрТипОписание
call-numberstringТелефон помощи

Запрос контакта техподдержки

Запрос:

api/apartment/call-support

Ответ:

ПараметрТипОписание
call-numberstringТелефон техподдержки

Раздел Квитанции

Список квитанций

api/pay/get-receipt-list

out

  • receipts array

    • id - уникальный идентификатор квитанции в нашей системе
    • date_title - дата выставления
    • sum - сумма платежки
    • measure - единица измерения суммы (рубли/гривны/евро)
    • paid - флаг оплаты (оплачено или нет)

Загрузка квитанции

api/pay/get-receipt/

  • id - уникальный идентификатор квитанции в нашей системе

out

  • receipts_number - номер квитанции в сторонней системе

  • paid - флаг оплаты (оплачено или нет)

  • date_title - дата выставления

  • sum - сумма платежки

  • measure - единица измерения суммы (рубли/гривны/евро)

  • list - позиции платежки

    • title
    • sum
    • measure

Отправка квитанции по e-mail

api/pay/send-receipt

  • email

Раздел Отладка

Применяется разработчиком приложений как временный отладочный механизм. Запрещенно использовать в релизах, так как генирирует огромный паразитный трафик

Добавить запись в лог

Запрос:

api/log/insert

ПараметрОписание
key*Уникальный ключ/тип лога. Выбирается разработчиком на усмотрение. Вытащить данные можно только через этот ключ
instanceИдентификатор экземпляра приложения, генерирующий лог. Для примера можно использовать firebase token
dataНепосредственно запись
user_idИдентификатор пользователя

Вычитать запись из лога

Метод работает только из зарегистрированных сетей

Запрос:

api/log/read

ПараметрОписание
key*Уникальный ключ/тип лога. Выбирается разработчиком на усмотрение
instanceИдентификатор экземпляра приложения, генерирующий лог
user_idИдентификатор пользователя

Ответ:

ПараметрТипОписание
instancestringИдентификатор экземпляра приложения, генерирующий лог
user_idintИдентификатор пользователя
dtintВремя вставки записи в формате UnixDateTime
datastringНепосредственно запись

 

Раздел Техподдержки

Внимание! Данный раздел находится в стадии описания. Однако все методы рабочие

Список исполнителей

api/helpdesk/get_performer

ПараметрОписание
limit=100
offset 
filter 

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
userdata_id   
performer_id   
userdata_name   
userdata_surname   
userdata_patronymic   
userdata_phone   
userdata_email   
userdata_avatar   
position_id   
position_title   
competence   
  • competence array of (competence_name,competence_id,competence_level)

Список должностей

api/helpdesk/get_position

ПараметрОписание
position_id 
filter 
limit 
offset 

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
position_id   
position_title   

Новая должность

api/helpdesk/get_position (не позволяем добавить существующуюю должность)

ПараметрОписание
position_title 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
position_id   

Обновление должности

api/helpdesk/ee_position

ПараметрОписание
position_title * 
position_id * 
delete=0

Список разделов

api/helpdesk/get_section

ПараметрОписание
section_id 
filter 
limit 
offset 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
section_id   
section_title   
competence   
  • competence array of (competence_name,competence_id,competence_level)

Обновление раздела

api/helpdesk/update_section

ПараметрОписание
section_id * 
section_title * 
section_delete=0 

Соответствие компетенции и раздела

api/helpdesk/aus_section_competence

ПараметрОписание
section_id * 
competence_id * 
connect (1 - добавить, 0 - удалить) 

Соответствие компетенции и исполнителя

api/helpdesk/aus_performer_competence

ПараметрОписание
performer_id * 
competence_id * 
connectconnect (1 - добавить, 0 - удалить)

Список пользователей/постановщиков

api/helpdesk/get_owner

ПараметрОписание
limit 
offset 
filter 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
userdata_id   
userdata_name   
userdata_surname   
userdata_patronymic   
userdata_phone   
userdata_email   
userdata_avatar   
consumer_level (оценка средняя) 
consumer_priority   

Cписок сотрудников компании

api/helpdesk/get_employee

ПараметрОписание
userdata_id0
bms_id * 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
userdata_id   
userdata_name   
userdata_surname   
userdata_patronymic   
userdata_phone   
userdata_email   
userdata_avatar   
performer_id   

Обновить инфу о сотруднике

api/helpdesk/update_employee

ПараметрОписание
userdata_id * 
position_id * 

Отправить инвайт пользователю

api/helpdesk/send_employee_invite

ПараметрОписание
userdata_phone * 
userdata_name 
userdata_surname 

Список заявок

api/helpdesk/get_tickets

ПараметрОписание
limit=100 
offset=0 
filter 
ticket_state 
ticket_overdue 
userdata_id 
performer_id 
ticket_urgency 
section_id 
unread 
chat_id 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
ticket_state_id   
ticket_state_title   
ticket_dt_start  unixdatetime
ticket_dt_end  unixdatetime
ticket_dt_finish  unixdatetime
ticket_title   
ticket_performer_id   
ticket_apartment   
userdata_id   
ticket_urgency   
section_id   
city   

Информация по заявке

api/helpdesk/get_tickets

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • ticket_id *
  • get_messages=0
  • chat_id (upd. 24.07.2018)

out

  • ticket_state_id
  • userdata_id
  • ticket_state_title
  • ticket_dt_start (unixdatetime)
  • ticket_dt_end (unixdatetime)
  • ticket_dt_finish (unixdatetime)
  • ticket_title
  • ticket_text
  • ticket_performer_id
  • ticket_urgency (0 - низкая, 1 - средняя, 2 - срочная, 3 - авария)
  • files array of (file_name,file_size,file_id,file_access_token, message_id) (upd. 13.08.2018)
  • messages array of (message_id,userdata_id,message_dt,message_service=0,message_read)
  • ticket_apartment (upd. 12.07.2018)
  • section_id (upd. 17.07.2018)
  • city (upd. 18.07.2018)

Обновление заявки

api/helpdesk/update_tickets

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • ticket_id (если нет, то создаем заявку)
  • ticket_state_id
  • ticket_dt_end (unixdatetime)
  • ticket_title *
  • ticket_text *
  • ticket_performer_id
  • ticket_urgency
  • userdata_id
  • ticket_apartment* (upd. 12.07.2018)
  • section_id (upd. 17.07.2018)
  • ticket_dt_finish (upd. 18.07.2018)

out

  • ticket_id (при создании заявки) (upd. 27.07.2018)

Загрузить сообщения

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • ticket_id *

out

  • ticket_state_id
  • messages array of (message_id,userdata_id,message_dt,message_service=0,message_read)

Отправить сообщение

api/helpdesk/send_message (upd. 19.07.2018)

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • ticket_id *
  • message_text *
  • performer_id (upd. 19.07.2018)
  • userdata_id (upd. 19.07.2018)
  • file_id (upd. 13.08.2018)

Хотя бы один из параметров performer_id или userdata_id должен быть передан

Загрузить файл

api/file/get_file (upd 12.07.2018)

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • file_id *
  • file_access_token *

out

  • file_base64_decode

Отправить файл

api/file/upload_file (upd 12.07.2018)

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • file_name *
  • file_base64 *
  • ticket_id (upd. 13.08.2018)

out

  • file_id
  • file_base64

upd 10.07.2018

Загрузить словарь статусов

api/helpdesk/get_dict_states

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

out

states array of (state_name, state_title)

upd 12.07.2018

Информация о квартире

api/helpdesk/get_apartment

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • apartment_id

out

  • apartment_title
  • building_id
  • rizer
  • apartment_floor

Список квартир пользователя

api/helpdesk/get_apartment

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • userdata_id
  • filter
  • limit=100
  • offset=0

out

  • apartment_id
  • apartment_title
  • building_id
  • rizer
  • apartment_floor

Список живущих в квартире

api/helpdesk/get_resident (upd. 12.07.2018)

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • apartment_id *
  • filter
  • limit=100
  • offset=0

out

  • userdata_id
  • userdata_name
  • userdata_surname
  • userdata_patronymic
  • userdata_phone
  • userdata_email
  • userdata_avatar

upd. 19.07.2018

Отметить сообщение как прочитанное

api/helpdesk/read_message

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • message_id*
  • userdata_id*

upd. 27.07.2018

Установить роль

api/heldesk/set_role

ПараметрОписание
  
  

 

Ответ:

ПараметрТипОписаниеЗначение по умолчанию
    
    

 

  • userdata_id*
  • role_id*
  • bms_id (* для всех кроме админа)
  • position_id (* для исполнителя)

 

Раздел Marketplace

Категории

У корневых категорий parent = 0

Получить список

api/marketplace/category/get_list/

ПараметрТипОписаниеЗначение по умолчанию
category_parentintID родительской категории 
limitintМаксимальное количество элементов в ответе100
offsetintСмещение выборки в ответе0
filterstringСтрока для поиска в названии категории 
only_filledboolЕсли true, то выборка содержит только те категории, в которых есть товарыfalse

Вывод элементов массива:

ПараметрТипОписание
category_idstringID категории
category_titlestringНазвание категории
category_parentstringID родительской категории
category_iconstringСсылка на иконку категории

Получить одну

api/marketplace/category/get_one

ПараметрТипОписаниеЗначение по умолчанию
category_id *intID категории 

Вывод:

ПараметрТипОписание
category_idstringID категории
category_titlestringНазвание категории
category_parentstringID родительской категории
childrenarrayМассив дочерних элементов

 


Компании

Получить список

api/marketplace/company/get_list/

ПараметрТипОписаниеЗначение по умолчанию
category_idintID категории 
limitintМаксимальное количество элементов в ответе100
offsetintСмещение выборки в ответе0
filterstringСтрока для поиска в названии компании 

Вывод элементов массива:

ПараметрТипОписание
company_idstringID компании
company_titlestringНазвание компании
company_img_smallstringЛоготип
company_img_bigstringБаннер
company_descriptionstringОписание компании

Получить одну

api/marketplace/company/get_one/

ПараметрТипОписаниеЗначение по умолчанию
company_id *intID компании 

Вывод:

ПараметрТипОписание
company_idstringID компании
company_titlestringНазвание компании
company_img_smallstringЛоготип
company_img_bigstringБаннер
company_descriptionstringОписание компании
company_urlstringСсылка на сайт компании
company_phonesarrayМассив телефонов компании
company_emailstringАдрес электронной почты

Предложения

Получить список

api/marketplace/offer/get_list/

ПараметрТипОписаниеЗначение по умолчанию
category_idintID категории 
limitintМаксимальное количество элементов в ответе100
offsetintСмещение выборки в ответе0
special_onlyboolВыбрать только спец. предложенияfalse
good_vendorstringПроизводители (через запятую) 
good_namestringСтрока для поиска по названию предложения 
good_availableboolВыбрать только товары в наличииfalse
price_minintМинимальная цена 
price_maxintМаксимальная цена 

Вывод элементов массива:

ПараметрТипОписание
offer_idstringID предложения
good_namestringНазвание предложения
good_vendorstringПроизводитель
good_availableboolВ наличии
good_urlstringСсылка на страницу товара на сайте компании
good_picturestringИзображение
good_descriptionstringОписание предложения
good_oldpricestringСтарая цена
good_pricestringТекущая цена (минимальная, если диапазон)
offer_price_maxstringМаксимальная цена в диапазоне
offer_price_is_rangeboolЦена в диапазоне
company_idstringID компании
offer_is_specialboolСпециальное предложение

Получить одно

api/marketplace/offer/get_one/

ПараметрТипОписаниеЗначение по умолчанию
offer_id *intID предложения 

Вывод:

ПараметрТипОписание
offer_idstringID предложения
good_namestringНазвание предложения
good_vendorstringПроизводитель
good_availableboolВ наличии
good_descriptionstringОписание предложения
good_oldpricestringСтарая цена
good_pricestringТекущая цена (минимальная, если диапазон)
offer_price_maxstringМаксимальная цена в диапазоне
offer_price_is_rangeboolЦена в диапазоне
company_idstringID компании
offer_is_specialboolСпециальное предложение
offer_start_dtstringВремя начала показа (unixdatetime, 0 - не задано)
offer_end_dtstringВремя конца показа (unixdatetime, 0 - не задано)
offer_summarystringКраткое описание
offer_termsstringУсловия покупки
company_titleboolНазвание компании
company_urlstringСсылка на сайт компании
company_emailstringАдрес электронной почты компании
company_phonesstringМассив телефонов компании
picturesarrayМассив изображений
actionsarrayМассив целевых действий

actions

ПараметрТипОписание
actionstringТип действия
idstringID действия
extrastringДанные для целевого действия (напр. e-mail)
fieldsarrayЕсли action == email_form, то содержит поля формы
titlestringНазвание действия
Тип действияactionОписание
Отправка заявки на почтуemailАдрес электронной почты
Позвонить в компаниюcallНомер телефона или массив номеров
Перейти на сайтgo_webАдрес сайта
Отправить форму на почтуemail_formМассив полей формы
Заказать обратный звонокcallbackНомер телефона или массив номеров

Поле формы

ПолеТипОписание
field_labelstringНазвание поля
field_placeholderstringPlaceholder
field_defaultstringЗначение по умолчанию, если тип поля select, radio или checkbox, то содержит ID опции
field_typestringТип поля (для валидации), может принимать значения: string,int,float,phone,email
field_orderstringПорядок полей
field_input_typestringТип поля ввода, может принимать значения: text, select, radio, checkbox
field_contentarrayМассив опций для типов select, radio, checkbox. Каждая опция является массивом с полями id и value.

 

Выполнить целевое действие

api/marketplace/offer/action/

Имеет смысл вызывать при действиях: email, callback, email_form.

ПараметрТипОписание
offer_id *intID предложения
type *stringТип действия
teststringЕсли передан, не выполняет действие
action_idintИдентификатор действия
... Дополнительные параметры (напр. для передачи формы)

Для передачи формы называйте параметр по имени поля


Формы

Получить список

api/marketplace/form/get_list/

Вывод элементов массива:

ПараметрТипОписание
form_idstringID формы
form_titlestringНазвание формы

Получить одну

api/marketplace/form/get_one/

ПараметрТипОписаниеЗначение по умолчанию
form_id *intID формы 

Вывод элементов массива:

ПараметрТипОписание
field_idstringID поля
field_labelstringНазвание поля
field_placeholderstringPlaceholder
field_defaultstringЗначение по умолчанию
field_typestringТип поля (может принимать значения: string,int,float,phone,email)
field_orderstringПорядковый номер в форме
field_requiredboolПоле является обязательным

Добавить

api/marketplace/form/add/

ПараметрТипОписаниеЗначение по умолчанию
title *stringНазвание формы 
fields *arrayПоля формы 

Структура fields (поля label обязательны):

 

Если используется поле select, radio или checkbox, должно передаваться поле content, содержащее значения всех опций. Для установки default, передайте в него одно из значений content.

Обновить показания счетчика

Запрос:

api/counters/update

ПараметрОписание
serialnumber*Серийный номер счетчика
value*Показания
recalcКоэффициент перерасчета (по умолчанию = 1)
tariff_indexИндекс тарифа для электросчетчиков (пик = 1, полупик = 2, ночь = 3)