Please see the following instructions and guides in order to configure and use the whatsapp notification channel successfully.
- 1 Preconditions
- 2 Limitations
- 3 Configuration
- 3.1 Global.xml
- 3.2 Organization Settings
- 3.2.1 Username
- 3.2.2 Password
- 3.2.3 API Token
- 3.2.4 Notification templates mapping JSON
- 3.2.4.1 Example of the mapping JSON
- 3.2.4.2 NotificationType
- 3.2.4.2.1 WhatsAppTemplateId
- 3.2.4.2.2 Params
- 4 How to format text
Preconditions
Defined templates for all the supported notification types on Meta profile.
Valid credentials for Namirial WhatsApp Gateway.
Valid FileHoster configuration in _globalXML
Enable WhatsApp feature flag in eSignAnyWhere (AllowWhatsAppNotification) and optionally allow WhatsApp for bulk if required by enabling (BulkEnvelopesWithWhatsAppNotifications).
For more information about the feature flags please see https://namirial.atlassian.net/wiki/spaces/eSign/pages/91992775
Limitations
Max character length for the header: 60
Max character length for the body: 1024
Max character length for the button label: 25
Max character length for the button link (base url): 2000
Configuration
Global.xml
<notificationPlugin customPluginId="whatsapp" isDefault="0">
<enabled values="0;1">1</enabled>
<assembly>COMPLETE_PATH_TO_namirial.Plugin.Notification.WhatsApp.dll</assembly>
<type>namirial.Plugin.Notification.WhatsApp.WhatsApp</type>
<pluginConfiguration>
<NetworkConfiguration>
<NamirialWhatsappGatewayBaseUrl>LINK_TO_NAMIRIAL_WHATSAPP_GATEWAY</NamirialWhatsappGatewayBaseUrl>
</NetworkConfiguration>
<LocalizationsDirectory>DIRECTORY_PATH_OF_XLIFF_FILES</LocalizationsDirectory>
</pluginConfiguration>
</notificationPlugin>
NamirialWhatsappGatewayBaseUrl
URL to the Namirial WhatsApp Gateway. Note: Please enter only the “base URL” without “api/services”
Organization Settings
Username
The username for the WhatsApp Gateway
Password
The password for the WhatsApp Gateway
API Token
The API token for the WhatsApp Gateway
Notification templates mapping JSON
In case both the default Namirial Meta Account is used, and the default notification texts are used, pre-created mapping JSON exists. Please see below a sample for demo.esignanywhere.net
For more information please contact us.
The JSON for the template mapping between eSAW’s Notification Types and Meta’s Template Ids.
WhatsApp notification contents/templates must be defined in Meta-WhatsApp admin panel and cannot be defined or modified in eSignAnyWhere directly. The declared notification templates defined on Meta’s side must be mapped to the notification types sent by eSignAnyWhere.
Example of the mapping JSON
{
"Templates": [{
"NotificationType": "NOTIFICATION_TYPE_NAME",
"WhatsAppTemplateId": "TEMPLATE_ID",
"Params": []
}, {
"NotificationType": "NOTIFICATION_TYPE_NAME",
"WhatsAppTemplateId": "TEMPLATE_ID",
"Params": [
"#PARAM1#"
]
}, {
"NotificationType": "NOTIFICATION_TYPE_NAME",
"WhatsAppTemplateId": "TEMPLATE_ID",
"Params": [
"#PARAM1#",
"#PARAM2#"
]
}
]
}
NotificationType
Please find the available notification types for whatsapp channel in the table below:
Notification Type | Usage | Default Template |
---|---|---|
Deleted Recipient | Notifies the recipient that the recipient has been removed from a signing task of an envelope | Header: You have been removed from the signing task Body: You have been removed from the signing task in envelope "#EnvelopeName#"
|
Disclaimer (Download Link) | Notifies the recipient and contains a link to download legally required information about issuance of the disposable certificate. | Header: Legal Information Body: Additional legal documents for the envelope "#EnvelopeName#" are available. Link will expire at #UrlExpiration# Button label: Download legal info Button Url: #UrlDownload# |
Envelope cancelled | Notifies the recipient about a cancelled envelope | Header: Envelope has been cancelled Body: The envelope "#EnvelopeName#" has been cancelled. Button label: Open Envelope Button Url: #Url# |
Envelope deleted | Notifies the recipient about a deleted envelope | Header: Envelope has been deleted Body: The envelope "#EnvelopeName#" has been deleted by the sender. |
Envelope expired (recipient) | Notifies the recipient about an expired envelope | Header: Envelope expired Body: The envelope "#EnvelopeName#" has expired. |
Envelope reset (parallel recipient) | Notifies the recipient who is currently working on an opened envelope, that the envelope was locked and the data reset by the envelope sender in a parallel scenario | Header: Envelope has been reset Body: Your changes in envelope #EnvelopeName# have been reset by the envelope sender! Button label: Open Envelope Button Url: #Url# |
Must view | Notifies the recipient about an envelope, which needs to be viewed | Header: Document View Request Body: Please press the button below to confirm that you received the document. This will also open the document. In the document view you can download the document. Button label: Confirm Receipt Button Url: #Url# |
Ready for signing (parallel recipient) | Notifies the recipient that the previous signer has finished the envelope | Header: Previous signer has finished the envelope Body: The previous signer has finished the envelope "#EnvelopeName#". Button label: Open Envelope Button Url: #Url# |
Sign Reminder | The template is used only to define a prefix for the mail subject, when sending a reminder. | Header: Reminder: Document signing request Body: Your signature is required for a document. Open by using following link: Button label: Open Document Button Url: #Url# |
Sign Delegation Reminder | The template is used only to define a prefix for the mail subject, when sending a reminder. | Header: Reminder: Document signing request Body: #DelegatorName# has delegated this document to you to sign. Button label: Open Document Button Url: #Url# |
Must View Reminder | The template is used only to define a prefix for the mail subject, when sending a reminder. | Header: Reminder: Document View Request Body: Please press the button below to confirm that you received the document. This will also open the document. In the document view you can download the document. Button label: Confirm Receipt Button Url: #Url# |
Send copy of finished envelope to CC recipient | Notifies the CC recipient about finished envelope and includes download link | Header: Copy of signed envelope Body: The envelope "#EnvelopeName#" has been signed. This message was sent by #SenderFirstName# #SenderLastName#. Button label: Download envelope Button Url: #UrlDownload# |
Send copy of finished envelope to CC recipient (non-registered) | Notifies the non-registered CC recipient about finished envelope and includes download link | Header: Copy of signed envelope Body: The envelope "#EnvelopeName#" has been signed. This message was sent by #SenderFirstName# #SenderLastName#. Button label: Download envelope Button Url: #UrlDownload# |
Sign | Sent to the recipient to invite him to sign a document. | Header: Document signing request Body: Your signature is required for a document. Open by using following link: Button label: Open Document Button Url: #Url# |
Sign delegated envelope | Notifies the recipient about delegation of an envelope for signing | Header: Document signing request Body: #DelegatorName# has delegated this document to you to sign. Button label: Open Document Button Url: #Url# |
Test notification | Test notification which notifies if the configuration for the notification channel is set up correctly | Header: Test notification Body: This notification confirms that the plugin has been set up successfully. |
WhatsAppTemplateId
The Id of the template defined on Meta’s account to be used for a specific notification type.
Params
Ordered list of parameters to be replaced in the template’s body. Parameters should be added in the mapping JSON between two '#' marks similar to how they appear in eSignAnyWhere for other notification types. (e.g. #FirstName#).
How to format text
Format | Description | Example |
---|---|---|
Italic | To italicize your message, place an underscore on both sides of the text | _text_ |
Bold | To bold your message, place an asterisk on both sides of the text | *text* |
Strikethrough | To strikethrough your message, place a tilde on both sides of the text | ~text~ |
Monospace | To | ```text``` |
Bulleted list | To add a bulleted list to your message, place an asterisk or hyphen and a space before each word or sentence: | - text
- text |
Quote
| To add a quote to your message, place an angle bracket and space before the text | > text |
Inline code | To add inline code to your message, place a backtick on both sides of the message | `text` |