Операции Crossroad API

Базовый путь всех операций:

/user/plugin/ufanet/crossroad.do?action=<имя операции>

Если не указано иное, параметры передаются в строке запроса. Логические параметры принимают значения true и false, даты в запросах передаются как Unix time в миллисекундах.

В таблицах «код Crossroad» означает, что клиент должен проверить data.code. «Обычный ответ ERP» означает, что операция не добавляет собственные code и message, а ошибки обрабатываются стандартным механизмом ERP.

Контрагенты и договоры

Операция Параметры Результат в data Особенности

getContracts

Обязательный title — номер договора.

contracts — договоры вместе с id контрагента.

Обычный ответ ERP. Пустой title приводит к ошибке.

getContractByTitle

Обязательный contractTitle; опциональные properties, showClosedContracts=false.

contract, код Crossroad.

Код 6, если договор не найден; код 3, если найдено несколько.

getContractsByTitle

Обязательный title; опциональные properties, showClosed=false, showSubcontracts=false, useServiceUser=false.

contracts.

Обычный ответ ERP. В отличие от getContractByTitle возвращает список.

getFullContractInfo

Обязательный contracts в формате billing:id,billing:id; опциональные properties, showClosedContracts=false, showSubcontracts=true, useServiceUser=false, page.pageIndex, page.pageSize.

contracts, код Crossroad.

page.pageSize=0 отключает разбиение субдоговоров на страницы. Не следует вызывать отдельно для каждого договора в цикле.

getContractInfoSH

Обязательные cid и bid.

contract.

Специализированная модель SmartHouse. Обычный ответ ERP.

getCustomerById

Обязательный customerId; опциональные withContracts=true, properties, showClosedContracts=false.

customer, код Crossroad.

При withContracts=false договоры не загружаются.

getCustomerInfoByPhone

Обязательный phone; опциональные auto_registration=false, create_process=false, properties, showClosedContracts=false.

customer, код Crossroad.

При включённой авторегистрации создаёт контрагента, а create_process=true дополнительно создаёт процесс регистрации мобильного приложения.

getCustomerInfoByLoginAndPassword

Обязательные login и password; опциональные properties, showClosedContracts=false.

customer, код Crossroad.

Логином служит номер договора. Учитываются только активные договоры с совпавшим паролем статистики.

getContractsByCustomer

Обязательный customerId; опциональные showClosed=false, searchQuery.

linkedContracts, код Crossroad.

Возвращает связанные договоры контрагента с фильтром по строке поиска.

getAddressesByContract

Обязательные contractId, billingId; опциональный searchQuery.

contractAddresses, код Crossroad.

Адреса прямых договоров и объектов группируются по houseId.

Параметр properties подробно описан в справочнике свойств.

Баланс, услуги и специальные данные

Операция Параметры Результат в data Особенности

getBalanceDetail

Обязательные contractId, billingId; опциональные from, to, monthsCount=1, language.

balance_detail, код Crossroad.

Если границы периода не заданы, берётся интервал до текущего момента глубиной не более 12 месяцев.

getFullBalanceDetails

Обязательные contractId, billingId.

balance, код Crossroad.

Доступно только для независимого или головного договора. Возвращает баланс, рекомендуемую сумму, общую стоимость и автоплатёж.

getContractCashbacks

Обязательные bid, cid.

cashback_list, код Crossroad.

Требует ABilling 7.0 или новее.

getServicesByContract

Обязательные contractId, billingId; опциональные serviceId, houseId.

services, код Crossroad.

houseId ограничивает субдоговоры одним домом, serviceId — одной услугой.

getServiceDetails

Обязательные contractId, serviceId, billingId.

serviceType, response, код Crossroad.

Дополнительная модель услуги формируется динамическим классом из contract.type.<тип>.class. Без класса возвращается пустой ServicePayload.

getChannels

Обязательные contractId, billingId; опциональные множественные значения service.

channels.

