You can program automatic reminders for a participant. This can only be done if you have set an initial invitation email for this participant. To do so, the schedule
array, which first value represents the initial invitation email, must be completed with other values, expressed in hours, representing the automatic reminders. In the following request to POST /v1/transactions/{transaction_id}/participants
, the participant will receive his initial invitation as soon as his action is open (0
), and if he hasn’t signed within 48 hours after receiving the invitation (48
), he will receive a reminder email, and another one 72 hours later after the latest reminder (72
):
curl
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/participants \
-d email=john@company.com \
-d schedule=[0,48,72]
Note that there must be a minimum of 24 hours between each automatic sending. It is possible to send a reminder manually via the web application.
Add a custom message to automatic reminders
You can customize the subject of the reminder email and add a custom message for each participant. To do so, send a request to POST /v1/transactions/{transaction_id}/participants
as follows:
curl
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/participants \
-d email=john@company.com \
-d reminder_subject=SampleSubject \
-d reminder_message=<?xml version="1.0" encoding="UTF-8"?>
<message>
<p>This is a kind reminder to sign the contract <i>Lorem Ipsum</i>.<br/>
<u>As a reminder of the shared elements</u>:</p>
<ol>
<li>Element 1</li>
<li>Element 2</li>
<li>Element 3</li>
</ol>
<u>Thank you for</u>:
<ul> <li>Reminder 1</li>
<li>Reminder 2</li>
</ul>
<b>Please sign the contract before the end of week</b>
</message>
The invitation subject value is limited to 100 characters and the invitation message to 1000 characters.
The email message should be in a valid XHTML format. We support the following tags (without attributes):
- “b”, “strong”: bold style
- “i”, “em” : italic style
- “u” : underlined style
- “ul”, “ol”, “li” : unordered and ordered list
- “p” : paragraph
- “br” : line break
Note that adding a custom message and setting the invitation sending must be done before the participant has performed his/her action.
Use variables
You can customize further your reminder messages using both our preconfigured variables as well as metadata you previously defined while creating your transaction.
The participant receives the custom message containing the value of each variable or metadata you set.
Below is the list of preconfigured variables:
${participant.full_name}
: set if you want to include the participant fullname in your custom message.${participant.email}
: set if you want to include the participant email in your custom message.${transaction.name}
: set if you want to include the transaction name in your custom message.${transaction.expires_at}
: set if you want to include the transaction expiration date in your custom message.
To add a metadata to your custom message, add ${metadata.*}
to you message body (you need to replace the *
with the metadata key).
Request example
curl
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/participants \
-d email=john@company.com \
-d reminder_subject=Reminder with variables \
-d reminder_message=<?xml version="1.0" encoding="UTF-8"?>
<message>
Hello ${participant.full_name},
<p>We would like to remind you that you have not completed yet the actions requested for transaction ${transaction.name}.</p>
<p>As part of your ${metadata.Contract} contract for the position of ${metadata.Position}, you have until ${transaction.expires_at} to complete them.</p>
<p>Regards,</p>
<p>HR Team<br/></p>
</message>
Response example
{
"email" : "koussai.houssine@universign.com",
"phone_number" : "+33612345679",
"phone_number_type" : "suggestion",
"min_signature_level" : "level1",
"reminder_subject" : "Reminder with variables",
"reminder_message" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?><message>Hello ${participant.full_name},<p>We would like to remind you that you have not completed yet the actions requested for transaction ${transaction.name}.<br /></p><p>As part of your ${metadata.Contract} contract for the position of ${metadata.Position}, you have until ${transaction.expires_at} to complete them.</p><p>Regards,</p><p>HR Team</p></message>",
"schedule" : [ 0 ],
"ongoing_conversation" : false,
"has_unread_message" : false,
"state" : "open",
"access_control" : "standard",
"shared_contact" : false,
"fullname_suggestion" : "John doe",
"phone_number_suggestion" : "+33612345679",
"full_name" : "John doe",
"waiting_period" : 0,
"full_name_type" : "suggestion"
}