To download the full code sample see our Code Share site.
By setting a reminder schedule, a sender can choose when and how often to notify a signer about a pending signature, in addition to the initial notification sent the moment the transaction is sent for signing. In other words, assuming the transaction is not yet completed, a customizable number of notifications can be sent with a specified interval between each to remind your signer that a signature is required.
Creating a Reminder Schedule
To create a ReminderSchedule object you will need to pass your packageId object as a parameter to the ReminderScheduleBuilder, along with the settings that suit your requirements.
As you need a packageId to set your reminder schedule, you will need to do this AFTER you have created the transaction, but BEFORE you send it. So if you’re using the createAndSendPackage() method to send your packages, you’ll need to split it up.
Note the following:
-
withDaysUntilFirstReminder(): This method allows you to wait a certain amount of days before sending the first reminder. This will not affect the initial notification sent the moment your transaction is sent for signing.
-
withDaysBetweenReminders(): This method sets the frequency of your reminders.
-
withNumberOfRepetitions() : This method sets the number of reminders OneSpan Sign will send to your signer(s), with a maximum of 5 reminders.
Once you have built your ReminderSchedule object, use the OneSpan Sign ReminderService to create your reminder schedule. The following code will do this:
ReminderSchedule reminderScheduleToCreate = ReminderScheduleBuilder.forPackageWithId(packageId) .withDaysUntilFirstReminder(1) .withDaysBetweenReminders(1) .withNumberOfRepetitions(5) .build(); eslClient.getReminderService().createReminderScheduleForPackage(reminderScheduleToCreate);
Updating a Reminder Schedule
Once you’ve sent your transaction for signing, you can update your reminder schedule. To do this, create a new ReminderSchedule object using different parameters and then once again use the OneSpan Sign ReminderService to update your reminder schedule. The following code will do this:
eslClient.getReminderService().updateReminderScheduleForPackage(reminderScheduleToUpdate);
Retrieving a Reminder Schedule
You can also retrieve your ReminderSchedule object by calling on the OneSpan Sign ReminderService. By doing this, you will also get all the reminders that have been sent to your signers, in a list format. The following code will do this:
ReminderSchedule reminderSchedule = client.getReminderService().getReminderScheduleForPackage(packageId); List<Reminder> reminders = reminderSchedule.getReminders(); for (Reminder reminder : reminders) { System.out.println(reminder.getSentDate()); }
Deleting a Reminder Schedule
To delete your reminder schedule, you once again use the OneSpan Sign ReminderService. The following code will do this:
eslClient.getReminderService().clearReminderScheduleForPackage(packageId);
Results
Here is an example of what you can expect to see once you have run your code.
This is an example of a reminder email that will be sent to your signers:
This is an example of what the reminders list looks like:
To download the full code sample see our Code Share site.
By setting a reminder schedule, a sender can choose when and how often to notify a signer about a pending signature, in addition to the initial notification sent the moment the transaction is sent for signing. In other words, assuming the transaction is not yet completed, a customizable number of notifications can be sent with a specified interval between each to remind your signer that a signature is required.
Creating a Reminder Schedule
To create a ReminderSchedule object you will need to pass your packageId object as a parameter to the ReminderScheduleBuilder, along with the settings that suit your requirements.
As you need a packageId to set your reminder schedule, you will need to do this AFTER you have created the transaction, but BEFORE you send it. So if you’re using the createAndSendPackage() method to send your packages, you’ll need to split it up.
Note the following:
-
withDaysUntilFirstReminder(): This method allows you to wait a certain amount of days before sending the first reminder. This will not affect the initial notification sent the moment your transaction is sent for signing.
-
withDaysBetweenReminders(): This method sets the frequency of your reminders.
-
withNumberOfRepetitions() : This method sets the number of reminders OneSpan Sign will send to your signer(s), with a maximum of 5 reminders.
Once you have built your ReminderSchedule object, use the OneSpan Sign ReminderService to create your reminder schedule. The following code will do this:
ReminderSchedule reminderScheduleToCreate = ReminderScheduleBuilder.ForPackageWithId(packageId) .WithDaysUntilFirstReminder(1) .WithDaysBetweenReminders(1) .WithNumberOfRepetitions(5) .Build(); eslClient.ReminderService.CreateReminderScheduleForPackage(reminderScheduleToCreate);
Updating a Reminder Schedule
Once you’ve sent your transaction for signing, you can update your reminder schedule. To do this, create a new ReminderSchedule object using different parameters and then once again use the OneSpan Sign ReminderService to update your reminder schedule. The following code will do this:
eslClient.ReminderService.UpdateReminderScheduleForPackage(reminderScheduleToUpdate);
Retrieving a Reminder Schedule
You can also retrieve your ReminderSchedule object by calling on the OneSpan Sign ReminderService. By doing this, you will also get all the reminders that have been sent to your signers, in a list format. The following code will do this:
ReminderSchedule createdReminderSchedule = eslClient.ReminderService.GetReminderScheduleForPackage(packageId); List<Reminder> reminders = createdReminderSchedule.Reminders; foreach (Reminder reminder in reminders) { Debug.WriteLine(reminder.SentDate); }
Deleting a Reminder Schedule
To delete your reminder schedule, you once again use the OneSpan Sign ReminderService. The following code will do this:
eslClient.ReminderService.ClearReminderScheduleForPackage(packageId);
Results
Here is an example of what you can expect to see once you have run your code.
This is an example of a reminder email that will be sent to your signers:
This is an example of what the reminders list looks like:
To download the full code sample see our Code Share site.
By setting a reminder schedule, a sender can choose when and how often to notify a signer about a pending signature, in addition to the initial notification sent the moment the transaction is sent for signing. In other words, assuming the transaction is not yet completed, a customizable number of notifications can be sent with a specified interval between each to remind your signer that a signature is required.
You can create a reminder schedule by making the following request:
HTTP Request
POST /api/packages/{packageId}/reminders
HTTP Headers
Accept: application/json Content-Type: application/json Authorization: Basic api_key
Request Payload
{ "startInDaysDelay": 1, "repetitionsCount": 5, "intervalInDays": 1, "packageId": "{packageId}" }
For a complete description of each field, see the Request Payload table below.
Response Payload
{ "startInDaysDelay": 1, "repetitionsCount": 5, "intervalInDays": 1, "reminders": [], "packageId": "{packageId}" }
To create a ReminderSchedule object you will need to pass your packageId object as a parameter to the ReminderScheduleBuilder, along with the settings that suit your requirements.
Note the following:
-
startInDaysDelay: This object allows you to wait a certain amount of days before sending the first reminder. This will not affect the initial notification sent the moment you sent your transaction for signing.
-
intervalInDays: This object sets the frequency of your reminders.
-
repetitionsCount: This object sets the number of reminders OneSpan Sign will send to your signer(s), with a maximum of 5 reminders.
To set a reminder schedule, your package must be in DRAFT.
Updating a Reminder Schedule
Once you’ve sent your transaction for signing, you can update your reminder schedule by making a PUT request to the base URL, using different parameters.
HTTP Request
PUT /api/packages/{packageId}/reminders
HTTP Headers
Accept: application/json Content-Type: application/json Authorization: Basic api_key
Request Payload
{ "startInDaysDelay": 2, "repetitionsCount": 5, "intervalInDays": 3, "packageId": "{packageId}" }
Response Payload
{ "startInDaysDelay": 2, "repetitionsCount": 5, "intervalInDays": 3, "reminders": [], "packageId": "{packageId}" }
Retrieving a Reminder Schedule
You can retrieve your reminder schedule by making a GET request to the base URL. By doing this, you will also get all the reminders that have been sent to your signer(s).
HTTP Request
GET /api/packages/{packageId}/reminders
HTTP Headers
Accept: application/json Content-Type: application/json Authorization: Basic api_key
Response Payload
{ "packageId": "ebfcf18f-7bbc-4ff6-a5db-6352dbbfa9f6", "startInDaysDelay": 2, "repetitionsCount": 5, "intervalInDays": 2, "reminders": [{ "sentDate": "2016-02-26T00:30:02Z", "date": "2016-02-25T16:53:13Z" }, { "sentDate": "2016-02-27T00:30:03Z", "date": "2016-02-26T16:53:13Z" }, { "sentDate": "2016-02-28T00:30:01Z", "date": "2016-02-27T16:53:13Z" }, { "sentDate": "2016-02-29T00:30:02Z", "date": "2016-02-28T16:53:13Z" }, { "sentDate": null, "date": "2016-02-29T16:53:13Z" }, { "sentDate": null, "date": "2016-03-01T16:53:13Z" }] }
Deleting a Reminder Schedule
To delete your reminder schedule, make a DELETE request:
HTTP Request
DELETE /api/packages/{packageId}/reminders
HTTP Headers
Accept: application/json Content-Type: application/json Authorization: Basic api_key
Results
Here is an example of what you can expect to see once you have run your code.
This is an example of a reminder email that will be sent to your signers:
Request Payload Table
Property | Type | Editable | Required | Default | Sample Values |
---|---|---|---|---|---|
startInDaysDelay | integer | Yes | No | n/a | 1 / 2 / 3 ... |
repetitionsCount | integer | Yes | No | n/a | 1 / 2 / 3 ... |
intervalInDays | integer | Yes | No | n/a | 1 / 2 / 3 ... |
packageId | string | Yes | No | n/a | 0ab0_b0jzotEqdXx9NJ-pzhJJ1c= |
To download the full code sample see our Code Share site.
By setting a reminder schedule, a sender can choose when and how often to notify a signer about a pending signature, in addition to the initial notification sent the moment the transaction is sent for signing. In other words, assuming the transaction is not yet completed, a customizable number of notifications can be sent with a specified interval between each to remind your signer that a signature is required.
The following function will allow you to add a Reminder Schedule to an existing transaction.
public void createReminderScheduleForPackage(String packageId,Integer startInDaysDelay,Integer repetitionsCount,Integer intervalInDays)
As you need a packageId to set your reminder schedule, you will need to do this AFTER you have created the transaction, but BEFORE you send it.
Note the following:
- startInDaysDelay: This parameter allows you to wait a certain amount of days before sending the first reminder. This will not affect the initial notification sent the moment your transaction is sent for signing.
- intervalInDays: This parameter sets the frequency of your reminders.
- repetitionsCount: This parameter sets the number of reminders OneSpan Sign will send to your signer(s), with a maximum of 5 reminders.
Updating a Reminder Schedule
Once you’ve sent your transaction for signing, you can update your reminder schedule. The following code will do this:
public void updateReminderScheduleForPackage(String packageId,Integer startInDaysDelay,Integer repetitionsCount,Integer intervalInDays)
Retrieving a Reminder Schedule
You can also retrieve your ReminderSchedule . By doing this, you will also get all the reminders that have been sent to your signers, in a list format. The following code will do this:
public TestReminders.ReminderSchedule getReminderScheduleForPackage(String packageId)
By doing this, you will also get all the reminders that have been sent to your signers, in a list format.
TestReminders.ReminderSchedule reminderSchedule = getReminderScheduleForPackage(packageId); List reminders = reminderSchedule.reminders; for(TestReminders.Reminder reminder: reminders){ System.Debug('set date: ' + reminder.date_x + '; sent date: ' + reminder.sentDate); }
Deleting a Reminder Schedule
To delete your reminder schedule, use the following code:
public void clearReminderScheduleForPackage(String packageId)
Results
You can execute this function in Execute Anonymous Window from Developer Console and type in:
new TestReminders().testReminders();
Here is an example of what you can expect to see once you have run your code.
This is an example of a reminder email that will be sent to your signers:
This is an example of what the reminders list looks like: