Integration Scenarios

This page will show you how to integrate eSignAnyWhere into your own products and systems. Moreover, some additional use cases are described:

Basic Integration


The basic integration is just using eSignAnyWhere as middleware for automating signing workflows and for the remote signing itself. Your integrating system configures envelopes, recipients and tasks via API REST and uses callback functions to get the status of a finished (or rejected) envelope.

The callback function is calling the integrating system (basically a URL call with an envelope-id parameter). The integrated system gets the callback and can then check the status (signed or rejected) and further actions, like downloading the documents and audit trail to store it in your archive system and delete the original documents from the eSignAnyWhere server.

Please note the following referring callbacks:

Only the envelope callback is fired, when the envelope is in a final state. The status update callback is fired by a sub-component and you may require to wait a post-processing time that the envelope reaches its final state. Therefore, please send back the HTTP 200 immediately!
If you are not returning the HTTP 200 immediately, eSignAnyWhere tries to recall the URL.
Attention: After some attempts the envelope will not be finished!

Due to these notes please send the message immediately after you receive the callback and before other callback-processing starts (e.g. download documents) to avoid a timeout of the callback!


Please also see the “HelloWorld” Tutorial for more information about the basic integration: visit HelloWorld_Tutorial.

Advanced Integration


In-Person Signing with SIGNificant Apps/Products

In-Person Signing with SIGNificant Apps/Products requires a private SaaS or on-premise version of SignAnyWhere. For testing you can use our demo platform which is available at: https://demo.esignanywhere.net/

This is a typical point of sale scenario, where the customer signs the document via Signature-Pad or Touchscreen (Windows, Android, iOS). Therefore you can use the SIGNificant Products and Apps (www.xyzmo.com Solutions). So you can use in one step of the workflow the flexible SIGNificant Platform for signing. After signing the workflow continues automatically. You even can ask the customer at the point of sale if he wants to sign via eSignAnywhere remote on his mobile phone, via Signature-Pad or Tablet Computer.

SIGNificant Apps

It is also possible to integrate the SIGNificant Biometric Server for biometric verification in real-time into your use-case. This requires devices capable of recording a biometric signature (e.g. Signaturepads, Tablet PC with native pen, Smartphones with pen, etc.) and a SIGNificant biometric server. Because of the need of the biometric server, just a on-premise installation is supported.

How to Integrate SIGNificant Products and Apps

To connect eSignAnyWhere with one of the SIGNificant Products or App you have to suppress sending the email and catch the workstepId.

General steps:

General Steps

1) Suppress Sending Email

Envelope Config (JSON/XML) for suppressing sending email for one recipient/workflow-step:

...  
"RecipientConfiguration": {
                        "DisableEmail": true,
                        "ContactInformation": {
                            "Email": "johndoe@sample.com",
                            "GivenName": "John",
                            "Surname": "Doe",
                            "LanguageCode": "EN"
                        }
                    },
 ...

In the next section you can find a complete configuration:

{
    "Documents": [{
            "FileId": "83467fdc-1234-4592-1234-9c64787cd7a1",
            "DocumentNumber": 1
        }
    ],
    "Name": "Test",
    "Activities": [{
            "Action": {
                "Sign": {
                    "RecipientConfiguration": {
						"DisableEmail": true,	
                        	"ContactInformation": {
                           	 	 "Email": "janedoe@sample.com",
                          		 "GivenName": "Jane",
                           	 	 "Surname": "Doe",
                            	 "LanguageCode": "EN"
                        }
                    },
                    "Elements": {
                        "Signatures": [{
                                "TaskConfiguration": {
                                    "OrderDefinition": {
                                        "OrderIndex": 0
                                    }
                                },
                                "ElementId": "sample sig click2sign",
                                "Required": true,
                                "DocumentNumber": 1,
                                "DisplayName": "Sign here",
                                "AllowedSignatureTypes": {
                                    "ClickToSign": {
                                    }
                                },
                                "FieldDefinition": {
                                    "Position": {
                                        "PageNumber": 1,
                                        "X": 100,
                                        "Y": 200
                                    },
                                    "Size": {
                                        "Width": 100,
                                        "Height": 70
                                    }
                                }
                            }
                        ]
                    },
                    "SigningGroup": "firstSigner"
                }
            }
        }, {
            "Action": {
                "SendCopy": {
                    "RecipientConfiguration": {
                        "ContactInformation": {
                            "Email": "johndoe@sample.com",
                            "GivenName": "John",
                            "Surname": "Doe",
                            "LanguageCode": "EN"
                        } 
                    }
                }
            }
        }
    ]
}


