Using Placeholders for Event Handlers

Placeholders can automatically replace specific information (such as customer address, order details, subscription status etc.). Each type of notification has its own set of placeholders that aren't available to other notification types.

Placeholders allow to extract information from the database and put into a notification message.

EventPlaceholderDescriptionTypeExample



For all events

owner.status

A status of the user with Owner access rights.stringowner.status = "active"

owner.country

An owner address: a two-letter ISO code ISO 3166-1 alpha-2 of the country.stringowner.country = "BY"

owner.city

An owner address: a city.stringowner.city = "Minsk"
current_dateA current date.datecurrent_date





Account changed

Low balance

Create instance

Reset instance password

account.type_idAn ID of the account type.integeraccount.type_id = 1
account.type_keyA key that is used to refer to the account.stringaccount.type_key = "business"
account.class_idAn ID of the account class (see Account Classes).integeraccount.class_id = 1
account.class_keyA key that is used to refer to the account class (see Account Classes).stringaccount.class_key = "manual"
account.billing_day

The billing day is set in the Plan Class (see Managing Plan Classes).

The billing day can be set from 1 to 31 that specifies the day of the month. If the month does not include the specified number, the Invoice will be created on the last day of that month.

integeraccount.billing_day = 30
account.credit_limit

A maximum amount of the credit that a customer can use for ordering services without topping up. The credit limit can be set manually or by default (see Account Classes).

integeraccount.credit_limit = 100
account.balanceA current value of the Account Balance (see Viewing the List of Charges).integeraccount.balance = 1000
account.balance.wasA previous value of the Account Balance (see Viewing the List of Charges).integeraccount.balance.was = 100
account.statusA current account status: active, inactive, deleted.stringaccount.status = "inactive"
account.status.wasA previous account status: active, inactive, deleted.stringaccount.status.was = "inactive"
account.countryAn account's address: a two-letter ISO code ISO 3166-1 alpha-2 of the country.stringaccount.country = "BY"
account.cityAn account address: a city.stringaccount.city = "Minsk"
Low balanceaccount.regular_sending

A threshold for notification sending about a low account balance:

  • If "account.regular_sending = true", then notification is sent only during billing process.
  • If "account.regular_sending = false", then notification is sent only when threshold passed.
  • Else, when regular_sending doesn't specify, notifications is sent in all cases: during billing processes as well as when threshold passed.

SMS notification about low account balance is sent only if Account has at least one not-trial IaaS subscription that is billed using Pay-as-you-go model.

boolean"account.regular_sending = true"

Invoice closed

invoice.statusAn invoice status.stringinvoice.status = "open"

Manual Operation

operation.idAn ID of manual operation (see Manual Operations).integeroperation.id = 1
operation.statusA status of the manual operation:
  • approval required - the operation requires an approval;
  • approved - the operation was approved;
  • declined - the operation was declined.
stringoperation.status = "approval_required"

User invitation

----






Payment has been received

account.type_keyA key that is used to refer to the account type (see Account Types).stringaccount.type_key = "business"
account.class_keyA key that is used to refer to the account class (see Account Classes).stringaccount.class_key = "manual"
account.billing_day

The billing day is set in the Plan Class (see Managing Plan Classes).

The billing day can be set from 1 to 31 that specifies the day of the month. If the month does not include the specified number, the Invoice will be created on the last day of that month.

integeraccount.billing_day = 30
account.credit_limit

integeraccount.credit_limit = 100
account.balanceA current value of the Account Balance (see Viewing the List of Charges).integeraccount.balance = 1000
account.balance.wasA previous value of the Account Balance (see Viewing the List of Charges).integeraccount.balance.was = 100
account.statusA current account status: active, inactive, deleted.stringaccount.status = "inactive"
account.status.wasA previous account status: active, inactive, deleted.stringaccount.status.was = "inactive"
account.countryAn account's address: a two-letter ISO code ISO 3166-1 alpha-2 of the countrystringaccount.country = "Belarus"
account.cityAn account address: a city.stringaccount.city = "Minsk"
payment.totalAn amount of the payment.integerpayment.total = 100
payment.status

One of the following statuses of the payment:

  • waiting for payment — payment has been added, but not approved;
  • completed — payment has been successfully processed (added and approved);
  • receipt creating - a receipt is being created by the manager manually;
  • receipt sent - receipt has been manually created by the manager;
  • cancelled — an order has been cancelled.
stringpayment.status = "completed"

Password reset request

Verify email

user.idA unique identification number of the user.integeruser.id = 1









 


Before subscription expiration

After subscription expiration

After subscription switched from trial to non-trial

Subscription changed

account.type_key

A key that is used to refer to the account type (see Account Types).

stringaccount.type_key = "business"
account.class_keyA key that is used to refer to the account class (see Account Classes).stringaccount.class_key = "manual"
account.billing_day

The billing day is set in the Plan Class (see Managing Plan Classes).

The billing day can be set from 1 to 31 that specifies the day of the month. If the month does not include the specified number, the Invoice will be created on the last day of that month.

integeraccount.billing_day = 30
account.credit_limit

A maximum amount of the credit that a customer can use for ordering services without topping up. The credit limit can be set manually or by default (see Account Classes).

