This article presents all the methods you can use when coding messages in Dialog Insight using the language DI#.
**Note that this documentation is intended for partners.**
Config Namespace
Offers message configuration properties.
Note: Available in emails only.
Config Properties | ||
---|---|---|
Name | Type | Description |
isShowMessage | bool | Returns true in the web version of the email, else returns false. |
isWebArchive | bool | Returns true in a web archive, else returns false. |
Returns true in the web version of the email, else returns false.
[[if (Config.isShowMessage) {]] You are in the web version. // This text will be displayed in the web version of the email. [[}]]
Returns true in a web archive, else returns false.
[[if (Config.isWebArchive) {]] You are in the web archive. // This text will will be displayed in the web archive of the message. [[}]]
Converter Class
Converts a value to another format.
Converter Methods | ||
---|---|---|
Name | Parameters | Description |
istInt | object Value | Validates that the value is an integer. |
isDecimal | object Value | Validates that the value is a decimal. |
isDateTime | object Value | Validates that the value is a date & time. |
isDate | object Value | Validates that the value is a date. |
isBool | object Value | Validates that the value is a boolean. |
isDataSource | object Value | Validates that the value is a datasource. |
ToInt | object Value | Converts the value to a 32 bit integer. |
ToDecimal | object Value | Converts the value to a decimal number. |
ToDateTime | object Value | Converts an object to a date & time format. |
ToDate | object Value | Converts the value to a date format. |
ToBool | object Value | Converts the value to a boolean. |
Validates that the value is an integer.
Parameters | Type | Description |
Value | object | Object to validate. |
Converter.isInt("123"); // Returns true
Converter.isInt("abc"); // Returns false
Validates that the value is a decimal.
Parameters | Type | Description |
Value | object | Object to validate. |
Converter.isDecimal("1.23"); // Returns true
Converter.isDecimal("abc"); // Returns false
Validates that the value is a date & time.
Parameters | Type | Description |
Value | object | Object to validate. |
Converter.isDateTime("2018.05.02 09:00:00"); // Returns true
Converter.isDateTime("abc"); // Returns false
Validates that the value is a date.
Parameters | Type | Description |
Value | object | Object to validate. |
Converter.isDate("2018.05.02"); // Returns true
Converter.isDate("abc"); // Returns false
Validates that the value is a boolean.
Parameters | Type | Description |
Value | object | Object to validate. |
Converter.isBool(1); // Returns true
Converter.isBool("1"); // Returns false
Validates that the value is a datasource.
Parameters | Type | Description |
Value | object | Object to validate. |
Converter.isDatasource(1); // Returns true
Converts the value to a 32-bit integer.
Parameters | Type | Description |
Value | object | Object to convert. |
Note: An exception will be raised if the object passed cannot be converted to an integer.
Converter.ToInt("123"); // Returns : 123
Converter.ToInt("I have 10 apples"); // Will raise an exception
Converts the value to a decimal number.
Parameters | Type | Description |
Value | object | Object to convert. |
Note: An exception will be raised if the object passed cannot be converted to a decimal.
Converter.ToDecimal("1.2"); // Returns : 1.2
Converter.ToDecimal("pi = 3.1415"); // Will raise an exception
Converts an object to a date & time format.
Parameters | Type | Description |
Value | object | Object to convert. |
Note: An exception will be raised if the object passed cannot be converted to a date/time format.
Converter.ToDateTime("2016.01.01 12:30:45"); // Returns a DateTime object that contains 2016.01.01 12:30:45
Converter.ToDateTime("Hello"); // Will raise an exception
Converts the value to a date format.
Parameters | Type | Description |
Value | object | Object to convert. |
Note: An exception will be raised if the object passed cannot be converted to a date.
Converter.ToDate("2016.01.01"); // Returns a date containing 2016.01.01 00:00:00
Converter.ToDate("Hello"); // Will raise an exception
Converts the value to a boolean.
Parameters | Type | Description |
Value | object | Object to convert. |
Note: n exception will be raised if the object passed cannot be converted to a boolean.
Converter.ToBool(1); // Returns : True
Converter.ToBool(0); // Returns : False
Converter.ToBool("Hello"); // Will raise an exception
Mailing Namespace
Namespace containing properties on the email sending.
Note: Available in emails only.
Mailing Properties | ||
---|---|---|
Name | Type | Description |
isTest | Boolean | Returns true if if it a test sending, else returns false. |
dtMailing | datetime | Returns the date of the sending. |
Returns true if if it a test sending, else returns false.
[[if (Mailing.isTest) {]] This is a test sending. [[}]] // This content will only display in a test sending
Returns the date of the sending.
[[=Mailing.dtMailing;]] // Returns a full datetime of the moment of the sending
Message Namespace
Namespace containing properties, methods and classes usable in email.
Message Properties | ||
---|---|---|
Name | Type | Description |
MessageName | String | Returns the message name. |
idCategory | int | Returns the ID of the communication type linked to the message. |
idMessage | int | Returns the unique identifier of the message. |
Parameters | MessageParametersValues | Object containing the message parameters and their values. |
Returns the message name.
[[=Message.MessageName;]] // Displays the message name
Returns the ID of the communication type linked to the message.
[[=Message.idCategory;]] // Displays the communication type ID
Returns the unique identifier of the message.
[[=Message.idMessage;]] // Displays the ID of the message
Object containing the message parameters and their values.
[[=Message.Parameters.MyParameter;]] // Displays the value of "MyParameter"
Message Methods | ||
---|---|---|
Name | Parameters | Description |
TellAFriend() | "OriginalSender" string Value | Generated the URL to the "Tell a friend" form. |
OpLink() | int Value | Generates the URL to the specified operational link. |
ReadTag() | Generates the message read tag. | |
Optout() | string Value | Generates the URL to the unsubscription form. |
WebVersion() | int Value bool Value | Generates the link to the web version of the email. |
Generates the URL to the "Tell a friend" form.
Parameters | Type | Description |
OriginalSender | string | Must be passed as is, allows to pass the contact information to the form. |
Culture | string | The culture to be used by the form. |
<a href="[[=Message.TellAFriend("OriginalSender","fr-CA");]] " target="_blank">Send to a Friend</a> // Generates the link towards the english version of the form
Generates the URL to the specified operational link.
Parameters | Type | Description |
Identifiant | int | ID of the operational link. |
<a href="[[=Message.OpLink(1);]]">Lien opérationel</a> /* Generates the URL of the operational link with the unique identifier of "1" */
Generates the message read tag.
[[=Message.ReadTag();]] // Generates the message read tag
Generates the URL to the unsubscription form.
Parameters | Type | Description |
Culture | string | Form culture |
<a href="[[=Message.Optout("fr-CA");]]">Désabonnement</a> // Generates the URL to the english unsubscription form
Generates the link to the web version of the email.
Parameters | Type | Description |
Identifiant | int | Identifier of the message version. |
Full screen | bool | Defines if the web version should be displayed full screen, true or false. |
<a href="[[=Message.WebVersion(1,true);]]">Version web</a> // Generates the URL to the full screen web version
Category Namespace
This namespace contains the properties of the communication type linked to the message.
Category Properties | ||
---|---|---|
Name | Type | Description |
idImplicitRightFlags | Int32Collection | Returns a collection of the implicit consent identifiers linked to the communication type. |
idOptinFlags | Int32Collection | Returns a collection of the explicit consent identifiers linked to the communication type. |
idCategory | int | Returns the unique identifier of the communication type. |
Name | string | Returns the name of the communication type. |
IsAdministrative | bool | Denotes if the communication type is of administrative type by a true or false value. |
Returns a collection of the implicit consent identifiers linked to the communication type.
// If we assume that the communication type has two linked implicits Message.Category.idImplicitRightFlags // Returns the array [1,5] Message.Category.idImplicitRightFlags[0] // Returns 1 Message.Category.idImplicitRightFlags[1] // Returns 5
Returns a collection of the explicit consent identifiers linked to the communication type.
// If we assume that the communication type has two linked implicits Message.Category.idOptinFlags// Returns the array [2,3] Message.Category.idOptinFlags[0] // Returns 2 Message.Category.idOptinFlags[1] // Returns 3
Returns the unique identifier of the communication type.
Message.Category.idCategory // Displays the ID of the communication type
Returns the name of the communication type.
Message.Category.Name // Displays the name of the communication type
Denotes if the communication type is of administrative type by a true or false value.
Message.Category.IsAdministrative // Returns true or false
Output Class
Allows the output of content on screen.
Ouput Methods | ||
---|---|---|
Name | Type | Description |
Write() | string Value | Displays specified content to screen. |
Displays specified content to screen.
Parameters | Type | Description |
Value | string | Character string to display. |
[[Output.Write("MyValue");]] // Displays MyValue to screen
System Namespace
Main Namespace containing the majority of the mostly used classes.
System Properties | ||
---|---|---|
Name | Type | Description |
Now | DateTime | Returns a DateTime object containing the current date and time. |
Culture | string | Returns the current culture of the application. |
Returns a DateTime object containing the current date and time.
[[=System.Now;]] // returns, for example: 2018-04-09 14:40:25
Returns the current culture of the application.
[[=System.Culture;]] // returns, for example: "en-CA"
System Methods | ||
---|---|---|
Nom | Type | Description |
Random() |
| Returns a random number in the range between the provided numbers as parameters. |
System.Random(2468, 9876); // Returns 3419
Encoding Namespace
This namespace contains methods allowing string encoding.
System Methods | ||
---|---|---|
Nom | Type | Description |
HTMLEntities() | string Value | Returns the string encoded with HTMLEntities. |
Java1() | string Value | Returns the string encoded with Java1. |
Java2() | string Value | Returns the string encoded with Java2. |
URL() | string Value | Returns the string encoded with URL. |
Returns the string encoded with HTMLEntities.
Parameters | Type | Description |
Value | string | String to encode. |
[[=System.Encoding.HTMLEntities("My string");]] // Returns the encoding result
Returns the string encoded with Java1.
Parameters | Type | Description |
Value | string | String to encode |
[[=System.Encoding.Java1("My string");]] // Returns the encoding result
Returns the string encoded with Java1.
Parameters | Type | Description |
Value | string | String to encode |
[[=System.Encoding.Java2("My string");]] // Returns the encoding result
Returns the string encoded with URL.
Parameters | Type | Description |
Value | string | String to encode |
Encoding | string | Encoding format |
[[=System.Encoding.URL("My string","utf-8");]] // Returns the encoding result
Examples of encoding formats that are accepted: UTF-8, ASCII, ISO-8859-1, Windows-1252
Environment Namespace
This namespace contains utilitary classes usable globally in different projects.
Culture Class
This class returns environnement culture.
Culture Properties | ||
---|---|---|
Name | Type | Description |
Name | string | Returns the name of the culture containing the language (2 lower case characters), a hyphen and the region (2 upper case characters). |
Language | string | Returns the language (2 lower case characters). |
Region | string | Returns the region (2 upper case characters). |
Returns the name of the culture containing the language (2 lower case characters), a hyphen and the region (2 upper case characters).
System.Environment.Culture.Name; // Returns "en-CA"
Returns the language (2 lowercase characters).
System.Environment.Culture.Language; // Returns "en"
Returns the region (2 uppercase characters).
System.Environment.Culture.Region; // Returns "CA"
Geoloc Namespace
This namespace contains geolocalisation methods.
Geoloc Methods | ||
---|---|---|
Name | Parameters | Description |
Distance() | Decimal latitude1 Decimal longitude 1 Decimal latitude 2 Decimal longitude 2 | Returns the distance between two geographic coordinates. |
GetPointFromCode() | string country string postalCode | Converts a postal code to a set of geographic coordinates Supported country codes: CA, US Requires a licence |
Returns the distance between two geographic coordinates.
Parameters | Type | Description |
latitude1 | Decimal | Latitude of the first coordinate. |
longitude1 | Decimal | Longitude of the first coordinate. |
latitude2 | Decimal | Latitude of the second coordinate. |
longitude2 | Decimal | Longitude of the second coordinate. |
System.Geoloc.Distance(46.805719, -71.323384, 45.502065, -73.557709); // Returns 225,195974299394
Converts a postal code to a set of geographic coordinates.
Parameters | Type | Description |
country | string | Country code |
postalCode | string | Postal code to convert |
System.Geoloc.GetPointFromCode("CA", "G1P 2J7").Latitude; // Returns the decimal 46.805719
System.Geoloc.GetPointFromCode("CA", "G1P 2J7").Longitude; // Returns the decimal -71.323384
Tools Namespace
This namespace contains utilitary classes usable globally in different projects.
JSON Class
Offers tools that allow conversions between an object and a JSON formatted string.
JSON Methods | ||
---|---|---|
Name | Parameters | Description |
Serialize() | object obj | Converts an object to a JSON formatted string. |
Deserialize() | string str | Converts a JSON formatted string to an object. |
Converts an object to a JSON formatted string.
Parameters | Type | Description |
obj | object | Object to convert to JSON format. |
System.Tools.JSON.Serialize(new[] {"Apple", "Orange", "Banana"}); // Returns : ["Apple","Orange","Banana"]
Converts a JSON formatted string to an object.
Parameters | Type | Description |
str | string | JSON formatted string |
System.Tools.JSON.Deserialize("MyValue"); // Returns MyValue
System.Tools.JSON.Deserialize("['Apple','Orange','Banana']"); // Returns a list containg the three elements
Math Class
Provides methods for common mathematical fonctions.
Math Methods | ||
---|---|---|
Name | Parameters | Description |
Floor | decimal value | Returns the greater inferior or equal integer to the specified number. |
Ceiling | decimal value | Returns the smallest superior or equal integer to the specified number. |
Round | decimal value | Rounds a value to the closest integer. |
Round | decimal value, int decimals | Rounds a value while keeping a specified number of decimals. |
Returns the greater inferior or equal integer to the specified number.
Parameters | Type | Description |
value | decimal | Value to round. |
System.Tools.Math.Floor(1.5); // Returns 1
System.Tools.Math.Floor(1); // Returns 1
System.Tools.Math.Floor(1.99); // Returns 1
Returns the smallest superior or equal integer to the specified number.
Parameters | Type | Description |
value | decimal | Cap value. |
System.Tools.Math.Ceiling(1.5); // Returns 2
System.Tools.Math.Ceiling(2); // Returns 2
System.Tools.Math.Ceiling(1.01); // Returns 2
Surcharges | Parameters | Description |
Round | decimal value | Rounds a value to the closest integer. |
Round | decimal value | Rounds a value while keeping a specified number of decimals. |
System.Tools.Math.Round(1.68); // Returns 2
System.Tools.Math.Round(1.68, 1); // Returns 1,7
Validators Namespace
Provides methods to validate data.
Validators Methods | ||
---|---|---|
Name | Parameters | Description |
isValidCode | string code | Returns "true" if code is valid, else returns "false". |
Returns "true" if code is valid, else returns "false".
Note: A code may only contain alphanumeric characters and underscores. The first character must be a letter, and it cannot end with an underscore.
System.Tools.Validators.EMail.isValidCode("myValidField"); // Returns True
System.Tools.Validators.EMail.isValidCode("invalidField_"); // Returns False
System.Tools.Validators.EMail.isValidCode("validField2"); // Returns True
System.Tools.Validators.EMail.isValidCode("1InvalidField"); // Returns False
EMail Class
Provides tools to manipulate an email address.
EMail Methods | ||
---|---|---|
Name | Parameters | Description |
isValid | string email | Returns "True" if the email validates, else returns "False". |
GetDomain | string email | Returns the email domain. |
Returns "True" if the email validates, else returns "False".
Parameters | Type | Description |
string | String to validate |
System.Tools.Validators.EMail.isValid("user@domain.com"); // Returns True
System.Tools.Validators.EMail.isValid("NomAccentué@domaine.com"); // Returns False
System.Tools.Validators.EMail.isValid("domain.com"); // Returns False
System.Tools.Validators.EMail.isValid("user@domain"); // Returns False
Returns the email domain.
Parameters | Type | Description |
string | Email address as a string. |
System.Tools.Validators.EMail.GetDomain("user@domain.com"); // Returns : "domain.com"
System.Tools.Validators.EMail.GetDomain("domain.com"); // Returns an empty string
Hash Namespace
Provides hashing methods.
SHA1Class
Provides hashing method using the SHA1 cryptographic function.
SHA1 Methods | ||
---|---|---|
Name | Parameters | Description |
GetBytes() | string str | Uses the SHA1 method in order to convert a string to a byte array. |
GetString() | string str | Returns the result of a SHA1 hash as a string. |
Uses the SHA1 method in order to convert a string to a byte array.
Parameters | Type | Description |
str | string | String to hash. |
System.Tools.Hash.SHA1.GetBytes("My string"); // Returns a byte array
Returns the result of a SHA1 hash as a string.
Parameters | Type | Description |
str | string | String to hash. |
System.Tools.Hash.SHA1.GetString("MyValue"); // Returns "DFFFEA589FCEA0A45711699422C7A20435B8B9A5"
SHA256 Class
Provides hashing methods using the SHA256 cryptographic function.
SHA256 Methods | ||
---|---|---|
Name | Parameters | Description |
GetBytes() | string str | Uses the SHA256 method in order to convert a string to a byte array. |
GetString() | string str | Returns the result of a SHA256 hash as a string. |
Uses the SHA256 method in order to convert a string to a byte array.
Parameters | Type | Description |
str | string | String to hash. |
System.Tools.Hash.SHA256.GetBytes("my string"); // Returns a byte array
Returns the result of a SHA256 hash as a string.
Parameters | Type | Description |
str | string | String to hash. |
System.Tools.Hash.SHA256.GetString("MyValue"); // Returns "83527DED182C33A2ADFF553655A7D15492EA070F89566D3ED9A8AFD7519D0C1F"
MD5 Class
Offers MD5 hashing methods.
MD5 Methods | ||
---|---|---|
Name | Parameters | Description |
GetBytes() | string str | Uses the MD5 method in order to convert a string to a byte array. |
GetString() | string str | Returns the result of an MD5 hash as a string. |
Uses the MD5 method in order to convert a string to a byte array.
Parameters | Type | Description |
str | string | String to hash. |
System.Tools.Hash.MD5.GetBytes("my string"); // Returns a byte array
Returns the result of an MD5 hash as a string.
Parameters | Type | Description |
str | string | String to hash. |
System.Tools.Hash.MD5.GetString("MyValue"); // Returns "72F5D0C22D11F32C518782894629FB5A"
TellAFriend Namespace
Namespace containing data on the contact who sent a message to a friend.
TellAFriend Properties | ||
---|---|---|
Name | Type | Description |
Sender_FirstName | string Value | Contact's first name |
Sender_LastName | string Value | Contact's last name |
Friend_FirstName | string Value | Friend's first name |
Friend_LastName | string Value | Friend's last name |
Comments | string Value | Contact's comments to the friend |
First name of the contact who filled the TellAFriend form.
[[=TellAFriend.Sender_FirstName;]] // Displays the contact's first name
Last name of the contact who filled out the TellAFriend form.
[[=TellAFriend.Sender_LastName;]] // Displays the contact's last name
Friend's first name.
[[=TellAFriend.Friend_FirstName;]] // Displays the friend's first name
Friend's last name.
[[=TellAFriend.Friend_LastName;]] // Displays the friend's last name
Comments left to the friend.
[[=TellAFriend.Comments;]] // Displays the comments left to the friend
Version Namespace
Version Properties | ||
---|---|---|
Name | Type | Description |
Culture | bool | Returns the current message culture. |
idMessageVersion | int | Returns the unique identifier of the current message. |
Returns the current message culture.
// In a message that has the culture "en-CA" [[=Version.Culture;]] // Displays "en-CA" // The following conditiuon will display « English » [[if (Version.Culture == "fr-CA") {]] Français [[}else{]] English [[}]]
Returns the unique identifier of the current message.
// In a message that has only one version [[=Version.idMessageVersion;]] // Displays 1
VisualEditor Namespace
Namespace containing configuration methods of the visual editor.
VisualEditor Methods | ||
---|---|---|
Name | Parameters | Description |
isDesignMode() | none | Returns true if in edition mode, else returns false. |
EditZone() | Block Object designConfig | Visual indicator of the edit zone of the visual editor. |
UICultureTranslate() | string French text string English text | Automatic translation according to context. |
Method that allows to determine if we are in edit mode.
[[if (VisualEditor.IsDesignMode()) {]] <div>This div is only visible in edit mode.</div> [[}]] [[if (VisualEditor.IsDesignMode() == false) {]] <div>This div is not visible in edit mode.</div> [[}]]
Method that allows to visually identify the edit zone in the visual editor.
Parameters | Type | Description |
Block | Block | The block to edit |
Object | designConfig | Object containing the edit zone config |
datasource dsCustomDesignConfig = { EditedProviders:{block_Layout.Styles}, ToolPosition:"Inside", ToolSide:"Top", ToolAlign:"Right", SmallDragHelper:true, EditedProvidersShouldOverride: true }; // Edit zone config ]] <div class="MainContent" [[ VisualEditor.EditZone(block_Layout, dsCustomDesignConfig);]]> My content </div> /* Visual edition of the block "block_Layout" will be available on the previous div, according to the config set previously*/ [[
Automatic translation according to context.
[[=VisualEditor.UICultureTranslate("Je suis", "I am");]] // If the application context is in french, "Je suis" will be displayed. // If the context is english, "I am" will be displayed
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article