2) Links to SIGNificant Products or catch a WorkstepId

eSAW supports to send out links for the SIGNificant products automatically via notifications. Therefore, you just have to add to the recipient configuration JSON the following parameters:

"IncludedEmailAppLinks": {
              "Android": true,
              "iOS": true,
              "Windows": true
            },

Otherwise you can connect one workstep of eSignAnyWhere with one of the SIGNificant Apps. After you have sent the envelope and you have got the envelopeId you can call the method https://demo.esignanywhere.net/api/v6/envelope/{envelopeId}/viewerlinks.  With the result of this method you get information about the envelope and you can find the workstepRedirectionURL. This URL forwards the SignAnywhere Viewer (Web-Client), but with the additional parameter &responseType=returnWorkstepId it returns the workstepId. Example:

https://demo.esignanywhere.net/workstepredirector/sign?identifier=8Wn..9dX&responseType=returnWorkstepId

With this WorkstepId you can now connect the SIGNificant product to the document. If the document is finished the workflow continues automatically.

Other parameters are:

  • responseType=redirectToViewer – redirects to SAW Viewer (default)
  • responseType=redirectToAndroidApp – redirects to Android App
  • responseType=redirectToIOsApp – redirects to iOS App
  • responseType=redirectToWindowsApp – redirects to Windows App
  • responseType=returnWorkstepId – returns the WorkstepId for other integration types


3) Client Redirect

If you want, that the recipient is not redirected to the significant.com webpage after signing the document, you can use the finish action to redirect the recipient to your preferred webpage.

Therefore, you have to use the FinishAction in the WorkstepConfiguration of the recipient.

