Email Templates
|
New to Sentinel EMS?
|
What are Email Templates?
An email template is a file that provides a predefined format and default content for the emails that are used to notify Sentinel EMS users. Email templates also use placeholders that dynamically fetch value using REST API calls. The REST API calls retrieve JSON data objects whose parameters are then used as placeholders in the email templates. Some placeholders are created using static data references. The following table displays the email templates available in Sentinel EMS along with their REST API calls:
| Template | Display Name | Description |
API Calls for Templates (JSON data objects and API calls to retrieve the data objects) |
|---|---|---|---|
| Entitlementcertificate.emst | New Entitlement - Notify Contact |
Email template that includes details of an entitlement certificate. Used for notifying a contact that an entitlement was generated. NOTE For leased-based and connected licenses, to modify the license certificate title, it is recommended that you edit the title of the template by using the following code: |
>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) |
| Entitlementexpiringemail.emst | Entitlements - Expiring Soon | Email template for notifying a user about entitlements that are about to expire. Specifies the number of days remaining. |
>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) > data.contact: Get Contact Response (/ems/api/v5/contacts/contactId) |
| Entitlementexpiredemail.emst | Entitlements - Expired | Email template for notifying a user about entitlements that have recently expired. Lists the relevant entitlements. |
>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) > data.contact: Get Contact Response (/ems/api/v5/contacts/contactId) |
| Entitlementnotactivatedemail.emst | Entitlements - Never Activated | Email template for notifying a user about entitlements that have never been activated. |
>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) > data.contact: Get Contact Response (/ems/api/v5/contacts/contactId) |
| Licensecertificate.emst | License Certificate | Email template that includes details of a license certificate. Used for notifying a contact that a license was generated. |
>data.activation: Get Activation Response (/ems/api/v5/activations/activationId) The following are the static references used: >data.activation.licenseKeyData >data.activation.suite > data.activation.product |
|
|
License Certificate for Device | Email template that includes details of a license certificate for use on a specific device. Used for notifying a contact that a license was generated. |
>data.activation: Get Activation Response (/ems/api/v5/activations/activationId) The following are the static references used: >data.activation.licenseKeyData >data.activation.suite > data.activation.product |
|
|
Sentinel Fit License Certificate | Email template that includes details of a license certificate. Used for notifying a contact that a license was generated using Sentinel Fit enforcement. |
>data.activation: Get Activation Response (/ems/api/v5/activations/activationId) The following are the static references used: >data.activation.licenseKeyData >data.activation.suite > data.activation.product |
| LicenseCertificateReprint.emst | Reprint License Certificate | Email template that includes details of license certificates for reprinting multiple activations. Used for notifying all contacts specified for reprint. |
>data.activations: Search Activations Response (/ems/api/v5/activations) |
|
|
Forgot Certificate Password | Email template that contains information required to log in if password is forgotten. The notification is sent to the user whose email is specified as part of the credentials. |
>Static fields (data.name, data.password) |
| Batchentitlementcertificateemail.emst | Batch Entitlement Certificate | Email template that includes details of the entitlement certificate for a batch entitlement. Used for notifying a channel partner that a batch entitlement certificate was generated. |
>data.entitlements: Search Entitlements Response(/ems/api/v5/entitlements) |
| Batchdetailssuccess.emst | Batch Creation Success | Email template for notifying a user that a batch job was successfully created. |
>data.entitlements: Search Entitlements Response(/ems/api/v5/entitlements) |
| Batchdetailsfailure.emst | Batch Creation Failure | Email template for notifying a user that a batch job could not be created. |
>data.entitlements: Search Entitlements Response(/ems/api/v5/entitlements) |
|
|
Revocation Request | Email template for notifying contacts about revocation requests. |
>data.activation: Get Activation Response (/ems/api/v5/activations/activationId) >data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) |
|
|
Revocation Proof Received | Email template used by a software vendor to confirm the receipt of proof of revocation. |
>data.activation: Get Activation Response (/ems/api/v5/activations/activationId) >data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) |
|
|
Revocation Request Rejected | Email template for notifying contacts about the rejected revocation requests. |
>data.activation: Get Activation Response (/ems/api/v5/activations/activationId) >data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) |
| Revocationrecreditisvconfirmation.emst | Revocation Recredited - Confirmation for Vendor | Email template for notifying a software vendor that the entitlement quantity was recredited after a successful revocation. |
>data.activation: Get Activation Response (/ems/api/v5/activations/activationId) >data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) |
| Markrevocationmanually.emst | Manual Revocation Confirmation | Email template for notifying a contact about a successful manual revocation. |
>data.activation: Get Activation Response (/ems/api/v5/activations/activationId) >data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) |
| Productupgradeemail.emst | Product Upgrade | Email template for notifying users about a product upgrade. Sent after a product upgrade. |
>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId) >data.contact: Get Contact Response (/ems/api/v5/contacts/contactId) |
| Fileloademail.emst | File Upload | Email template for notifying a user that a file was uploaded for an entity, along with information about the data imported. |
The following are the static references used: >data.userName >data.uploadDate >data.fileType >data.fileStatus > data.fileName > data.totalRecords > data.recordsProcessed |
| Contactcertificate.emst | Contact Creation Confirmation | Email template for notifying a user that a contact was created successfully. |
>data.contact: Get Contact Response (/ems/api/v5/contacts/contactId) |
| Resetpasswordemail.emst | Password Reset | Email template for notifying user to reset the password. |
>data.password (static reference) |
|
|
Cloud-based Entitlement Notification | Email template that includes details of a license certificate. Used for notifying a contact that a cloud-based entitlement was created. | Not in use |
Actions for Email Templates
The following table lists the actions available for email templates:
| Action | Description | ||
|---|---|---|---|
|
Creates a new email template. To create an email template. 1.Click the New action to open the Add Email Template page. 2.Select the Template Language from the list of languages specified. 3.In the Configure Email Template Language Attributes section, use the available tools to modify the template. See Editing Email Templates for details of these tools. 4.Click Save.
|
||
|
Updates existing email template. See Editing Email Templates to understand how to edit an email template. See also Adding Dynamic Content to Email Templates to understand how to add dynamic content to email templates. |
||
|
Downloads the email template. |
Editing Email Templates
The Edit action opens an email template in the email template editor. You can use the tools available in the editor to modify and format the email template as required. The following table describes the email template editor tools:
| Tools | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Erases the last change done to revert the email template to its previous state. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Restores the actions that have been previously undone using the Undo action. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Various formatting styles defined by your theme. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Bolds the selected text. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Italicizes the selected text. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Underlines the selected text. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Specifies or changes the font color. Click the arrow next to this tool and select a font color. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Specifies or changes the background color. Click the arrow next to this tool and select a background color. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Aligns the text to the left side of the page or the containing element. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Aligns the text to the center of the page or the containing element. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Aligns the text to the right side of the page or the containing element. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Alignment can only be applied to text and will align both sides of the text. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Creates bullet points or bullet lists. Click the arrow next to this tool and specify the type of bullet. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Creates numbered points or numbered lists. Click the arrow next to this tool and select the numbering style. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Decreases the indentation space of the text or cursor from the margin on the left side of the page. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Increases the indentation space of the text or cursor from the margin on the left side of the page. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Inserts or modifies a hyperlink. To insert a hyperlink: 1.Click Insert / Edit Link to open the Insert / Edit Link dialog box. 2.Enter the URL, Text to Display, and Title. 3.Select Current Window or New Window to specify the window to open the target. 4.Click Save. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Inserts or modifies an image To insert an image: 1.Click Insert / Edit Image to open the Insert / Edit Image dialog box. 2.Enter the Source, Image Description, Width, and Height of the image. 3.Click Save. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Inserts a table. Also contains the tools that help to work with cells, rows, and columns in a table. The options in the table menu can also be accessed by right-clicking a selected table. Details of the tools to work with a table are given below:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Displays the HTML source code for the email template in the Source Code window. You can use this window to modify or format the email template using HTML elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Uploads an existing email template. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Saves the changes made to the uploaded email template. |
Adding Dynamic Content to Email Templates
The Sentinel EMS email templates are a combination of both static and dynamic data. The dynamic data is the information that changes and can be customized as required. You can use the JSON response of the Sentinel EMS REST APIs and basic knowledge of FreeMarker syntax to build dynamic content in the email templates. Examples of dynamic data are place holders, which are similar to variables that are part of your email template. You can also use conditional statements and list constructs to build your dynamic text.
Adding a Placeholder
Placeholders are variables that are part of your email templates. A placeholder is enclosed in curly brackets and preceded by the $ symbol. For example:
${name}
Within the curly brackets, you can enclose the placeholder name in parentheses followed by an ! symbol. This ensures that a null pointer exception is not thrown if the value for the placeholder variable is not found.
${(name)!}
The JSON response of the Sentinel EMS REST APIs is stored in the data object. With the knowledge of Sentinel EMS Rest API JSON response structures, the data object can be referenced to create place holders in the email template. For example:
${(data.entitlement.eid)!}
In the example above the placeholder will display the value of the entitlement ID in an entitlement.
All Sentinel EMS configuration related information is available in the config object. The config object can be referenced to create place holders in the email template. For example:
${(config.supportEmailId)!}
In the example above the placeholder will display the technical support email from the Administration Console. For more information on the config object, see Config Object Attributes.
You can also evaluate the value of a custom attribute by name. For example:
${(attributeValue("ATTRIBUTE_NAME", data.entitlement.customAttributes.customAttribute))!}
In the example above the placeholder will display the custom attribute name of entitlement using the JSON response stored in data object.
An example of inserting product custom attribute is given below:
${(customAttributeValue("cust_name", productKey.item.itemProduct.product.customAttributes.customAttribute))!}
You can also use the following logic to check for custom attributes that do not exist:
<#if (productKey.item.itemProduct.product.customAttributes.customAttribute)?has_content
&& (productKey.item.itemProduct.product.customAttributes.customAttribute)??> ${(customAttributeValue("NewCust",
productKey.item.itemProduct.product.customAttributes.customAttribute))!} </#if>
In the example above the placeholder "NewCust" is the custom attribute name of a product which is verified. You can verify the name of any custom attribute entity such as, entitlement , product, or product key.
Adding Conditional Constructs
The if else conditional constructs can be used to specify conditions for Sentinel EMS. Following is the syntax, that is used to specify the if conditions:
<#if condition> ... <#else> ... </#if>
You can also use the elseif construct with the if condition. The syntax for using elseif within the if condition is:
<#if condition> ... <#elseif> ... <#elseif> ... </#if>
The elseif and the else constructs are optional.
In the following example of conditions in Sentinel EMS email templates, the if condition is used to display the text "No Expiration Date" if the entitlement end date is set as "Never Expires". The else construct displays the entitlement expiration date if the condition specified is false.
<#if (data.entitlement.expiry.neverExpires)!false>
No Expiration Date
<#else>
${(data.entitlement.expiry.endDate)!}
</#if>
Working with Lists
You can also list a sequence in email templates. The following syntax is used for listing a sequence:
<#list Sequence as Item>
Part repeated for each Item
</#list>
The terms used in the syntax above are explained below:
>Sequence: Sequence or collection of the items that you want to iterate through
>Item: Name of the loop variable (not an expression)
In the following example data.entitlement.productKeys.productKey is the sequence, where the list condition is used to display all product names and versions in an entitlement.
<#list (data.entitlement.productKeys.productKey)! as productKey>
${(productKey.item.itemProduct.product .nameVersion.name)!}
${(productKey.item.itemProduct.product .nameVersion.version)!}
</#list>
Config Object Attributes
The attributes of the config object used in email templates are explained below:
|
Template Name |
ConfigMap |
Usage |
|---|---|---|
|
MarkRevocationManually.emst |
config.rid |
Unique identifier for revocation. |
|
|
config.supportContactNo |
Telephone number of technical support, retrieved from the Administration Console. |
|
|
config.supportEmailId |
Email of the technical support, retrieved from the Administration Console. |
|
config.supportTeamName |
Name of the technical support team, retrieved from the Administration Console. |
|
|
config.revocationStatus |
Revocation status of pending or complete messages. |
|
|
config.revocationDate |
Date of revocation. |
|
|
RevocationRecreditISVConfirmation.emst |
config.contactEmailId |
Email of the activatee. An activatee is the contact, who performs the activation. |
|
|
config.rid |
Unique identifier for revocation. |
|
config.supportContactNo |
Telephone number of technical support, retrieved from the Administration Console. |
|
|
config.supportEmailId |
Email of the technical support, retrieved from the Administration Console. |
|
|
config.supportTeamName |
Name of the technical support team, retrieved from the Administration Console. |
|
|
config.revocationStatus |
Revocation status of pending or complete messages. |
|
|
config.revocationDate |
Date of revocation. |
|
|
EntitlementCertificate.emst
|
config.isVersionLess |
Whether the entitlement is for a versionless product. |
|
config.isConnected |
Whether the entitlement includes products based on the Connected License Model. |
|
|
config.isLease |
Whether the entitlement includes products based on the Flexible License Model. |
|
|
config.deploymentStatus |
The deployment status of the entitlement: >Deployed: Entitlement has been activated. >Deployment Pending: Activation of the entitlement is pending. |
|
|
config.contactName |
Name of the contact, channel partner, or customer (in the order of preference specified here). |
|
|
config.emailURL |
The URL of the customer portal specified in the Administration Console. |
|
|
config.supportContactNo |
Telephone number of technical support, retrieved from the Administration Console. |
|
|
config.supportEmailId |
Email of the technical support, retrieved from the Administration Console. |
|
|
config.supportTeamName |
Name of the technical support team, retrieved from the Administration Console. |
|
|
config.downloadShow |
The value of a property in the Administration Console that specifies whether downloads are visible or hidden in the Sentinel EMS portal. |
|
|
config.isMail |
Identifier for an email which determines whether a salutation would be added or not. |
|
|
FileLoadEmail.emst
|
config.supportContactNo |
Telephone number of technical support, retrieved from the Administration Console. |
|
config.supportEmailId |
Email of the technical support, retrieved from the Administration Console. |
|
|
config.supportTeamName |
Name of the technical support team, retrieved from the Administration Console. |
|
|
|
config.contactEmail |
Email of the contact. |
|
DeviceLicenseCertificate.emst |
config.contactName |
Name of the contact or customer. |
|
LicenseCertificate.emst
|
config.supportContactNo |
Telephone number of technical support, retrieved from the Administration Console. |
|
config.supportEmailId |
Email of the technical support, retrieved from the Administration Console. |
|
|
config.supportTeamName |
Name of the technical support team, retrieved from the Administration Console. |
|
|
config.downloadShow |
The value of a property in the Administration Console that specifies whether downloads are visible or hidden in the Sentinel EMS portal. |
|
|
config.deviceName |
Device name, which is a friendly representation of the locking information of a device. |
|
|
ContactCertificate.emst
|
config.customerName |
Customer name for a contact. |
|
config.emailURL |
The URL of the customer portal specified in the Administration Console. |
|
|
config.supportContactNo |
Telephone number of technical support, retrieved from the Administration Console. |
|
|
config.supportEmailId |
Email of the technical support, retrieved from the Administration Console. |
|
|
config.supportTeamName |
Name of the technical support team, retrieved from the Administration Console. |
|
|
BatchDetailsSuccess.emst
|
config.batchId |
Identifier of the batch job. |
|
config.entitlementCount |
Total number of entitlements in the batch. |
|
|
BatchEntitlementCertificateEmail.emst |
config.supportContactNo |
Telephone number of technical support, retrieved from the Administration Console. |
|
config.supportEmailId |
Email of the technical support, retrieved from the Administration Console. |
|
|
config.supportTeamName |
Name of the technical support team, retrieved from the Administration Console. |
|
|
config.batchId |
Identifier of the batch job. |
|
|
config.entitlementCount |
Total number of entitlements in the batch. |
