Плейсхолдеры для описания Правила обработки события

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

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

При описании Правила обработки события возможны следующие операции с Плейсхолдерами:

  • >

  • <

  • >=

  • <=

  • =

  • !=

  • include? (например, order.type = "SalesOrder" and (order.plans_ids include? 2000030)) — обработчик события сработает, если в заказ на покупку включен тарифный план с id =2000030)

  • exclude? (исключить определенные сущности (по id, ключу, имени) из выбранного массива сущностей, например, для исключения отправки уведомления о создании заказа на подписку по тарифному плану с id = 2000, необходимо использовать следующее правило: order.plans_ids exclude? 2000)
  • and (например, для исключения нескольких сущностей из массива необходимо использовать (product_ids exclude? 34650) and (product_ids exclude? 34702))

  • or. Для нескольких or после and следует использовать дополнительные скобки: order.type = "RenewalOrder" and order.renewal_is_positive = true and subscription.payment_model = "prepay" and ((order.plans_ids include? 293827) or (order.plans_ids include? 293824) or (order.plans_ids include? 294340))
  • % (например, 30% от Порога срабатывания финансовой блокировкиaccount.financial_blocking_threshold % 30 )
СобытиеПлейсхолдерОписаниеТипПример

Общее для всех событий

owner.status

Статус владельца Клиентаstringowner.status = "active"

owner.country

2-буквенный код страны (ISO) из адресной информации владельца Клиента (например, BY для Республики Беларусь)stringowner.country = "BY"

owner.city

Название города из адресной информации владельца Клиентаstringowner.city = "Minsk"
current_dateТекущая датаdatecurrent_date

Приближается финансовая блокировка клиента (Account credit hold is coming)


Клиент изменен (Account changed)


Клиент создан (Account created)


Порог срабатывания финансовой блокировки изменен (Financial blocking threshold was changed)


Менеджер клиента изменен (Account manager changed)


Недостаточно средств на балансе (Low balance)


Закрывающие документы сформированы (Closing documents generated)


Создание сервера (Create instance)

Сброс пароля сервера (Reset instance password)

account.balanceБаланс клиентаnumber
account.balance = 1000
account.balance.was

Предыдущее значение Баланса клиента

Может быть использован только для события Недостаточно средств на балансе (Low balance).

number
account.balance.was = 100
account.cityНазвание города из адресной информации Клиентаstringaccount.city = "Minsk"
account.class_idID Правила обслуживания Клиентаintegeraccount.class_id = 1
account.class_keyКлюч Правила обслуживания Клиентаstringaccount.class_key = "manual"
account.country2-буквенный код страны (ISO) из адресной информации Клиента (например, BY для Республики Беларусь)stringaccount.country = "BY"
account.financial_blocking_threshold

numberaccount.financial_blocking_threshold = 100
account.has_endless_trial_subscriptions

Признак наличия у Клиента хотя бы одной активной коммерческой Подписки с бессрочным периодом


booleanaccount.has_endless_trial_subscriptions = true
account.has_managerПризнак наличия прикрепленного Сотрудника (Менеджера)booleanaccount.has_manager = true
account.regular_sending

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

  • Если account.regular_sending = true, отправка уведомлений осуществляется при выполнении биллинг процесса.
  • Если account.regular_sending = false, отправка уведомлений осуществляется в момент изменения Баланса.
  • Если параметр regular_sending не задан, отправка уведомлений осуществляется дважды: при выполнении биллинг процесса и в момент изменения Баланса.
booleanaccount.regular_sending = true
account.statusСтатус Клиентаstringaccount.status = "inactive"
account.status.was

Предыдущий статус Клиента

Может быть использован только для события Клиент изменен (Account changed).

stringaccount.status.was = "inactive"
account.subscription_credit_limitЧисловое значение кредитного лимита по подписке по модели Постоплатаnumberaccount.subscription_credit_limit = 100
account.type_idID Типа клиентов Клиентаintegeraccount.type_id = 1
account.type_keyКлюч Типа клиентов Клиентаstringaccount.type_key = "business"
account.owner_reset_password_url

Одноразовая ссылка для установки пароля Владельца Клиента

