Custom Experiences
What is a Custom Experience?
You can customise the look and feel of your signing experience with the Custom Experience feature.
To personalise the signature process and adapt it to your brand identity, it is possible to:
- Customise the signature experience appearance (logo, colours, start screen, left panel).
- Personalise the user's journey with the redirect redirect URLs in case of signature success, error or decline.
- Manage email notifications triggered when an event occurs on the Signature Request (ie. "Request is -approved", "Request is rejected").
- Manage emails settings (ie. show the due date, the introduction, your logo or the sender)
The set-up of custom experiences can be done from the application and the API
This feature is available for plans :
- PRO up to 2 custom experiences
- SCALE up to 20,000 custom experiences
Overview
Set up a Custom Experience in the application
A Custom Experience can be created on the Application and requires Admin or Owner access.
Once the Custom Experience is created, you can retrieve its 'id' using the dedicated menu item as shown below.
Sandbox and Custom Experience
If you are testing the API, you only have access to the Sandbox environment. You are limited in the Custom experience creation: you can create a Custom Experience only from the application, and not from the API.
Associate the Custom Experience to a Signature Request
Once the Custom Experience is created and the 'id' retrieved, you can use the Custom Experience to personalise a Signature Request.
To do so, you must set the custom_experience_id
parameter with the customExperienceId
when you initiate the Signature Request.
POST /signature_requests
{
"name": "The name of your Signature Request",
"delivery_mode": "email",
"timezone": "Europe/Paris",
"custom_experience_id": "{{customExperienceId}}"
}
Set up a Custom Experience from the API
Create a Custom Experience
POST /custom_experiences
{
"name": "My first custom experience",
"landing_page_disabled": true,
"side_panel_disabled": false,
"text_color": "#420023",
"background_color": "#420023",
"button_color": "#420023",
"text_button_color": "#420023",
"disabled_notifications": [
"approver.expiration_date_reminder",
"approver.canceled",
"approver.expiration_date_updated",
"follower.approved",
"follower.canceled",
"follower.completed",
"follower.expired",
"follower.rejected",
"follower.signed",
"sender.approved",
"sender.canceled",
"sender.completed",
"sender.rejected",
"sender.signed",
"signer.expiration_date_reminder",
"signer.canceled",
"signer.completed",
"signer.signed",
"signer.expiration_date_updated",
"signer.signature_requested"
],
"email_logo_disabled": true,
"email_header_text_disabled": false,
"email_expiration_text_disabled": true,
"email_footer_signature_disabled": true,
"redirect_urls": {
"success": "https://www.example.com/success",
"error": "https://www.example.com/error",
decline: "https://www.example.com/decline"
}
}
{
"id": "5e5d8cc7-91b7-4866-bc4e-a9a2c874a848",
"name": "My first custom experience",
"landing_page_disabled": true,
"side_panel_disabled": false,
"background_color": "#420023",
"button_color": "#420023",
"text_color": "#420023",
"text_button_color": "#420023",
"redirect_urls": {
"success": "https://www.example.com/success",
"error": "https://www.example.com/error",
"decline": "https://www.example.com/decline"
},
"disabled_notifications": [
"approver.expiration_date_reminder",
"approver.canceled",
"approver.expiration_date_updated",
"follower.approved",
"follower.canceled",
"follower.completed",
"follower.expired",
"follower.rejected",
"follower.signed",
"sender.approved",
"sender.canceled",
"sender.completed",
"sender.rejected",
"sender.signed",
"signer.expiration_date_reminder",
"signer.canceled",
"signer.completed",
"signer.signed",
"signer.expiration_date_updated"
],
"email_header_text_disabled": false,
"email_expiration_text_disabled": true,
"email_logo_disabled": true,
"logo": null,
"source": "public_api",
"is_default": false,
"created_at": "2023-02-20T08:33:58+00:00"
}
Choose which notifications should be sent
All notifications are sent by default, but you can choose to disable some of them with the disabled_notications
entry. Here is the list of all notifications you can act on:
Notification name | Description |
---|---|
approver. cancelled | The Approver is notified that the Signature Request has been cancelled |
approver.expiration_date_reminder | The Approver is notified that the Signature Request expires soon |
approver.expiration_date_updated | The Approver is notified that the Signature Request expiration date has changed or has been reactivated |
follower.approved | The Follower is notified that the Signature Request has been approved |
follower.rejected | The Follower is notified that the Signature Request has been rejected |
follower.signed | The Follower is notified that a Signer just signed the Signature Request |
follower.completed | The Follower is notified that the Signature Request is completed which means that all Signers signed |
follower.cancelled | The Follower is notified that the Signature Request has been cancelled |
follower.expired | The Follower is notified that the Signature Request has expired |
sender.approved | The Sender is notified that the Signature Request has been approved |
sender.rejected | The Sender is notified that the Signature Request has been rejected |
sender.signed | The Sender is notified that a Signer just signed the Signature Request |
sender.completed | The Sender is notified that all Signers signed the Signature Request |
sender.cancelled | The Sender is notified that the Signature Request has been cancelled |
signer.signed | The Signer is notified that a Signer just signed the Signature Request |
signer.completed | The Signer is notified that all Signers signed the Signature Request |
signer.canceled | The Signer is notified that the Signature Request is canceled |
signer.expiration_date_reminder | The Signer is notified that the Signature Request expires soon |
signer.expiration_date_updated | The Signer is notified that the Signature Request expiration date has changed or has been reactivated |
signer.signature_requested | The Signer is invited to sign a document with a signature link |
Custom Redirect URL
You can set custom URLs to which the signer will be redirected at the end of the signing flow.
- Redirect URL on success: redirect the signer to a page of your choice when they successfully complete the signature
- Redirect URL on error: redirect the signer to a page of your choice in case of error or signature failure
- Redirect URL on signature decline: redirect the signer to a page of your choice if they decline the signature
Custom Redirect URLs are not available during the Trial period
Add or replace a Custom Experience logo
POST /custom_experiences/{customExperienceId}/logo
curl --location --request POST '{baseUrl}/custom_experiences/{customExperienceId}/logo' \
--header 'Authorization: Bearer {apiKey}' \
--form 'file=@"/path/to/the/logo.png"'
https://developers.yousign.com/reference/patch-custom-experience-logo
Fetch the logo url
GET /custom_experiences/{customExperienceId}
{
"id": "5e5d8cc7-91b7-4866-bc4e-a9a2c874a848",
"name": "My first custom experience",
"landing_page_disabled": true,
"side_panel_disabled": false,
"background_color": "#420023",
"button_color": "#420023",
"text_color": "#420023",
"text_button_color": "#420023",
"redirect_urls": {
"success": "https://www.example.com/success",
"error": "https://www.example.com/error",
"decline": "https://www.example.com/decline"
},
"disabled_notifications": [
"approver.expiration_date_reminder",
"approver.canceled",
"approver.expiration_date_updated",
"follower.approved",
"follower.canceled",
"follower.completed",
"follower.expired",
"follower.rejected",
"follower.signed",
"sender.approved",
"sender.canceled",
"sender.completed",
"sender.rejected",
"sender.signed",
"signer.expiration_date_reminder",
"signer.canceled",
"signer.completed",
"signer.signed",
"signer.expiration_date_updated"
],
"email_header_text_disabled": false,
"email_expiration_text_disabled": true,
"email_logo_disabled": true,
"email_footer_signature_disabled": true,
"logo": "http://yousign.app/custom_experiences/5e5d8cc7-91b7-4866-bc4e-a9a2c874a848/logo?s=e53b536315e76218983a7ce6c40f23b0095ae16c78c2539702c3347481191ece5bc5227a7a7131c9e9469f12c3a443af23a516e4791f25633120dce57f7f7232&t=1676882038&expiration=1676918252",
"source": "public_api",
"is_default": false,
"created_at": "2023-02-20T08:33:58+00:00"
}
Updated 5 months ago