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

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

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

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

  • >

  • <

  • >=

  • <=

  • =

  • !=

  • 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
  • % (например, 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 changed)

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

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

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

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"
account.billing_day

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

порядковый номер дня в месяце

integeraccount.billing_day = 30
account.financial_blocking_threshold

integeraccount.financial_blocking_threshold = 100
account.balanceБаланс клиентаintegeraccount.balance = 1000
account.balance.was

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

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

integeraccount.balance.was = 100
account.statusСтатус Клиентаstringaccount.status = "inactive"
account.status.was

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

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

stringaccount.status.was = "inactive"
account.country2-буквенный код страны (ISO), к которой принадлежит Клиент (например, BY для Республики Беларусь)stringaccount.country = "BY"
account.cityНазвание города, к которой принадлежит Клиентstringaccount.city = "Minsk"

Клиент создан

(Account created)

owner.emailEmail Владельца Клиентаstringowner.email = "test@example.com"
account.idID Клиентаintegeraccount.id = 1
account.nameПолное имя Клиента (название юридического лица)stringaccount.name = "Adam Smith"
account.owner_reset_password_urlОдноразовая ссылка для установки пароля Владельца Клиентаstringaccount.owner_reset_password_url = "http://example.com/password/edit?reset_password_token=1q2w3e"
Недостаточно средств на балансе (Low balance)account.regular_sending

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

  • Если "account.regular_sending = true", отправка уведомлений осуществляется при выполнении биллинг процесса.
  • Если "account.regular_sending = false", отправка уведомлений осуществляется в момент изменения Баланса.
  • (info) Если параметр "regular_sending" не задан, отправка уведомлений осуществляется дважды: при выполнении биллинг процесса и в момент изменения Баланса.
booleanaccount.regular_sending = true
account.has_endless_trial_subscriptions

Параметр используется для установки типа Подписок для которых необходимо отправлять СМС-уведомления (пробная Подписка/ коммерческая Подписка)

Если "account.has_endless_trial_subscriptions = true" СМС-уведомление о низком Балансе отправляется только при наличии хотя бы одной активной коммерческой Подписки, работающей по потребленным ресурсам (IaaS).

booleanaccount.has_endless_trial_subscriptions = true

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

invoice.statusCтатус Актаstringinvoice.status = "open"

Ручная операция (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 до 31, определяющее день месяца)

integeraccount.billing_day = 30
account.financial_blocking_threshold

integeraccount.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

До окончания периода подписки
(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

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

integeraccount.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_classID Правила предоставления Тарифного планаintegersubscription.plan_class = 1
subscription.trial.status

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

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

string

subscription.trial.status = "trial"

subscription.trial.status = "no-trial"

subscription.renewal_amountСумма для пополнения Баланса клиента, необходимая для успешного автоматического продления Услугиnumbersubscription.renewal_amount = 123.4
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)

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"

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


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

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Предыдущий статус Обещанного платежаstringguaranteed_payment.status.was = "provided"
guaranteed_payment.statusСтатус Обещанного платежаstringguaranteed_payment.status = "revoked"
Обещанный платеж истекает (Guaranteed payment will expire)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 месячный, Оплата в полном объеме, 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

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

integeraccount.financial_blocking_threshold = 100
Приближается финансовая блокировка клиента (Account credit hold is coming)account.financial_blocking_threshold

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

integeraccount.financial_blocking_threshold = 100
account.balanceБаланс клиентаintegeraccount.balance = 1000

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

subscription_postpay.credit_limitВеличина задолженности по Подписке, при превышении которой только данная Подписка по модели Постоплата будет остановлена.integersubscription_postpay.credit_limit = 100
Приближение к кредитному лимиту постоплатной подписки (Credit limit for postpaid subscription is approaching)subscription_postpay.current_debtТекущая задолженность по Подписке, рассчитанная как сумма всех Списаний по данной Подписке за текущий Финансовый период в статусе Заблокированоintegersubscription_postpay.current_debt = 100
subscription_postpay.credit_limitВеличина задолженности по Подписке, при превышении которой только данная Подписка по модели Постоплата будет остановлена.integersubscription_postpay.credit_limit = 100
Финансовый день наступил (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"
Счет был подтвержден (The Invoice was approved)invoice.has_attachedУказывает, был ли прикреплен к Платежу файл Счета на оплату, сформированный сторонней ERP-системой, при подтверждении Акта по модели Постоплата с внешним управлением (см. Управление Актами по модели Постоплата сторонней ERP-системой)booleaninvoice.has_attached = true