Может быть использован только для события Клиент создан (Account created).

stringaccount.owner_reset_password_url = "http://example.com/password/edit?reset_password_token=1q2w3e"

Закрытие Акта (Invoice closed)


Счет был подтвержден (The Invoice was approved)

invoice.statusCтатус Актаstringinvoice.status = "open"
invoice.has_attachedУказывает, был ли прикреплен к Платежу файл Счета на оплату, сформированный сторонней ERP-системой, при подтверждении Акта по модели Постоплата с внешним управлением (см. Управление Актами по модели Постоплата сторонней ERP-системой)booleaninvoice.has_attached = true
account.type.keyКлюч Типа клиентов Клиентаstringaccount.type_key = "business"

Ручная операция (Manual Operation)

operation.idID Ручной операцииintegeroperation.id = 1
operation.statusСтатус Ручной операции (см. Просмотр списка Ручных операций)string

operation.status = "approval_required"

operation.status = "declined"

operation.typeТип Ручной операции (см. Просмотр списка Ручных операций)string

operation.type = "postpay_subscription_verify"

operation.type = "manual_provisioning_plugin_application_install"

operation.type = "manual_provisioning_plugin_application_update"

product.idID Продукта Тарифного планаintegerproduct.id = 1
product.nameИмя Продукта Тарифного планаstringproduct.name = "ESET"
product_category.idID Продукта Тарифного планаintegerproduct_category.id = 1
plan.idID Тарифного планаintegerplan.id = 1
plan_category.keyКлюч Категории тарифных плановstringplan_category.key = "default"
subscription.idID Подпискиintegersubscription.id = 1
subscription.status.wasПредыдущий статус Подпискиstringsubscription.status.was="installing"
subscription.statusСтатус Подпискиstringsubscription.status.was="active"
account.type_keyКлюч Типа клиентовstringaccount.type_key = "personal"
account.class_keyКлюч Правила обслуживания Клиентаstringaccount.class_key = "default"

Приглашение пользователя (User invitation)

----

Платеж получен (Payment has been received)

account.type_keyКлюч Типа клиентовstringaccount.type_key = "business"
account.class_keyКлюч Правила обслуживания Клиентаstringaccount.class_key = "manual"
account.billing_day

Финансовый день — число месяца, в которое производится формирование Актов (см. Управление Актами) и изменение статуса Списаний (см. Просмотр Списаний) для Клиента (может иметь значение от 1 до 28, определяющее день месяца)

integeraccount.billing_day = 30
account.financial_blocking_threshold

numberaccount.financial_blocking_threshold = 100
account.balanceБаланс клиентаintegeraccount.balance = 1000
account.statusСтатус Клиентаstringaccount.status = "inactive"
account.countryНазвание страны из адресной информации Клиентаstringaccount.country = "Belarus"
account.cityНазвание города из адресной информации Клиентаstringaccount.city = "Minsk"
payment.totalОбщая сумма Платежа (Итого)integerpayment.total = 100
payment.statusСтатус Платежаstringpayment.status = "completed"

Запрос сброса пароля (Password reset request)

Подтверждение email (Verify email)

user.idID Пользователяintegeruser.id = 1

Запрос сброса пароля менеджера

Manager password reset request

manager.idID Сотрудникаintegermanager.id = 1

До окончания периода подписки
(Before subscription expiration)

После окончания периода подписки
(After subscription expiration)

Подписка переведена из пробного статуса в платный 
(After subscription switched from trial to non-trial)

Подписка изменена (Subscription changed)

account.type_key


Ключ Типа клиентаstringaccount.type_key = "business"
account.class_keyКлюч Правила обслуживания Клиентаstringaccount.class_key = "manual"
account.billing_day

Финансовый день — число месяца, в которое производится формирование Актов (см. Управление Актами) и изменение статуса cписаний (см. Просмотр Списаний) для Клиента (данный параметр может иметь значение от 1 до 31, определяющее день месяца)

integeraccount.billing_day = 30
account.financial_blocking_threshold

Денежный лимит, в пределах которого баланс клиента может быть отрицательным без перехода в статус Финансовая блокировка в течение Разрешенного периода отрицательного баланса

