Плейсхолдеры для описания Правила обработки события
Для каждого существующего в системе События уведомления существует набор Плейсхолдеров, который позволяет извлекать определенную информацию из базы данных и автоматически вставлять извлеченные данные в заранее определенное место. Тем самым Плейсхолдер обеспечивает автоматическое заполнение форм и сообщений.
В таблице ниже приведен список Событий и соответствующих им Плейсхолдеров, которые могут быть использованы для описания Правила обработки данного события.
При описании Правила обработки события возможны следующие операции с Плейсхолдерами:
>
<
>=
<=
=
!=
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 | Статус владельца Клиента | string | owner.status = "active" |
owner.country | 2-буквенный код страны (ISO), к которой принадлежит владелец Клиента (например, BY для Республики Беларусь) | string | owner.country = "BY" | |
owner.city | Название города, к которой принадлежит владелец Клиента | string | owner.city = "Minsk" | |
current_date | Текущая дата | date | current_date | |
Клиент изменен (Account changed) Недостаточно средств на балансе (Low balance) Создание сервера (Create instance) Сброс пароля сервера (Reset instance password) | account.type_id | ID Типа клиентов | integer | account.type_id = 1 |
account.type_key | Ключ Типа клиентов | string | account.type_key = "business" | |
account.class_id | ID Правила обслуживания Клиента | integer | account.class_id = 1 | |
account.class_key | Ключ Правила обслуживания Клиента | string | account.class_key = "manual" | |
account.billing_day | Финансовый день, установленный в Правиле предоставления Тарифного плана, на который подписан Клиент; порядковый номер дня в месяце | integer | account.billing_day = 30 | |
account.financial_blocking_threshold | integer | account.financial_blocking_threshold = 100 | ||
account.balance | Баланс клиента | integer | account.balance = 1000 | |
account.balance.was | Предыдущее значение Баланса клиента. Может быть использовано только для события Недостаточно средств на балансе (Low balance). | integer | account.balance.was = 100 | |
account.status | Статус Клиента | string | account.status = "inactive" | |
account.status.was | Предыдущий статус Клиента | string | account.status.was = "inactive" | |
account.country | 2-буквенный код страны (ISO), к которой принадлежит Клиент (например, BY для Республики Беларусь) | string | account.country = "BY" | |
account.city | Название города, к которой принадлежит Клиент | string | account.city = "Minsk" | |
Клиент создан (Account created) | owner.email | Email Владельца Клиента | string | owner.email = "test@example.com" |
account.id | ID Клиента | integer | account.id = 1 | |
account.name | Полное имя Клиента (название юридического лица) | string | account.name = "Adam Smith" | |
account.owner_reset_password_url | Одноразовая ссылка для установки пароля Владельца Клиента | string | account.owner_reset_password_url = "http://example.com/password/edit?reset_password_token=1q2w3e" | |
Недостаточно средств на балансе (Low balance) | account.regular_sending | Плейсхолдер используется для задания условий отправки уведомлений о низком Балансе.
| boolean | account.regular_sending = true |
account.has_endless_trial_subscriptions | Параметр используется для установки типа Подписок для которых необходимо отправлять СМС-уведомления (пробная Подписка/ коммерческая Подписка) Если "account.has_endless_trial_subscriptions = true" СМС-уведомление о низком Балансе отправляется только при наличии хотя бы одной активной коммерческой Подписки, работающей по потребленным ресурсам (IaaS). | boolean | account.has_endless_trial_subscriptions = true | |
Закрытие Акта (Invoice closed) | invoice.status | Cтатус Акта | string | invoice.status = "open" |
Ручная операция (Manual Operation) | operation.id | ID Ручной операции | integer | operation.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.id | ID Продукта Тарифного плана | integer | product.id = 1 | |
product.name | Имя Продукта Тарифного плана | string | product.name = "ESET" | |
product_category.id | ID Продукта Тарифного плана | integer | product_category.id = 1 | |
plan.id | ID Тарифного плана | integer | plan.id = 1 | |
plan_category.key | Ключ Категории тарифных планов | string | plan_category.key = "default" | |
subscription.id | ID Подписки | integer | subscription.id = 1 | |
subscription.status.was | Предыдущий статус Подписки | string | subscription.status.was="installing" | |
subscription.status | Статус Подписки | string | subscription.status.was="active" | |
account.type_key | Ключ Типа клиентов | string | account.type_key = "personal" | |
account.class_key | Ключ Правила обслуживания Клиента | string | account.class_key = "default" | |
Приглашение пользователя (User invitation) | - | - | - | - |
Платеж получен (Payment has been received) | account.type_key | Ключ Типа клиентов | string | account.type_key = "business" |
account.class_key | Ключ Правила обслуживания Клиента | string | account.class_key = "manual" | |
account.billing_day | Финансовый день — число месяца, в которое производится формирование Актов (см. Управление Актами) и изменение статуса Списаний (см. Просмотр Списаний) для Клиента (данный параметр может иметь значение от 1 до 31, определяющее день месяца) | integer | account.billing_day = 30 | |
account.financial_blocking_threshold | integer | account.financial_blocking_threshold = 100 | ||
account.balance | Баланс клиента | integer | account.balance = 1000 | |
account.status | Статус Клиента | string | account.status = "inactive" | |
account.country | Название страны, к которой принадлежит Клиент | string | account.country = "Belarus" | |
account.city | Название города, к которой принадлежит Клиент | string | account.city = "Minsk" | |
payment.total | Общая сумма Платежа (Итого), | integer | payment.total = 100 | |
payment.status | Статус Платежа | string | payment.status = "completed" | |
Запрос сброса пароля (Password reset request) Подтверждение email (Verify email) | user.id | ID Пользователя | integer | user.id = 1 |
Запрос сброса пароля менеджера Manager password reset request | manager.id | ID Сотрудника | integer | manager.id = 1 |
До окончания периода подписки После окончания периода подписки Подписка переведена из пробного статуса в платный Подписка изменена (Subscription changed) | account.type_key | Ключ Типа клиента | string | account.type_key = "business" |
account.class_key | Ключ Правила обслуживания Клиента | string | account.class_key = "manual" | |
account.billing_day | Финансовый день — число месяца, в которое производится формирование Актов (см. Управление Актами) и изменение статуса cписаний (см. Просмотр Списаний) для Клиента (данный параметр может иметь значение от 1 до 31, определяющее день месяца) | integer | account.billing_day = 30 | |
account.financial_blocking_threshold | Денежный лимит, в пределах которого баланс клиента может быть отрицательным без перехода в статус Финансовая блокировка в течение Разрешенного периода отрицательного баланса | integer | account.financial_blocking_threshold = 100 | |
account.balance | Баланс клиента | integer | account.balance = 1000 | |
account.status | Статус Клиента | string | account.status = "inactive" | |
account.country | Название страны, к которой принадлежит Клиент | string | account.country = "Belarus" | |
account.city | Название города, к которой принадлежит Клиент | string | account.city = "Minsk" | |
plan.id | ID Тарифного плана | integer | plan.id = 1 | |
plan.status | Статус Тарифного плана | string | plan.status = "completed" | |
plan.auto_renewal_disabled | Включена ли опция Блокировать опцию Автопродление в Тарифном плане | boolean | plan.auto_renewal_disabled = false | |
plan_category.key | Ключ Категории тарифных планов | string | plan_category.key = "streaming" | |
plan_period.duration_value | Длительность периода Подписки на Тарифный план | integer | plan_period.duration_value = 30 | |
plan_period.duration_type | Единицы измерения длительности периода Подписки на Тарифный план (год, месяц, день) | string | plan_period.duration_type = "months" | |
plan_period.trial | Является ли период Тарифного плана пробным. Значения | string (boolean) | plan_period.trial = "false" | |
plan_period.setup_fee | Стоимость установки Подписки на период Тарифного плана | integer | plan_period.setup_fee = 100 | |
plan_period.recurring_fee | Абонентская плата за Подписку на период Тарифного плана | integer | plan_period.recurring_fee = 100 | |
plan_period.renewal_fee | Стоимость продления Подписки на период Тарифного плана | integer | plan_period.renewal_fee = 100 | |
subscription.id | ID Подписки | integer | subscription.id = 1 | |
subscription.status | Статус Подписки | string | subscription.status = "active" | |
subscription.status.was | Предыдущий статус Подписки | string | subscription.status.was="installing" | |
subscription.auto_renewal | Включена ли опция Автопродление в Подписке | boolean | subscription.auto_renewal = true | |
subscription.auto_renewal_disabled | Включена ли опция Блокировать опцию Автопродление в Подписке | boolean | subscription.auto_renewal_disabled = false | |
subscription.days_left | Количество дней до даты истечения Подписки | integer | subscription.days_left = 7 | |
subscription.days_passed | Количество дней, прошедших со дня создания Подписки | integer | subscription.days_passed = 15 | |
subscription.plan_class | ID Правила предоставления Тарифного плана | integer | subscription.plan_class = 1 | |
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) может использоваться только | string | subscription.payment_model = "postpay" | |
product.id | ID Продукта Тарифного плана, на который оформлена Подписка (см. Изменение общей информации о Тарифном плане) | integer | product.id = 1 | |
product.name | Имя Продукта Тарифного плана, на который оформлена Подписка (см. Изменение общей информации о Тарифном плане) | integer | product.name = "Default" | |
Заказ изменен (Order changed) Заказ создан (Order created) Повторная отправка заказа (Resend the order) | order.id | ID Заказа | integer | order.id = 1 |
order.plans_ids | ID заказанных Тарифных планов | integer | order.type = "SalesOrder" and (order.plans_ids include? 2000030) | |
order.status | Статус Заказа | string | order.status = "waiting for payment" | |
order.status.was | Предыдущий статус Заказа | string | order.status.was = "provisioning" | |
order.total | Общая стоимость Заказа | integer | order.total = 100 | |
order.type | Тип Заказа (список типов см. в Управление Заказами) | string | order.type = "RenewalOrder" | |
order.renewal_point | Плейсхолдер устарел. В текущей версии платформы всегда См. Плейсхолдер order.renewal_is_positive. Установлено ли значение в поле Точка автоматического продления (в днях) на странице Подписки | boolean | order.renewal_point = true | |
order.renewal_is_positive | Установлено ли автоматическое продление Подписки до наступления дня ее истечения (см. Просмотр и обновление информации о Подписке):
| boolean | order.renewal_is_positive = true | |
product.id | ID Продукта Тарифного плана на который оформлена Подписка, включенная в Заказ (см. Просмотр информации о Заказе) | integer | product.id = 1 | |
product.name | Название Продукта Тарифного плана на который оформлена Подписка, включенная в Заказ (см. Просмотр информации о Заказе) | integer | product.name = "Default" | |
subscription.payment_model | Модель оплаты Подписки. Возможные значения prepay (Предоплата) или postpay (Постоплата). | string | subscription.payment_model = "postpay" | |
plan_category.key | Ключ Категории тарифных планов | string | plan_category.key = "streaming" | |
Повторная отправка заказа (Resend the order) | order.days_passed | Количество дней, прошедших со дня создания Заказа | integer | order.days_passed = 5 |
Обещанный платеж создан (Guaranteed payment created) Обещанный платеж изменен (Guaranteed payment changed) | account.type_id | ID Типа клиентов | integer | account.type_id = 1 |
account.type_key | Ключ Типа клиентов | string | account.type_key = "business" | |
account.class_id | ID Правила обслуживания Клиента | integer | account.class_id = 1 | |
account.class_key | Ключ Правила обслуживания Клиента | string | account.class_key = "manual" | |
guaranteed_payment.status.was | Предыдущий статус Обещанного платежа | string | guaranteed_payment.status.was = "provided" | |
guaranteed_payment.status | Статус Обещанного платежа | string | guaranteed_payment.status = "revoked" | |
Обещанный платеж истекает (Guaranteed payment will expire) | guaranteed_payment.days_left | Количество дней до истечения Обещанного платежа | integer | guaranteed_payment.days_left = 1 |
Финансовый день наступает (Billing day is coming) | billing_day | Дата Финансового дня, для которого было вызвано Событие | integer | billing_day = 5 |
billing_day_left | Количество дней, которое осталось до Финансового дня, для которого было вызвано Событие В Финансовый день, для которого было вызвано Событие, возвращает не 0, а количество дней до следующего Финансового дня | integer | billing_day_left = 7 | |
billing_day_open_charges_amount | Сумма Cписаний в статусе Открыто, которые будут закрыты или заблокированы в Финансовый день, для которого было вызвано событие. Учитываются только Подписки, у которых Точка автоматического продления = 0. Если Списания в статусе Открыто не существуют, то производится расчет суммы на основе предварительной генерации Списаний на будущий Финансовый период | number | billing_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, для которых актуален Финансовый день, для которого было вызвано событие | boolean | monthly_billing = true | |
account.type_key | Ключ Типа Клиента | string | account.type_key = "personal" | |
account.class_key | Ключ Правила обслуживания Клиента | string | account.class_key = "default" | |
account.balance | Доступный Баланс Клиента | number | account.balance = 58.5 | |
account.financial_blocking_threshold | Денежный лимит, в пределах которого баланс клиента может быть отрицательным без перехода в статус Финансовая блокировка в течение Разрешенного периода отрицательного баланса | number | account.financial_blocking_threshold = 10000 | |
subscription.expiration_date | Дата истечения Подписки | date ДД.ММ.ГГГГ | 01.01.2019 | |
subscription.payment_model | Модель оплаты Подписки. Возможные значения prepay (Предоплата) или postpay (Постоплата) | string | subscription.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 | Денежный лимит, в пределах которого баланс клиента может быть отрицательным без перехода в статус Финансовая блокировка в течение Разрешенного периода отрицательного баланса | integer | account.financial_blocking_threshold = 100 |
Приближается финансовая блокировка клиента (Account credit hold is coming) | account.financial_blocking_threshold | Денежный лимит, в пределах которого баланс клиента может быть отрицательным без перехода в статус Финансовая блокировка в течение Разрешенного периода отрицательного баланса | integer | account.financial_blocking_threshold = 100 |
account.balance | Баланс клиента | integer | account.balance = 1000 | |
Кредитный лимит для постоплатной подписки изменен (Credit limit for postpaid subscription was changed) | subscription_postpay.credit_limit | Величина задолженности по Подписке, при превышении которой только данная Подписка по модели Постоплата будет остановлена. | integer | subscription_postpay.credit_limit = 100 |
Приближение к кредитному лимиту постоплатной подписки (Credit limit for postpaid subscription is approaching) | subscription_postpay.current_debt | Текущая задолженность по Подписке, рассчитанная как сумма всех Списаний по данной Подписке за текущий Финансовый период в статусе Заблокировано | integer | subscription_postpay.current_debt = 100 |
subscription_postpay.credit_limit | Величина задолженности по Подписке, при превышении которой только данная Подписка по модели Постоплата будет остановлена. | integer | subscription_postpay.credit_limit = 100 | |
Финансовый день наступил (Billing day has come) | billing_day | Дата Финансового дня, для которого вызывается Событие | integer | billing_day = 5 |
subscriptions_plan_category_keys | Ключ Категории тарифного плана, который используется для проверки, что у Менеджера есть хотя бы один Клиент с Подпиской на Тарифный план указанной Категории | array | subscriptions_plan_category_keys include? "azure" | |
subscriptions_statuses | Массив статусов Подписок, для проверки статусов Подписок Клиентов, для которых может срабатывать данное событие уведомлений | array | subscriptions_statuses include? "active" | |
Счет был подтвержден (The Invoice was approved) | invoice.has_attached | Указывает, был ли прикреплен к Платежу файл Счета на оплату, сформированный сторонней ERP-системой, при подтверждении Акта по модели Постоплата с внешним управлением (см. Управление Актами по модели Постоплата сторонней ERP-системой) | boolean | invoice.has_attached = true |
Создан объединенный платеж (Joined payment created) Повторная отправка объединенного платежа (Resend the joined payment) | account.class_id | ID Правила обслуживания Клиента | integer | account.class_id = 1 |
account.class_key | Ключ Правила обслуживания Клиента | string | account.class_key = "default" | |
Повторная отправка объединенного платежа (Resend the joined payment) | payment.days_passed | Количество дней, прошедших со дня создания объединенного Платежа | integer | payment.days_passed = 5 |