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:

Notification Email

This is an example of what the reminders list looks like:

Java Console

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:

Notification Email

This is an example of what the reminders list looks like:

CSharp Console

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:

Notification Email

Request Payload Table

PropertyTypeEditableRequiredDefaultSample Values
startInDaysDelayintegerYesNon/a1 / 2 / 3 ...
repetitionsCountintegerYesNon/a1 / 2 / 3 ...
intervalInDaysintegerYesNon/a1 / 2 / 3 ...
packageIdstringYesNon/a0ab0_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:

Capture

This is an example of what the reminders list looks like:

Capture