number
account.financial_blocking_threshold = 100
account.balanceБаланс клиентаintegeraccount.balance = 1000
account.statusСтатус Клиентаstringaccount.status = "inactive"
account.countryНазвание страны из адресной информации Клиентаstringaccount.country = "Belarus"
account.cityНазвание города из адресной информации Клиентаstringaccount.city = "Minsk"
plan.idID Тарифного планаintegerplan.id = 1
plan.statusСтатус Тарифного планаstringplan.status = "completed"
plan.auto_renewal_disabledВключена ли опция Блокировать опцию Автопродление в Тарифном планеbooleanplan.auto_renewal_disabled = false
plan_category.keyКлюч Категории тарифных плановstringplan_category.key = "streaming"
plan_period.duration_valueДлительность периода Подписки на Тарифный планintegerplan_period.duration_value = 30
plan_period.duration_typeЕдиницы измерения длительности периода Подписки на Тарифный план (год, месяц, день)stringplan_period.duration_type = "months"
plan_period.trial

Является ли период Тарифного плана пробным.

Значения true и false должны быть указаны в кавычках

string (boolean)plan_period.trial = "false"
plan_period.setup_feeСтоимость установки Подписки на период Тарифного планаinteger plan_period.setup_fee = 100
plan_period.recurring_feeАбонентская плата за Подписку на период Тарифного планаintegerplan_period.recurring_fee = 100
plan_period.renewal_feeСтоимость продления Подписки на период Тарифного планаintegerplan_period.renewal_fee = 100
subscription.idID Подпискиintegersubscription.id = 1
subscription.statusСтатус Подпискиstringsubscription.status = "active"
subscription.status.wasПредыдущий статус Подпискиstringsubscription.status.was="installing"
subscription.auto_renewalВключена ли опция Автопродление в Подпискеbooleansubscription.auto_renewal = true
subscription.auto_renewal_disabledВключена ли опция Блокировать опцию Автопродление в Подпискеbooleansubscription.auto_renewal_disabled = false
subscription.days_leftКоличество дней до даты истечения Подпискиintegersubscription.days_left = 7
subscription.days_passedКоличество дней, прошедших со дня создания Подпискиintegersubscription.days_passed = 15
subscription.plan_classНазвание Правила предоставления Тарифного планаstring
subscription.plan_class = "default"
subscription.trial.status

Является ли Подписка пробной

Плейсхолдер может быть применен при настройке События уведомлений для События "Подписка изменена" (“Subscription changed”). В этом случае при изменении периода Тарифного плана Подписок, подпадающих под правила События уведомлений, с пробного на полный (с trial на no-trial), должно направляться соответствующее Уведомление согласно настройкам События.

string

subscription.trial.status = "trial"

subscription.trial.status = "no-trial"

subscription.payment_model

Модель оплаты Подписки. Возможные значения prepay (Предоплата) или postpay (Постоплата).

Для События Подписка переведена из пробного статуса в платный (After subscription switched from trial to non-trial) может использоваться только subscription.payment_model = "prepay", так как само Событие доступно только для модели prepay (Предоплата).

stringsubscription.payment_model = "postpay"
product.idID Продукта Тарифного плана, на который оформлена Подписка (см. Изменение общей информации о Тарифном плане)integer product.id = 1
product.nameИмя Продукта Тарифного плана, на который оформлена Подписка (см. Изменение общей информации о Тарифном плане)integerproduct.name = "Default"

Заказ изменен (Order changed)


Заказ создан (Order created)


Повторная отправка заказа (Resend the order)

order.idID Заказаintegerorder.id = 1
order.plans_idsID заказанных Тарифных плановintegerorder.type = "SalesOrder" and (order.plans_ids include? 2000030)
order.statusСтатус Заказаstringorder.status = "waiting for payment"
order.status.wasПредыдущий статус Заказаstringorder.status.was = "provisioning"
order.totalОбщая стоимость Заказаinteger order.total = 100
order.typeТип Заказа (список типов см. в Управление Заказами)stringorder.type = "RenewalOrder"
order.renewal_point