"PolicyConfiguration": {
            "FinishActionConfiguration": {
              "SignAnyWhereViewer": {
                "RedirectUri": "string"
              },

Integrate remote signing into your own (native) mobile Apps

Integrate remote signing into your own (native) mobile Apps requires a private SaaS or on-premise version of eSignAnyWhere and the SIGNificant SDK for your desired platforms. You can test it on our demo platform which is available at: https://demo.esignanywhere.net/.

My App Document Inbox

If you want to integrate the document signing for customers into your own Apps, we offer mobile SDKs for you. We support iOS, Android and Windows. Moreover, we have a 100% native SDK and a Hybrid SDK (for a Webbased-Document-Viewer).

So you can integrate into your App a user document-inbox, where the user find documents he/she has to sign. If the user has finished the document, the workflow (e.g. for internal review) continues automatically.

With this integration you can use your notification-channel (no emails via eSignAnyWhere), extend your App and users read & sign documents directly in your App. The use will not see, that he/she is using eSignAnyWhere, because it is seamless integrated into your App.

If you are interested in our mobile SDKs for integrating into your Apps, please contact us. We will provide you information about the Terms & Conditions and the SDK.

Integrate remote signing into your own web portal


This use case surpress sending emails via eSignAnyWhere, because you are sending to your customer the notifications and direct them to your web portal. The customer has to login at your web portal and navigate to the “inbox” or a “document section” and gets a list of all documents he/she has to sign. The eSignAnyWhere Viewer is integrated into your web portal.

How to integrate

Basically it is the same as In-Person Signing with SIGNificant Apps/Products. You have to surpress sending the email for the recipient via JSON and instead of catching the WorkstepID you just take the workstepRedirectURL of the response of https://demo.esignanywhere.net/api/v6/envelope/{envelopeId}/viewerlinks. This link you can show the user in your web portal for signing the document.

Integrate eSignAnyWhere document designer to define e-signing ceremonies in your own web application


If you are integrating eSignAnyWhere to be used within your web portal, you can use the eSignAnyWhere WYSIWYG document designer for defining e-signing ceremonies.

How to integrate

1) Create Draft and embed designer

General steps:

  • Upload document
  • Create a draft
  • Open with Saw-Viewer

After uploading a file you have to create a draft and configure the option to allow an external designer (allowAgentRedirect). For the create draft call you need the documentId which you got from the upload a file call, an envelope description and the draft option.

{
    "Documents": [{
            "FileId": "19b7a4b4-1234-1234-1234-daa50efde453",
            "DocumentNumber": 1
        }
    ],
    "Name": "DraftCreate",
    "Activities": [{
            "Action": {
                "Sign": {
                    "RecipientConfiguration": {
                        "ContactInformation": {
                            "Email": "janedoe@sample.com",
                            "GivenName": "Jane",
                            "Surname": "Doe",
                            "LanguageCode": "EN",
                            "PhoneNumber":"+43123456789"
                        }
                    },
                    
                    "Elements": {
                        "Signatures": [{
                                "TaskConfiguration": {
                                    "OrderDefinition": {
                                        "OrderIndex": 0
                                    }
                                },
                                "ElementId": "click2sign",
                                "Required": true,
                                "DocumentNumber": 1,
                                "DisplayName": "Sign here",
                                "AllowedSignatureTypes": {
                                    "ClickToSign": {
                                    }
                                },
                                "FieldDefinition": {
                                    "Position": {
                                        "PageNumber": 1,
                                        "X": 100,
                                        "Y": 200
                                    },
                                    "Size": {
                                        "Width": 100,
                                        "Height": 70
                                    }
                                }
                            }
                        ]
                    },
                    "SigningGroup": "firstSigner"
                }
            }
        }
    ]
}


For the redirect policy please add the following:

Note the following regarding AgentRedirectConfiguration:

  •  Draft/create
    • If Allow flag is set to false, Policy and IFrameAllowList should be null
  • Draft/Update
    • If Allow flag is set to false,
      • Policy and IFrameAllowList should be null
      • If it is valid, then Policy and IFrameAllowList are reset to default
"AgentRedirectConfiguration": {
    "Policy": "Workflow",
    "Allow": false,
    "IFrameAllowList": []
  }

Please also see /wiki/spaces/eSign/pages/91979565 (restricted access)

RedirectPolicy values:

  • "Workflow" → redirects to the create envelope page
  • "FormEditor" → redirects to the designer page
  • "Summary" → redirects to the envelope summary page
FormEditor

Form Editor

Workflow

Workflow Create Envelope

Summary

Summary Of Envelope

On the create envelope page you may think that you have to upload the document again but you do not have to. The document which you have uploaded before via the api call is still there. If go forward to the “Designer” page you can see the document.

Note: With the redirectPolicy you can decide if the SAW-Viewer starts with the “Designer” page, with the “CreateEnvelope” page or with the “SendEnvelope” page.

The option allowAgentRedirect enables an anonymous designer integration (without eSignAnyWhere Login) and iFrameWhiteList extends the HTTP header with a list to integrate in your web application or portal (via X-FRAME-OPTIONS).

2) Integrate Designer

The designer can be embedded by modifying the following string:

http://www.significant.com/AgentRedirect/index?draftid=##draftid##

or

https://demo.esignanywhere.net/AgentRedirect/index?draftid=##draftid##

If the draft is finished you can start the envelope.

Make sure to open the link above ( to embed the designer) in a private window (In Firefox->File->New Private Window. Otherwise the browser will remember the session and you will not have access to significant or https://demo.esignanywhere.net/ after the draft is finished.

The following video shows the process from opening the draft to finish and send the envelope.

create/send envelope

Example of a complex integration


The following picture show you an example of a complex integration/use case.

Complex Integration

Description:

  1. An agent designs in your web portal via integrated document designer the e-signing ceremony
  2. The first signer (customer) gets a notification via mobile app on his smartphone/tablet and gets an email that a document can be signed in the web portal. The customer is able to sign in the app or in the web-portal after login.
  3. An agent has to confirm the signed document. The agent gets an email from the eSignAnyWhere System and signs it in the browser.

Hybrid Integration (UI & API)


In some scenarios it makes sense to send the envelopes via UI by the user and have an automated post processing, when the envelope gets finished. Therefore, you can configure in the organization settings a default callback, which is used by using the UI. You still can overwrite it via API.

Default Callback URL


So you can allow users to send envelopes via eSAW UI and integrate a post processing, e.g. for automated archiving.

Advanced Guides

Callbacks on Custom Events

You can define specific callbacks on specific events (e.g. if you want to get notified when a signer rejects the agreement text). A detailed description of this feature you can find here.