Обычный ответ ERP. Фильтр service содержит id услуг.

getContractPassword

Обязательные bid, cid.

password, mutable, pattern, код Crossroad.

mutable показывает, допускается ли изменение пароля для этого биллинга.

getInetIPAddresses

Обязательные contractId, billingId.

ipAddress.

Ищет адрес последовательно в модулях Inet, VPN и IPN. Пустая строка означает, что адрес не найден. Обычный ответ ERP.

getInetIPAddressCost

Обязательные contractId, billingId; опциональный optionId=77.

cost.

Работает только для биллинга rb. В текущем коде id услуги также ошибочно читается из optionId, а не из отдельного параметра; значение по умолчанию для услуги — 93.

getInetRestrictions

Обязательные cid, bid.

supported, restrictions, restricted.

Обычный ответ ERP. supported показывает поддержку функции, restricted — наличие активного ограничения.

getRentsoftIframeSource

Обязательные cid, bid.

iframeSrc.

Реализовано только для биллинга rb. Обычный ответ ERP.

getAddressByIp

Обязательный IPv4-параметр ip.

house_id.

Возвращает id дома, найденный адресным поиском ERP. Обычный ответ ERP.

Операции, изменяющие данные

Операция Параметры Результат в data Особенности

createCustomer

Обязательный phone.

customer, код Crossroad.

Создаёт контрагента-физлицо с названием, равным телефону. Если телефон уже найден, возвращает код 3 и ничего не создаёт.

updatePhone

Обязательные customerId, newPhone.

Код Crossroad.

Перед записью удаляет этот номер у всех остальных найденных контрагентов. Номер проверяется настройкой regex.phone.

createCustomerRequest

Обязательные fullName, phone, address, source; опциональные personType=3, city, services, comment, customerId, redirectUrl.

process, код Crossroad.

Создаёт процесс «Online-заявка на подключение». services — id через запятую; при существующем customerId процесс привязывается к контрагенту.

getContractActions

Обязательные contractId, billingId.

actions, код Crossroad.

Получение списка также помечено устаревшим. Выполнение производится следующей операцией.

executeContractAction

Обязательные contractId, billingId, actionId.

result, код Crossroad.

Немедленно выполняет дополнительное действие ABilling.

getAutopaymentActivationUrl

Обязательные contractId, billingId; опциональный sum=10.

url, код Crossroad.

Если подключение недоступно, возвращает код 11.

deactivateAutopayment

Обязательные contractId, billingId.

Код Crossroad.

Немедленно отключает автоплатёж.

updateContractPassword

Обязательные bid, cid, password.

Код Crossroad.

Проверяет доступность биллинга и регулярное выражение пароля из конфигурации.

updateInetRestriction

JSON-тело: cid, bid, объект restriction.

Обычный ответ ERP.

Создаёт или обновляет ограничение. Объект содержит id, title, mode, даты, время и наборы дней недели, дней месяца и месяцев.

removeInetRestriction

Обязательные cid, bid, restrictionIds — id через запятую.

Обычный ответ ERP.

Удаляет выбранные ограничения.

clearInetRestrictions

Обязательные cid, bid; опциональный withPassword=false.

Обычный ответ ERP.

Удаляет все ограничения. При withPassword=true дополнительно сбрасывает пароль личного кабинета связанного контрагента.

Формат ограничения интернета

Поле Тип Описание

id

integer

Id существующего ограничения; для нового значения зависит от API ABilling.

title

string

Название ограничения.

mode

integer

Режим 0 или 1; остальные значения отклоняются.

comment

string или null

Комментарий.

dateFrom, dateTo

long или null

Границы действия в миллисекундах.

active

boolean

Признак активности.

timeFrom, timeTo

string

Время в формате ISO, например 22:00:00.

daysOfWeek

массив integer

Дни недели от 1 до 7.

daysOfMonth

массив integer

Дни месяца от 1 до 31.

months

массив integer

Месяцы от 1 до 12.