Плейсхолдер устарел. В текущей версии платформы всегда order.renewal_point = true.

См. Плейсхолдер order.renewal_is_positive.

Установлено ли значение в поле Точка автоматического продления (в днях) на странице Подписки

booleanorder.renewal_point = true
order.renewal_is_positive

Установлено ли автоматическое продление Подписки до наступления дня ее истечения (см. Просмотр и обновление информации о Подписке):

  • true Заказ на продление формируется до наступления дня истечения Подписки (значение параметра Точка автоматического продления (в днях) больше 0).
  • falseЗаказ на продление формируется в день истечения Подписки (значение Точка автоматического продления (в днях) равно 0).
booleanorder.renewal_is_positive = true
product.idID Продукта Тарифного плана на который оформлена Подписка, включенная в Заказ (см. Просмотр информации о Заказе)integer product.id = 1
product.nameНазвание Продукта Тарифного плана на который оформлена Подписка, включенная в Заказ (см. Просмотр информации о Заказе)integerproduct.name = "Default"
subscription.payment_modelМодель оплаты Подписки. Возможные значения prepay (Предоплата) или postpay (Постоплата).stringsubscription.payment_model = "postpay"
plan_category.keyКлюч Категории тарифных плановstringplan_category.key = "streaming"

Повторная отправка заказа (Resend the order)

order.days_passedКоличество дней, прошедших со дня создания Заказаintegerorder.days_passed = 5

Обещанный платеж создан (Guaranteed payment created)


Обещанный платеж изменен (Guaranteed payment changed)


Обещанный платеж истекает (Guaranteed payment will expire)
account.type_idID Типа клиентовintegeraccount.type_id = 1
account.type_keyКлюч Типа клиентовstringaccount.type_key = "business"
account.class_idID Правила обслуживания Клиентаintegeraccount.class_id = 1
account.class_keyКлюч Правила обслуживания Клиентаstringaccount.class_key = "manual"
guaranteed_payment.status.was

Предыдущий статус Обещанного платежа

Может быть использован только для события Обещанный платеж изменен (Guaranteed payment changed).

stringguaranteed_payment.status.was = "provided"
guaranteed_payment.statusСтатус Обещанного платежаstringguaranteed_payment.status = "revoked"
guaranteed_payment.days_left

Количество дней до истечения Обещанного платежа

integerguaranteed_payment.days_left = 1
Финансовый день наступает (Billing day is coming)billing_dayДата Финансового дня, для которого было вызвано Событиеintegerbilling_day = 5
billing_day_left

Количество дней, которое осталось до Финансового дня, для которого было вызвано Событие

В Финансовый день, для которого было вызвано Событие, возвращает не 0, а количество дней до следующего Финансового дня

integerbilling_day_left = 7
billing_day_open_charges_amountСумма Cписаний в статусе Открыто, которые будут закрыты или заблокированы в Финансовый день, для которого было вызвано событие. Учитываются только Подписки, у которых Точка автоматического продления = 0. Если Списания в статусе Открыто не существуют, то производится расчет суммы на основе предварительной генерации Списаний на будущий Финансовый периодnumberbilling_day_open_charges_amount = 120.1
plan_idsМассив ID Тарифных планов активных Подписок Клиентаarray(int)plan_ids include? 200023
product_idsМассив ID Продуктов Тарифных планов, на которые оформлены активные Подписки Клиентаarray(int)product_ids include? 100022
product_namesМассив названий Продуктов Тарифных планов, на которые оформлены активные Подписки Клиентаarray(str)product_names include? "Default"
monthly_billingФлаг, указывающий на то, что у Клиента есть неудаленные Подписки с типом биллинга CSP месячныйMonthly CommitmentESET solutions for ISP (Monthly)G SuiteОплата в полном объеме и Без возврата, для которых актуален Финансовый день, для которого было вызвано событиеbooleanmonthly_billing = true
account.type_keyКлюч Типа Клиентаstringaccount.type_key = "personal"
account.class_keyКлюч Правила обслуживания Клиентаstringaccount.class_key = "default"
account.balanceДоступный Баланс Клиентаnumberaccount.balance = 58.5
account.financial_blocking_thresholdДенежный лимит, в пределах которого баланс клиента может быть отрицательным без перехода в статус Финансовая блокировка в течение Разрешенного периода отрицательного балансаnumberaccount.financial_blocking_threshold = 10000
subscription.expiration_dateДата истечения Подпискиdate ДД.ММ.ГГГГ01.01.2019
subscription.payment_modelМодель оплаты Подписки. Возможные значения prepay (Предоплата) или postpay (Постоплата)stringsubscription.payment_model = "postpay"

