This page will show you how to integrate eSignAnyWhere into your own products and systems. Moreover, some additional use cases are described:
- Basic Integration: Integrate eSignAnyWhere as middleware for remote signing
- Advanced Integration
- In-Person Signing with SIGNificant Apps/Products
- Integrate remote signing into your own (native) mobile Apps
- Integrate remote signing into your own web portal
- Integrate eSignAnyWhere document designer to define e-signing ceremonies in your own web application
Table of Contents | ||||
---|---|---|---|---|
|
...
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 /SOAP) 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 init 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.
Info |
---|
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! 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! |
Info |
---|
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
...
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.
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.
...
To connect eSignAnyWhere with one of the SIGNificant Products or App you have to suppress sending the email and catch the workstepId.
General steps:
...
1) Suppress Sending Email
Envelope Config (JSON/XML) for suppressing sending email for one recipient/
1) Suppress Sending Email
Envelope Config (JSON/XML) for suppressing sending email for one recipient/workflow-step:
Code Block | ||||
---|---|---|---|---|
| ||||
... "RecipientsRecipientConfiguration": [{ { "Email "DisableEmail": "recipient@email.com"true, "FirstName "ContactInformation": "Firstname",{ "LastName": "Lastname", "LanguageCodeEmail": "enjohndoe@sample.com", ... "DisableEmail": true, "GivenName": "John", ... "AuthenticationMethods": [] } ], ... | ||||
Expand | ||||
| ||||
Code Block | | |||
|
In the next section you can find a complete configuration:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "SspFileIdsDocuments": [{ "##FileId##" ], "SendEnvelopeDescription": { "NameFileId": "test83467fdc-1234-4592-1234-9c64787cd7a1", "EmailSubject": "Please sign the enclosed envelope", "EmailBodyDocumentNumber": "Dear #RecipientFirstName# #RecipientLastName#\n\n#PersonalMessage#\n\nPlease sign the envelope #EnvelopeName#\n\nEnvelope will expire at #ExpirationDate#", "DisplayedEmailSender1 } ], "Name": "Test", "EnableRemindersActivities": true,[{ "FirstReminderDayAmount": 5, "RecurrentReminderDayAmount": 3, "BeforeExpirationDayAmount": 3, "DaysUntilExpireAction": 28,{ "CallbackUrl": "", "StatusUpdateCallbackUrl": "", "Steps": [ { "OrderIndexSign": 1,{ "Recipients": [ { "EmailRecipientConfiguration": "##EMAIL##", { "DisableEmail": true, "FirstName": "##NAME##", "LastNameContactInformation": "##NAME##", { "LanguageCode": "en", "EmailBodyExtraEmail": "janedoe@sample.com", "DisableEmail": false, "AddAndroidAppLinkGivenName": false"Jane", "AddIosAppLink": false, "AddWindowsAppLink": false, "AllowDelegationSurname": false"Doe", "AllowAccessFinishedWorkstep": false, "SkipExternalDataValidation": false, "LanguageCode": "AuthenticationMethodsEN": [ { } "Method": "Pin", "Parameter": "1234" }, } ]"Elements": { } ], "EmailBodyExtra": "", "RecipientTypeSignatures": "Signer",[{ "WorkstepConfiguration": { "WorkstepLabel": "test", "SmallTextZoomFactorPercent": 100, "FinishActionTaskConfiguration": { "ServerActions": [], "ClientActionsOrderDefinition": []{ }, "ReceiverInformation": { "UserInformation": { "FirstNameOrderIndex": "##NAME##",0 "LastName": "##NAME##", "EMail": "##EMAIL##" }, "TransactionCodePushPluginData": [] }, "SenderInformation": { }, "UserInformation": { "FirstName": "##NAME##", "LastNameElementId": "##NAME##sample sig click2sign", "EMail": "##EMAIL##" } "Required": }true, "TransactionCodeConfigurations": [ { "IdDocumentNumber": "smsAuthTransactionCodeId"1, "HashAlgorithmIdentifier": "Sha256", "TextsDisplayName": [ "Sign here", ] "AllowedSignatureTypes": { } ], "SignatureConfigurations": [], "ViewerPreferencesClickToSign": { "FinishWorkstepOnOpen": false, "VisibleAreaOptions": { "AllowedDomain": "*", } "Enabled": false } }, "ResourceUris": { "SignatureImagesUri": "http://beta4.testlab.xyzmo.com//Resource/SignatureImages/?link=1agjn5MvqNpSt2jFiZQySxLEiAO~ecLOxKqy3soEHk2F4Dz1MPSYLxRkpA21XMkYY" }, "AuditingToolsConfiguration": "FieldDefinition": { "WriteAuditTrail": false, "NotificationConfiguration": {} }, "PolicyPosition": { "GeneralPolicies": { "AllowSaveDocument": true, "AllowSaveAuditTrailPageNumber": true1, "AllowRotatingPages": false, "AllowEmailDocument": true, "AllowPrintDocumentX": true100, "AllowFinishWorkstep": true, "AllowRejectWorkstep": true, "AllowRejectWorkstepDelegationY": false,200 "AllowUndoLastAction": false, "AllowAdhocPdfAttachments": false}, "AllowAdhocSignatures": false, "AllowAdhocStampings": false, "AllowAdhocFreeHandAnnotationsSize": false,{ "AllowAdhocTypewriterAnnotations": false, "AllowAdhocPictureAnnotations": false, "AllowAdhocPdfPageAppendingWidth": false100, }, "WorkstepTasks": { "PictureAnnotationMinResolutionHeight": 0,70 "PictureAnnotationMaxResolution": 0, "PictureAnnotationColorDepth": "Color16M", "SequenceMode": "NoSequenceEnforced",} "PositionUnits": "PdfUnits", "ReferenceCorner": "Lower_Left", } "Tasks": [ { } "Texts": [ {] "Language": "*"}, "ValueSigningGroup": "Signature Disclosure TextfirstSigner" } }, } }, { "Action": { "LanguageSendCopy": "en",{ "ValueRecipientConfiguration": "Signature{ Disclosure Text" } "ContactInformation": { ], "HeadingsEmail": ["johndoe@sample.com", { "GivenName": "John", "Language": "*", "ValueSurname": "Signature Disclosure SubjectDoe", }, "LanguageCode": "EN" { "Language": "en",} "Value": "Signature Disclosure Subject" } } ],} "IsRequired": false,} "Id": "ra", "DisplayName": "ra", ] } |
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:
Code Block | ||||
---|---|---|---|---|
| ||||
"IncludedEmailAppLinks": { "DocRefNumberAndroid": 1true, "DiscriminatorTypeiOS": "Agreements"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 AppresponseType=redirectToIOsApp
– redirects to iOS AppresponseType=redirectToWindowsApp
– redirects to Windows AppresponseType=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.
Code Block | ||||
---|---|---|---|---|
| ||||
"PolicyConfiguration": { "PositionPage": 1, "Position": { "PositionX": 63.0, "PositionY": 603.0 }, "Size": { "Height": 80.0, "Width": 190.0 }, "AdditionalParameters": [ { "Key": "enabled", "FinishActionConfiguration": { "Value": "1" }, { "Key"SignAnyWhereViewer": "positioning", { "ValueRedirectUri": "onPagestring" }, |
Integrate remote signing into your own (native) mobile Apps
Info |
---|
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/. |
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.
Code Block | ||||
---|---|---|---|---|
| ||||
{ "Documents": [{ }, { "Key": "req", "Value": "1" }, { "Key": "fd", "Value": "" }, { "Key": "fd_dateformat", "Value": "dd-MM-yyyy HH:mm:ss" }, { "Key": "fd_timezone", "Value": "datetimeutc" }, { "Key": "spcId", "ValueFileId": "tLevelId"19b7a4b4-1234-1234-1234-daa50efde453", "DocumentNumber": 1 } } ], ]"Name": "DraftCreate", "Activities": [{ "AllowedSignatureTypesAction": [{ "Sign": { "AllowedCapturingMethodRecipientConfiguration": "Click2Sign",{ "IdContactInformation": "679dd763-6e25-4a68-929d-cb1ce13dac7e", { "DiscriminatorTypeEmail": "SigTypeClick2Signjanedoe@sample.com", "PreferredGivenName": false"Jane", "StampImprintConfiguration": { "DisplayExtraInformationSurname": true"Doe", "DisplayEmail": true, "DisplayIp"LanguageCode": true"EN", "DisplayName": true, "PhoneNumber":"+43123456789" "DisplaySignatureDate": true, } "FontFamily": "Times New Roman", "FontSize": 11.0 } } ], "UseTimestamp": false, "IsRequired": true, "Id": "1#XyzmoDuplicateIdSeperator#Signature_a1e940eb-bcd5-2222-9777-f3570faedf3f", "DisplayName": "", "DocRefNumber": 1, "DiscriminatorType": "Signature" } ] } }, "Navigation": { "HyperLinks": [], "Links": [], "LinkTargets": [] } }, "DocumentOptions": [ { "DocumentReference": "1", "IsHidden": false } ], "UseDefaultAgreements": true }, { "OrderIndex": 2, "Recipients": [ { "Email": "##EMAIL##", "FirstName": "##NAME##", "LastName": "##NAME##", "LanguageCode": "en", "EmailBodyExtra": "", "DisableEmail": false, "AddAndroidAppLink": false, "AddIosAppLink": false, "AddWindowsAppLink": false, "AllowDelegation": false, "SkipExternalDataValidation": false, "AuthenticationMethods": [] } ], "EmailBodyExtra": "", "RecipientType": "Cc", "DocumentOptions": [], "UseDefaultAgreements": false } ], "AddFormFields": { "Forms": {} }, "OverrideFormFieldValues": { "Forms": {} }, "AttachSignedDocumentsToEnvelopeLog": false } } | ||||
Expand | ||||
|
Code Block | ||||
---|---|---|---|---|
| ||||
<envelope>
<name>eSignAnyWhere Tutorial</name>
<eMailSubject>Document of eSignAnyWhere Tutorial</eMailSubject>
<eMailBody>Dear #RecipientFirstName#! Please sign this tutorial document.</eMailBody>
<enableReminders>True</enableReminders>
<firstReminderDayAmount>1</firstReminderDayAmount>
<recurrentReminderDayAmount>1</recurrentReminderDayAmount>
<beforeExpirationReminderDayAmount>1</beforeExpirationReminderDayAmount>
<daysUntilExpire>2</daysUntilExpire>
<!-- callback to your backend system on a completed envelope
<callbackUrl>http://172.16.17.78:57550/default.aspx?EnvelopeId=##EnvelopeId##&myParamForMe=1234</callbackUrl>
-->
<callbackUrl />
<steps>
<step>
<emailBodyExtra />
<orderIndex>1</orderIndex>
<recipientType>Signer</recipientType>
<recipients>
<recipient>
<languageCode>en</languageCode>
<eMail>##SIGNER-EMAIL##</eMail>
<firstName>Alice</firstName>
<lastName>Somename</lastName>
<disableEmail>True</disableEmail>
</recipient>
</recipients>
<workstepConfiguration>
<WorkstepLabel />
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>11520</WorkstepTimeToLiveInMinutes>
<FinishAction />
<signatureTemplate>
<version>1.2.0.2</version>
<positionUnits>PdfUnits</positionUnits>
<positionReferenceCorner>Lower_Left</positionReferenceCorner>
<sig id="93cce567-ae5c-4e98-ac99-9f56ac034250">
<positionPage>1</positionPage>
<DocRefNumber>1</DocRefNumber>
<positionX>80.22857</positionX>
<positionY>158.8629</positionY>
<width>171.4286</width>
<height>68.57143</height>
<param name="enabled">1</param>
<param name="completed">0</param>
<param name="sigType">Picture</param>
<param name="positioning">onPage</param>
<param name="allowedCapturingMethods">Click2Sign</param>
</sig>
</signatureTemplate>
<Policy version="1.1.0.0">
<GeneralPolicies>
<AllowSaveDocument>1</AllowSaveDocument>
<AllowSaveAuditTrail>1</AllowSaveAuditTrail>
</GeneralPolicies>
<WorkstepTasks SequenceMode="SequenceOnlyRequiredTasks" originalSequenceMode="SequenceOnlyRequiredTasks">
<Task enabled="1" completed="0" required="1" id="93cce567-ae5c-4e98-ac99-9f56ac034250" displayName="SignField 1" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1" allRequiredFieldsFilledOnWorkstepCreation="0" />
</WorkstepTasks>
</Policy>
<TransactionCodeConfigurations>
<TransactionCodeConfiguration trConfId="">
<Message>Please sign the document with the transactionId {tId} with the code: {Token}</Message>
<hashAlgorithmIdentifier>Sha256</hashAlgorithmIdentifier>
</TransactionCodeConfiguration>
<TransactionCodeConfiguration trConfId="Trans1">
<Message>Please accept the transactionId {tId} with the code: {Token}</Message>
<hashAlgorithmIdentifier>Sha256</hashAlgorithmIdentifier>
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
</workstepConfiguration>
</step>
</steps>
</envelope> |
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/XML) the following parameters:
Code Block | ||||
---|---|---|---|---|
| ||||
"Recipients": [
{
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
}
], |
...
title | Alternative: SOAP implementation (deprecated) |
---|
Code Block | ||||
---|---|---|---|---|
| ||||
<envelope>
<steps>
<step>
<recipients>
<recipient>
<addAndroidAppLink>0</addAndroidAppLink> <!-- 0 or 1 -->
<addIosAppLink>0</addIosAppLink> <!-- 0 or 1 -->
<addWindowsAppLink>0</addWindowsAppLink> <!-- 0 or 1 -->
</recipient>
</recipients>
</step>
</steps>
</envelope> |
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 /Api/v4.0/envelope/{envelopeId} for REST orGetEnvelopeById_v1 for SOAP .
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.xyzmo.com/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 AppresponseType=redirectToIOsApp
– redirects to iOS AppresponseType=redirectToWindowsApp
– redirects to Windows AppresponseType=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.
Code Block | ||||
---|---|---|---|---|
| ||||
"FinishAction": {
"ServerActions": [],
"ClientActions": []
}, |
...
title | Alternative: SOAP implementation (deprecated) |
---|
Code Block | ||||
---|---|---|---|---|
| ||||
<FinishAction>
<ClientAction clientName="SIGNificant SignAnywhere" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1">http://www.xyzmo.com</ClientAction>
</FinishAction> |
The ClientAction in the SOAP section would forward the SignAnywhere Viewer, after the recipient has signed the document to www.xyzmo.com. You can replace the link with your own or even with parameter to recipient specific pages.
Integrate remote signing into your own (native) mobile Apps
Info |
---|
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/. |
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/XML) and instead of catching the WorkstepID you just take the workstepRedirectURL
of the response of /Api/v4.0/envelope/{envelopeId} for REST or GetEnvelopeById_v1 for SOAP
. 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:
...
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.
Code Block | ||||
---|---|---|---|---|
| ||||
{ "SspFileIds": [ "##FileId##" ], "SendEnvelopeDescription": { "Name": "test", "EmailSubject": "Please sign the enclosed envelope", "EmailBody": "Dear #RecipientFirstName# #RecipientLastName#\n\n#PersonalMessage#\n\nPlease sign the envelope #EnvelopeName#\n\nEnvelope will expire at #ExpirationDate#", "DisplayedEmailSender": "", "EnableReminders": true, "FirstReminderDayAmount": 5, "RecurrentReminderDayAmount": 3, "BeforeExpirationDayAmount": 3, "DaysUntilExpire": 28, "CallbackUrl": "", "StatusUpdateCallbackUrl": "", "Steps": [ { "OrderIndex": 1, "Recipients": [ { }, "Elements": { "Signatures": [{ "TaskConfiguration": { "OrderDefinition": { "Email": "##EMAIL##", "FirstNameOrderIndex": "##NAME##", 0 "LastName": "##NAME##", "LanguageCode": "en", "EmailBodyExtra": "", } "DisableEmail": false, "AddAndroidAppLink": false, "AddIosAppLink": true}, "AddWindowsAppLink": false, "AllowDelegation": true, "SkipExternalDataValidationElementId": false"click2sign", "AuthenticationMethods": [] } ], "EmailBodyExtraRequired": ""true, "RecipientType": "Signer", "DocumentOptionsDocumentNumber": [ 1, { "DocumentReferenceDisplayName": "1Sign here", "IsHidden": false } ], "UseDefaultAgreementsAllowedSignatureTypes": true{ }, { "OrderIndex": 2, "Recipients": [ { "EmailClickToSign": "##EMAIL##",{ "FirstName": "##NAME##", "LastName": "##NAME##", "LanguageCode": "en", } "EmailBodyExtra": "", "DisableEmail": false, "AddAndroidAppLink": false}, "AddIosAppLink": false, "AddWindowsAppLink": false, "AllowDelegationFieldDefinition": false,{ "SkipExternalDataValidation": false, "AuthenticationMethods": [] } ],"Position": { "EmailBodyExtra": "", "RecipientType": "Cc", "DocumentOptions": [], "UseDefaultAgreements": false } ], "AddFormFieldsPageNumber": {1, "Forms": {} }, "OverrideFormFieldValues": { "Forms": {} }, "AttachSignedDocumentsToEnvelopeLog": false }, "CreateDraftOptions": { "AfterSendRedirectUrl": "http://www.mycallback.at/DraftAfterSendRedirect?envelope=##EnvelopeId##&action=##Action##", "AfterSendCallbackUrl": "http://www.mycallback.at/DraftAfterSendCallback?envelope=##EnvelopeId##&action=##Action##", "RedirectPolicy": "ToDesigner", "AllowAgentRedirectX": true100, "IframeWhiteList": "http://172.16.17.256;http://foo.org" } } | ||||
Expand | ||||
| ||||
Code Block | | |||
|
In REST the CreateDraftOptions is already given in the envelope description.
]
} |
For the redirect policy please add the following:
Info | ||||||||
---|---|---|---|---|---|---|---|---|
Note the following regarding AgentRedirectConfiguration:
| ||||||||
Expand | ||||||||
title | Alternative: SOAP implementation (deprecated)
|
RedirectPolicy values:
- “ToDesigner” (like it is in the example)
- “ToRecipients” -> in JSON, “ToCreateEnvelope” in XML
- “ToSend”
Please also see Guide for manifest.xml#SecuritySection (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 |
---|
Workflow |
---|
Summary | |
---|---|
ToDesigner | ToCreateEnvelope |
|
|
ToSend | |
Info |
---|
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. |
...
http://www.significant.com/AgentRedirect/index?draftid=##draftid##
or
https://demo.xyzmoesignanywhere.comnet/AgentRedirect/index?draftid=##draftid##
...
The following picture show you an example of a complex integration/use case.
Description:
- An agent designs in your web portal via integrated document designer the e-signing ceremony
- 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.
- An agent has to confirm the signed document. The agent gets an email from the eSignAnyWhere System and signs it in the browser.
...
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.
Recommended is to use the envelope status change callback to get detailed information about the callbacks. See API Reference for details how to configure the callback.
So you can allow users to send envelopes via eSAW UI and integrate a post processing, e.g. for automated archiving.
...
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.