integeraccount.credit_limit = 100
account.balanceA current value of the Account Balance (see Viewing the List of Charges).integeraccount.balance = 1000
account.balance.wasA previous value of the Account Balance (see Viewing the List of Charges).integeraccount.balance.was = 100
account.statusA current account status: active, inactive, deleted.stringaccount.status = "inactive"
account.status.wasA previous account status: active, inactive, deleted.stringaccount.status.was = "inactive"
account.countryAn account's address: a two-letter ISO code ISO 3166-1 alpha-2 of the country.stringaccount.country = "Belarus"
account.cityAn account address: a city.stringaccount.city = "Minsk"
plan.idA plan ID.integerplan.id = 1
plan.status

One of the following plan statuses:

  • active - a plan is available for customers;
  • inactive - a plan is not available for customers;
  • deactivated by provider - a plan is not available for customers because the plan was deactivated by the upline reseller (operator).
stringplan.status = "completed"
plan_category.key

A key that is used to refer to the plan category (see Managing Plan Categories).

stringplan_category.key = "streaming"
plan_period.duration_valueA duraton of the subscription for the plan.integerplan_period.duration_value = 30
plan_period.duration_typeA type of the duration (year, month, day).stringplan_period.duration_type = "months"
plan_period.trialPlan perioad is trial: yes or no.booleanplan_period.trial = "false"
plan_period.setup_fee

A price of the resource installation. It is used for one-time payment.

integerplan_period.setup_fee = 100
plan_period.recurring_feeA value of monthly fee for the resource. This type of fee is used if the customer has to pay for the resource each month to renew the subscription.integerplan_period.recurring_fee = 100
plan_period.renewal_feeA value of fee, which the subscriber has to pay to renew the resource.integerplan_period.renewal_fee = 100
subscription.idAn subscription ID .integersubscription.id = 1
subscription.status

A current subscription status:

  • Ordered — a customer has ordered a plan;
  • Installing — an ordered applications are installing;
  • Installation failed — an error occurred during the installation of the ordered application;
  • Activating — a subscription is activating;
  • Activating failed — an error occurred during the activation process;
  • Active — a subscription has been activated;
  • Updating — a subscription resource is updating;
  • Updating failed — an error occurred during the update process;
  • Renewing — the system is renewing the subscription;
  • Renewing failed — an error occurred during the renewal process;
  • Waiting for manual approve - a subscription should be approved by a manager;
  • Graced — the subscriber has not renewed the subscription, and after Grace period the system will stop the subscription;
  • Stopping — the system is stopping a subscription after Grace period;
  • Stopping failed — an error occurred during the stopping process;
  • Stopped — a subscription has been stopped;
  • Deleting — the system is deleting a subscription after Stop period;
  • Deletion failed — an error occurred during the deleting process;
  • Deleted — a subscription has been deleted.
stringsubscription.status = "active"
subscription.status.wasA previous subscription status.stringsubscription.status.was="installing"
subscription.auto_renewalIf the auto renewal option is active: true or false.booleansubscription.auto_renewal = "true"
subscription.days_leftA number of days before expiration day of the subscription.integersubscription.days_left = 7
subscription.days_passedA number of days after creation day of the subscription.integersubscription.days_passed = 15
subscription.plan_class

An plan class ID (see Managing Plan Classes).

integersubscription.plan_class = 1
subscription.trial.status

A placeholder (boolean) for tracking the status (trial / no-trial) of the plan period, which is used for the "Subscription is changed" event. You can add this placeholder to the event handler for the "Subscription is changed" event (for example, «subscription.trial = false»). In this case, if the plan period is changed from trial to no-trial, the notifications will be sent.


string

subscription.trial.status = "trial"

subscription.trial.status = "no-trial"


Order changed

Order created

order.idAn ID of the order.integerorder.id = 1
order.plans_idsID of ordered plans.integerorder.type = "SalesOrder" and (order.plans_ids include? 2000030)
order.status

A current status of the order:

  • Waiting for payment — an order has been placed by a customer, the payment is expected;
  • Provisioning — an order has been accepted, the service is provided;
  • Provisioning failed — an order has been accepted, but the service is not provided;
  • Completed — an order has been successfully processed;
  • Cancelled — an order has been cancelled by a customer.
stringorder.status = "waiting for payment"
order.status.wasA previous status of the order.stringorder.status.was = "provisioning"
order.totalA total amount of order.integerorder.total = 100
order.type

One of the following types of order:

  • SalesOrder - a customer has ordered services;
  • RenewalOrder  - a customer has renewed a subscription;
  • ChangeOrder - a customer has purchased or refused additional resources;
  • SwitchOrder  - a customer has switched from one Plan to another.
stringorder.type = "RenewalOrder"
order.renewal_point

If the value in the "Renew point (days)" field is set on the subscription's details page (see Viewing and updating Subscription's details): true or false.

booleanorder.renewal_point = "true"


Guaranteed payment created

Guaranteed payment changed

account.type_idAn ID of the account type (see Account Types).integeraccount.type_id = 1
account.type_keyA key that is used to refer to the account type (see Account Types).stringaccount.type_key = "business"
account.class_idAn ID of the account class (see Account Classes).integeraccount.class_id = 1
account.class_key

A key that is used to refer to the account class (see Account Classes).

stringaccount.class_key = "manual"
guaranteed_payment.status.wasA previous status of the guaranteed payment (see Managing Guaranteed Payments).stringguaranteed_payment.status.was = "provided"
guaranteed_payment.statusA current status of the guaranteed payment (see Managing Guaranteed Payments).stringguaranteed_payment.status = "revoked"