Срок оплаты платежа приближается (Payment due date is coming)

payment.days_left

Количество дней до истечения Периода отсрочки Платежа, за которое будет отправлено Уведомлениеinteger

payment.days_left = 5

Порог срабатывания финансовой блокировки изменен (Credit hold threshold was changed)

account.financial_blocking_threshold

Денежный лимит, в пределах которого баланс клиента может быть отрицательным без перехода в статус Финансовая блокировка в течение Разрешенного периода отрицательного баланса

numberaccount.financial_blocking_threshold = 100

Кредитный лимит для постоплатной подписки изменен (Credit limit for postpaid subscription was changed)

subscription_postpay.credit_limitВеличина задолженности по Подписке, при превышении которой только данная Подписка по модели Постоплата будет остановлена.number
subscription_postpay.credit_limit = 100
Приближение к кредитному лимиту постоплатной подписки (Credit limit for postpaid subscription is approaching)subscription_postpay.current_debtТекущая задолженность по Подписке, рассчитанная как сумма всех Списаний по данной Подписке за текущий Финансовый период в статусе Заблокированоnumber
subscription_postpay.current_debt = 100
subscription_postpay.credit_limitВеличина задолженности по Подписке, при превышении которой только данная Подписка по модели Постоплата будет остановлена.numbersubscription_postpay.credit_limit = 100

Финансовый день по подпискам менеджера наступил

(Billing day for manager's subscriptions has come)

(ранее — Финансовый день наступил (Billing day has come))

billing_dayДата Финансового дня, для которого вызывается Событиеintegerbilling_day = 5
subscriptions_plan_category_keysКлюч Категории тарифного плана, который используется для проверки, что у Менеджера есть хотя бы один Клиент с Подпиской на Тарифный план указанной Категорииarraysubscriptions_plan_category_keys include? "azure"
subscriptions_statusesМассив статусов Подписок, для проверки статусов Подписок Клиентов, для которых может срабатывать данное событие уведомленийarraysubscriptions_statuses include? "active"

Создан объединенный платеж (Joined payment created)


Повторная отправка объединенного платежа (Resend the joined payment) 

account.class_idID Правила обслуживания Клиентаintegeraccount.class_id = 1
account.class_keyКлюч Правила обслуживания Клиентаstringaccount.class_key = "default"
payment.days_passed

Количество дней, прошедших со дня создания объединенного Платежа

Может быть использован только для события Повторная отправка объединенного платежа (Resend the joined payment).

integerpayment.days_passed = 5
Финансовый день по подписке клиента наступил (Billing day for account's subscription has come)billing_day_passed

Количество дней после наступления Финансового дня, когда срабатывает Cобытие уведомлений для прошедшего Финансового периода

Параметр billing_day_passed обязателен:

  • Для настройки отложенного наступления События по Подпискам Microsoft Azure Plan (см. Microsoft Azure Plan. Operator Guide) — потому что для них Списания закрываются после наступления Финансового дня.
  • Для остальных Подписок — если не требуется откладывать наступления События, указывается billing_day_passed = 0.
integerbilling_day_passed = 5
plan_category_key

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

stringplan_category_key = "azure"
subscription_statusСтатус Подписки, для которого может срабатывать Событие уведомленийstringsubscription_status = "active'
account_class_keyПравило обслуживания Клиента, для которого может срабатывать Событие уведомленийstringaccount_class_key = "default"
Корректировка баланса подтверждена (Correction approved)correction.approved_manager_idsСписок ID Сотрудников, подтвердивших Корректировку, для которых может срабатывать Событие уведомленийintegercorrection.approved_manager_ids include? 221