Свойства договора Crossroad

Операции, возвращающие подробную информацию о договоре, принимают параметр properties — список блоков через запятую. Регистр значения не важен.

properties=address,balance,tariffs,services

Если параметр пуст, Crossroad запускает все загрузчики, у которых включена настройка default. По умолчанию она включена для каждого загрузчика, поэтому пустой список может сформировать тяжёлый запрос. Значение none отключает загрузчики и возвращает только базовые сведения о договоре. Неизвестные значения игнорируются.

Доступные свойства

Значение properties Поле результата Назначение

contract_object

objects

Объекты договора.

address

address

Адрес договора и связанные адресные данные.

tariffs

tariffs

Текущие тарифы договора.

tariff_options

tariffOptions

Текущие тарифные опции.

services

services

Услуги и продукты биллинговых модулей.

actions

contractActions

Старый список дополнительных действий над договором.

extended_actions

actions

Расширенные действия из модуля contract-actions.

service_cost

costInfo

Составляющие стоимости услуг.

balance

balance

Баланс и рекомендуемая сумма по стандартной схеме.

custom_balance

balance

Баланс с альтернативным расчётом рекомендуемой суммы.

parameters

Поля контрагента в договоре

Загружает связанные параметры: контрагента, ФИО, тип лица и контактные данные.

autopayment_status

autopayment

Состояние автоплатежа.

payment_methods

paymentMethods

Доступные способы оплаты.

payment_providers

paymentProviders

Платёжные провайдеры с приоритетами, ограничениями и минимальной суммой.

cashback

cashbackInfo

Сведения о кешбэке.

pure_balance

balance

Баланс с расчётом рекомендуемой суммы по старой схеме.

all_parameters

allParameters

Все доступные параметры договора ABilling.

password

password

Пароль статистики договора.

account_password

accountPassword

Пароль TV-аккаунта.

modules

modules

Поддерживаемые модули договора; список типов ограничивается конфигурацией.

groups

contractGroups

Группы договора.

tariff_options_history

tariffOptions

Тарифные опции без ограничения начальной датой, включая историю.

agglomeration

agglomeration

Привязка договора к агломерации.

bundle

bundle

Пакет синхронного списания и его статус. Поддерживается только для rb при включённой функции пакетов.

refund_sum

refundSum

Сумма возврата.

contract_migration_info

migrationInfo

Id договора, на который выполнена миграция.

status_changed_date

statusChangedDate

Дата последнего изменения статуса.

status_changed_date_to

statusChangedDateTo

Дата окончания текущего статуса.

sber_online_caption

extra.sberOnlineCaption

Подпись к договору для оплаты через SberOnline.

need_change_password

extra.needPasswordChange

Признак необходимости сменить пароль.

firm

firm

Организация договора.

offers

extra.offers

Предложения, добавленные обработчиками события OfferContractEvent.

service_types

serviceTypes

Обобщённые типы услуг договора.

Базовые поля

Даже при properties=none договор содержит основные сведения:

  • id и идентификатор биллинга;

  • номер, тип и статус договора;

  • даты начала и окончания;

  • id домена;

  • базовый список id субдоговоров, если они были запрошены.

Конкретные имена JSON-полей следует проверять по фактическому ответу. Большинство полей сериализуется в camelCase, несмотря на оставшиеся в Java-моделях Gson-аннотации со snake_case.

Диагностика загрузки

Для каждого выполненного загрузчика в meta добавляется объект:

{
  "property": "balance",
  "duration": 34,
  "error": null,
  "cached": false
}
duration

Время обработки свойства в миллисекундах.

error

Текст ошибки. Ошибка свойства не прерывает весь запрос.

cached

true, если значение прочитано из кеша; false, если получено заново.

Если загрузчик не поддерживает тип договора, запись meta для него не создаётся.

Настройка отдельного свойства

Для каждого id из таблицы доступны одинаковые ключи:

crossroad.props.<id>.default=true
crossroad.props.<id>.cached=false
crossroad.props.<id>.cacheExpire=3600
crossroad.props.<id>.timeout=4000
default

Загружать свойство, когда клиент не передал properties.

cached

Хранить значение в Redis-кеше Crossroad.

cacheExpire

Время жизни кеша в секундах.

timeout

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

Ключи строятся по id в нижнем регистре, например crossroad.props.balance.cached=true.