This sample guides you through the configuration of the workstep. Generally the following steps are necessary to test the workstep configuration.
- Upload a file
- Create a workstep configuration
- Send an envelope
Upload a file
First, you will need a PDF document which you want to upload.
For REST you need the following URL: https://demo.esignanywhere.net/Api/v4.0/sspfile/uploadtemporary
For SOAP you need the API call UploadTemporarySspFile_v1
For this call you need an authentication. For authentication, you’ll need an api token. You can find this information in Settings / Api Tokens and Apps. Note that all API methods require authentication. For more information about the authorization please have a look the API Reference Guide for SOAP or the Postman Guide for REST
Alternative: SOAP implementation (deprecated)
After the authorization you need to BASE64 the PDF which you want to upload. If the call was successful you get a file Id which we will need for sending an envelope.
Workstep configuration
The workstep configuration is the core of the envelope. Within the workstep configuration you can define following settings:
- AdditionalClientWorkstepInformation
- Viewer preferences
- Policy
- Sender and receiver information
- Workstep tasks
- Signature template
- Authentication
- PdfForms
Empty workstep
Lets start with an empty workstep first and then fill it step by step with the settings above. In the next collapse you can find an empty workstep (change ##EMAIL## to the email-address and ”NAME## to the name of the recipient you want to send the envelope):
{
"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": [
{
"Email": "##EMAIL##",
"FirstName": "##NAME##",
"LastName": "##NAME##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": true,
"SkipExternalDataValidation": false,
"AuthenticationMethods": []
}
],
"EmailBodyExtra": "",
"RecipientType": "Signer",
"WorkstepConfiguration": {
"WorkstepLabel": "test",
"SmallTextZoomFactorPercent": 100,
"FinishAction": {
"ServerActions": [],
"ClientActions": []
},
"TransactionCodePushPluginData": [],
"TransactionCodeConfigurations": [
{
}
],
"SignatureConfigurations": [],
"ViewerPreferences": {
"FinishWorkstepOnOpen": false,
"VisibleAreaOptions": {
"AllowedDomain": "*",
"Enabled": false
}
},
"Policy": {
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": []
}
}
},
"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
}
}
Alternative: SOAP implementation (deprecated)
<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>##EMAIL##</eMail>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
</recipient>
</recipients>
<workstepConfiguration>
<WorkstepLabel />
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>11520</WorkstepTimeToLiveInMinutes>
<FinishAction />
<ViewerPreferences>
</ViewerPreferences>
<signatureTemplate>
</signatureTemplate>
<Policy version="1.1.0.0">
<GeneralPolicies>
</GeneralPolicies>
<WorkstepTasks SequenceMode="SequenceOnlyRequiredTasks" originalSequenceMode="SequenceOnlyRequiredTasks">
</WorkstepTasks>
</Policy>
<TransactionCodeConfigurations>
<TransactionCodeConfiguration trConfId="">
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
</workstepConfiguration>
</step>
</steps>
</envelope>
Alternative: SOAP implementation (deprecated)
The highlighted text in the SOAP tab is the workstep configuration. Everything around the text is the envelope description. This description is used to define for example the recipients who should get the envelope. In this case the envelope description contains one recipient.
If the recipient opens the envelope it should look like the following screenshot:
With this empty workstep configuration we can now add the settings which are mentioned above. First, let us start with the viewer preferences.
Prepare envelope
With the api call: basicURL/envelope/prepare in REST and PrepareSendEnvelopeSteps_v1 in SOAP you can also create a workstep configuration. For this api call you need the FileId and a prepare configuration. You can find a sample configuration in the next section:
{
"SspFileIds": [
"##FileId##"
],
"AdHocWorkstepConfiguration": {
"WorkstepLabel": "string",
"SmallTextZoomFactorPercent": 0,
"WorkstepTimeToLiveInMinutes": 0,
"FinishAction": {
"ClientActions": [
{
"RemoveDocumentFromRecentDocumentList": true,
"CallClientActionOnlyAfterSuccessfulSync": true,
"ClientName": "string",
"CloseApp": true,
"Action": "string"
}
]
},
"NoSequenceEnforced": true,
"SigTemplate": {
"Size": {
"Height": 0,
"Width": 0
},
"AllowedSignatureTypes": [
]
},
"ParseFormFields": {
"MapRequiredFieldsToRequiredTask": true,
"FormsGrouping": "PerPage",
"ReturnSimplifiedConfig": true,
"AddKeepExistingValueFlag": true,
"ParseFormField": true
},
"AdhocPolicies": {
"AllowModificationsAfterSignature": true
},
"ViewerPreferences": {
"ShowPageNavigationBar": true,
"ShowThumbnails": true,
"SkipFinishConfirmDialog": true,
"SkipDocumentDialog": true,
"ShowImagesInFullWidth": true,
"DisableGeolocation": true,
"ShowDocumentDownloadDialogAfterAutomaticFinish": true,
"AttachmentsMaxFileSize": 0,
"SkipPreviewImageOnDisposableCertificate": true,
"LoadCustomJs": true,
"AllowCustomButtons": true,
"GuidingBehavior": "GuideOnlyRequiredTasks",
"FormFieldsGuidingBehavior": "AllowSubmitAlways",
"ShowVersionNumber": true,
"EnableWarningPopupOnLeave": true,
"WarningPopupDisplayAfter": "FillOrSignField",
"FinishWorkstepOnOpen": true,
"AutoFinishAfterRequiredTasksDone": true,
"GuidingBehaviorOnFinishedTask": "NoMove",
"SkipThankYouDialog": true,
"NativeAppsUrlScheme": "string",
"DocumentViewingMode": "EndlessPaperAllDocuments",
"ThumbnailMode": "ShowAllPages",
"ShowTopBar": true,
"DisplayRejectButtonInTopBar": true,
"MultipleSignatureTypesAndBatchSigningSettings": {
"IsUseBatchSigningCheckedByDefault": true,
"IsRememberSignatureTypeCheckedByDefault": true,
"IsRememberBatchSigningDecisionCheckedByDefault": true,
"SkipMultipleSignatureTypesAndBatchSigningDialogIfBatchSigningPossible": true
},
"VisibleAreaOptions": {
"AllowedDomain": "string",
"Enabled": true
},
"ShowStartGuidingHint": true,
"ShowStatusBar": true,
"ShowZoomButtons": true,
"ShowNoGeolocationWarning": true,
"AutoStartGuiding": true,
"ShowPageGap": true,
"ShowPageNavigationButtons": true,
"ShowFinishPossibleHint": true,
"SkipRejectConfirmDialog": true
},
"SignatureConfigurations": [
{
"SpcId": "string",
"PdfSignatureProperties": {
"PdfAConformant": true,
"PAdESPart4Compliant": true,
"IncludeSigningCertificateChain": true,
"SigningCertificateRevocationInformationIncludeMode": "DoNotInclude",
"SignatureTimestampData": {
"Uri": "string",
"Username": "string",
"Password": "string",
"SignatureHashAlgorithm": "Sha1",
"AuthenticationCertifiateDescriptor": {
"Identifier": "string",
"Type": "string"
}
}
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha1",
"SigningCertificateDescriptor": {
"Identifier": "string",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
},
"CertificateFilter": {
"KeyUsages": [
"string"
],
"ThumbPrints": [
"string"
],
"RootThumbPrints": [
"string"
]
}
}
],
"SigStringParsingConfiguration": {
"SigStringsForParsings": [
{
"StartPattern": "string",
"EndPattern": "string",
"ClearSigString": true,
"SearchEntireWordOnly": true
}
]
},
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": true,
"AllowAppendFileToWorkstep": true,
"AllowAppendTaskToWorkstep": true,
"AllowEmailDocument": true,
"AllowPrintDocument": true,
"AllowFinishWorkstep": true,
"AllowRejectWorkstep": true,
"AllowRejectWorkstepDelegation": true,
"AllowUndoLastAction": true,
"AllowColorizePdfForms": true,
"AllowAdhocPdfAttachments": true,
"AllowAdhocSignatures": true,
"AllowAdhocStampings": true,
"AllowAdhocFreeHandAnnotations": true,
"AllowAdhocTypewriterAnnotations": true,
"AllowAdhocPictureAnnotations": true,
"AllowAdhocPdfPageAppending": true,
"AllowReloadOfFinishedWorkstep": true
},
"FinalizeActions": {
"FinalizeActionList": [
]
},
"TransactionCodeConfigurations": [
{
"Id": "string",
"HashAlgoritmIdentifier": "Sha1",
"Texts": [
{
"Language": "string",
"Value": "string"
}
]
}
]
},
"PrepareSendEnvelopeStepsDescriptor": {
"ClearFieldMarkupString": true
}
}
Alternative: SOAP implementation (deprecated)
<AdhocWorkstepConfiguration>
<WorkstepLabel /> <SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent> <WorkstepTimeToLiveInMinutes>10</WorkstepTimeToLiveInMinutes>
<FinishAction />
<NoSequenceEnforced>0</NoSequenceEnforced>
<SigTemplate>
<width>50.5</width>
<height>100.5</height>
</SigTemplate>
<ParseFormFields mapRequiredFieldsToRequiredTask="1" formsGrouping="PerPage" returnSimplifiedConfig="0" addKeepExistingValueFlag="0">1</ParseFormFields>
<AdhocPolicies>
<AllowModificationsAfterSignature>1</AllowModificationsAfterSignature>
</AdhocPolicies>
<PictureAnnotationConfigurationDefaults>
<MinResolution>100</MinResolution>
<MaxResolution>300</MaxResolution>
<ColorDepth>Color16M</ColorDepth>
</PictureAnnotationConfigurationDefaults>
<signaturePluginConfiguration>
<PdfSignatureProperties_V1>
<PdfAConformant>0</PdfAConformant> <PAdESPart4Compliant>0</PAdESPart4Compliant> <IncludeSigningCertificateChain>0</IncludeSigningCertificateChain> <SigningCertificateRevocationInformationIncludeMode>DoNotInclude</SigningCertificateRevocationInformationIncludeMode>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1> <SignatureHashAlgorithm>Sha1</SignatureHashAlgorithm>
<SigningCertificateDescriptor> <Identifier>DDED02DC192573B722E8C027F0E47E63152EB822</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<SigStringParsingConfiguration>
<SigStringsForParsing>
<StartPattern>`sig</StartPattern>
<EndPattern>`</EndPattern>
<ClearSigString>1</ClearSigString>
<SearchEntireWordOnly>1</SearchEntireWordOnly>
</SigStringsForParsing>
</SigStringParsingConfiguration>
<GeneralPolicies>
<AllowSaveDocument>1</AllowSaveDocument> <AllowSaveAuditTrail>0</AllowSaveAuditTrail> <AllowRotatingPages>1</AllowRotatingPages> <AllowAppendFileToWorkstep>0</AllowAppendFileToWorkstep> <AllowAppendTasksToWorkstep>0</AllowAppendTasksToWorkstep> <AllowEmailDocument>0</AllowEmailDocument> <AllowPrintDocument>0</AllowPrintDocument> <AllowFinishWorkstep>1</AllowFinishWorkstep> <AllowRejectWorkstep>1</AllowRejectWorkstep> <AllowRejectWorkstepDelegation>0</AllowRejectWorkstepDelegation> <AllowUndoLastAction>1</AllowUndoLastAction> <AllowColorizePdfForms>0</AllowColorizePdfForms> <AllowAdhocPdfAttachments>1</AllowAdhocPdfAttachments> <AllowAdhocSignatures>1</AllowAdhocSignatures> <AllowAdhocStampings>1</AllowAdhocStampings> <AllowAdhocFreeHandAnnotations>1</AllowAdhocFreeHandAnnotations> <AllowAdhocTypewriterAnnotations>1</AllowAdhocTypewriterAnnotations> <AllowAdhocPictureAnnotations>0</AllowAdhocPictureAnnotations> <AllowAdhocPdfPageAppending>1</AllowAdhocPdfPageAppending>
</GeneralPolicies>
</AdhocWorkstepConfiguration>
Alternative: SOAP implementation (deprecated)
For the api call in SOAP you also need the following configuration:
<prepareSendEnvelopeStepsDescriptor>
<clearFieldMarkupString>1</clearFieldMarkupString>
</prepareSendEnvelopeStepsDescriptor>
In REST you already have this configuration:
"PrepareSendEnvelopeStepsDescriptor": {
"ClearFieldMarkupString": true
}
This field is used to provide additional information. Note: Must be written in XML form.
Expiration date
Note: The following information is valid for envelopes as well as for drafts: Settings for the relative time:
- Envelope expiry as relative time, provided in seconds (or milliseconds) after sending the envelope
- Envelope expiry as relative time, in days after sending the envelope
Settings for the absolute time:
- Envelope expiry as absolute time, as timestamp in GMT (with Z in the timestamp text) or optional with defined timezone
Please note the following: Defining no option will lead to usage of the default value of 28 days. Moreover, if you configure an absolute expiry time which is already in the past at time of sending the envelope, an error message will be returned. For the draft, it is required to have both options - store absolute or relative time. For the envelopes, only an absolute timestamp is required to be set and considered while being in progress. Please also see the next REST API configuration.
Absolute expiration date:
// works with envelope/send
// works with draft/create
"SendEnvelopeDescription": {
...
"ExpirationDate": "2021-03-22T08:34:50.775Z",
...
}
// works with draft/createFromTemplate
// works with envelope/sendFromTemplate
"EnvelopeOverrideOptions": {
...
"ExpirationDate": "2021-03-22T08:34:50.775Z",
...
}
// works with draft/update
{
"ExpirationDate": "2021-03-22T08:34:50.775Z"
}
Relative expiration date:
// works with envelope/send
// works with draft/create
"SendEnvelopeDescription": {
...
"DaysUntilExpire": 1,
// EXCLUSIVE OR!! (Only one is allowed - otherwise error)
"ExpirationInSecondsAfterSending": 86400,
...
}
// works with draft/createFromTemplate
// works with envelope/sendFromTemplate
"EnvelopeOverrideOptions": {
...
"DaysUntilExpire": 1,
// EXCLUSIVE OR!! (Only one is allowed - otherwise error)
"ExpirationInSecondsAfterSending": 86400,
...
}
// works with draft/update
{
"ExpirationInSecondsAfterSending": }
Viewer preferences
Following lines of code show some viewer preferences configurations:
"ViewerPreferences": {
"ShowPageNavigationButtons": true,
"ShowThumbnails": true,
"SkipFinishConfirmDialog": true,
"SkipDocumentDialog": true,
"ShowImagesInFullWidth": true,
"DisableGeolocation": true,
"ShowDocumentDownloadDialogAfterAutomaticFinish": true,
"SkipPreviewImageOnDisposableCertificate": true,
"LoadCustomJs": true,
"AllowCustomButtons": true,
"ShowVersionNumber": true,
"EnableWarningPopupOnLeave": true,
"FinishWorkstepOnOpen": true,
"AutoFinishAfterRequiredTasksDone": true,
"SkipThankYouDialog": true,
"ShowTopBar": true,
"DisplayRejectButtonInTopBar": true,
"ShowStartGuidingHint": true,
"ShowStatusBar": true,
"ShowZoomButtons": true,
"ShowNoGeolocationWarning": true,
"AutoStartGuiding": true,
"ShowPageGap": true,
"ShowPageNavigationButtons": true,
"ShowFinishPossibleHint": true,
"SkipRejectConfirmDialog": true,
"BatchSigningDisableNextButtonUntilDialogScrolledToBottom": true
}
Alternative: SOAP implementation (deprecated)
<ViewerPreferences>
<ShowThumbnails>1</ShowThumbnails>
<ShowStatusBar>1</ShowStatusBar>
<ShowTopBar>1</ShowTopBar>
<FinishWorkstepOnOpen>1</FinishWorkstepOnOpen>
<BatchSigningDisableNextButtonUntilDialogScrolledToBottom>1</BatchSigningDisableNextButtonUntilDialogScrolledToBottom>
<GuidingBehavior>GuideRequiredAndOptionalTasks</GuidingBehavior>
<BatchSigningType>Basic</BatchSigningType>
<FormFieldsGuidingBehavior>AllowSubmitAlways</FormFieldsGuidingBehavior>
<GuidingBehaviorOnFinishedTask>MoveToNext</GuidingBehaviorOnFinishedTask>
<SkipPreviewImageOnDisposableCertificate>1</SkipPreviewImageOnDisposableCertificate>
<ShowPageNavigationButtons>1</ShowPageNavigationButtons>
<ShowZoomButtons>1</ShowZoomButtons>
<ShowPageGap>1</ShowPageGap>
<SkipFinishConfirmDialog>1</SkipFinishConfirmDialog>
<SkipRejectConfirmDialog>1</SkipRejectConfirmDialog>
<SkipDocumentDialog>1</SkipDocumentDialog>
<ShowImagesInFullWidth>1</ShowImagesInFullWidth>
<DisableGeolocation>1</DisableGeolocation>
<ShowNoGeolocationWarning>1</ShowNoGeolocationWarning>
<ShowDocumentDownloadDialogAfterAutomaticFinish>1</ShowDocumentDownloadDialogAfterAutomaticFinish>
<AllowCustomButtons>1</AllowCustomButtons>
<AutoFinishAfterRequiredTasksDone>1</AutoFinishAfterRequiredTasksDone>
<DisplayRejectButtonInTopBar>1</DisplayRejectButtonInTopBar>
<TriggerBankIdDesktopApp>1</TriggerBankIdDesktopApp>
<AutoStartGuiding>1</AutoStartGuiding>
<EnableWarningPopupOnLeave>1</EnableWarningPopupOnLeave>
<WarningPopupDisplayAfter>FillOrSignField</WarningPopupDisplayAfter>
<DocumentViewingMode>EndlessPaperAllDocuments</DocumentViewingMode>
<SendVisibleArea allowedDomain="*">1</SendVisibleArea>
</ViewerPreferences>
Policy
The following list shows the policy configurations:
Note: With the value “1” you enable the policy and with the value “0” you disable the policy. In the following list all policies are enabled.
"Policy": {
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": true,
"AllowAppendFileToWorkstep": true,
"AllowAppendTaskToWorkstep": true,
"AllowEmailDocument": true,
"AllowPrintDocument": true,
"AllowFinishWorkstep": true,
"AllowRejectWorkstep": true,
"AllowRejectWorkstepDelegation": true,
"AllowUndoLastAction": true,
"AllowColorizePdfForms": true,
"AllowAdhocPdfAttachments": true,
"AllowAdhocSignatures": true,
"AllowAdhocStampings": true,
"AllowAdhocFreeHandAnnotations": true,
"AllowAdhocTypewriterAnnotations": true,
"AllowAdhocPictureAnnotations": true,
"AllowAdhocPdfPageAppending": true,
"AllowReloadOfFinishedWorkstep": true,
}
},
Alternative: SOAP implementation (deprecated)
<GeneralPolicies>
<AllowSaveDocument>1</AllowSaveDocument>
<AllowSaveAuditTrail>1</AllowSaveAuditTrail>
<AllowRotatingPages>1</AllowRotatingPages>
<AllowAppendFileToWorkstep>1</AllowAppendFileToWorkstep>
<AllowAppendTasksToWorkstep>1</AllowAppendTasksToWorkstep>
<AllowEmailDocument>1</AllowEmailDocument>
<AllowPrintDocument>1</AllowPrintDocument>
<AllowFinishWorkstep>1</AllowFinishWorkstep>
<AllowRejectWorkstep>1</AllowRejectWorkstep>
<AllowRejectWorkstepDelegation>1</AllowRejectWorkstepDelegation>
<AllowUndoLastAction>1</AllowUndoLastAction>
<AllowColorizePdfForms>1</AllowColorizePdfForms>
<AllowReloadOfFinishedWorkstep>1</AllowReloadOfFinishedWorkstep>
<AllowAdhocPdfAttachments>1</AllowAdhocPdfAttachments>
<AllowAdhocSignatures>1</AllowAdhocSignatures>
<AllowAdhocStampings>1</AllowAdhocStampings>
<AllowAdhocFreeHandAnnotations>1</AllowAdhocFreeHandAnnotations>
<AllowAdhocTypewriterAnnotations>1</AllowAdhocTypewriterAnnotations>
<AllowAdhocPictureAnnotations>1</AllowAdhocPictureAnnotations>
<AllowAdhocPdfPageAppending>1</AllowAdhocPdfPageAppending>
</GeneralPolicies>
All policies disabled | All policies enabled |
| |
As you can see on the right screenshot the recipient of the envelope can now print the document as well as reject the envelope and more.
Client Actions
In this section you can define client actions. For detailed information please have a look at the configuration below.
"ClientActions": [
{
"RemoveDocumentFromRecentDocumentList": false,
"CallClientActionOnlyAfterSuccessfulSync": true,
"ClientName": "SIGNificant SignAnywhere",
"CloseApp": false,
"Action": "https://www.esignanywhere.net/"
}
]
},
Alternative: SOAP implementation (deprecated)
<FinishAction>
<ClientAction clientName="SIGNificant SignAnywhere" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1">https://www.esignanywhere.net/</ClientAction>
</FinishAction>
"SenderInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
}
},
},
Alternative: SOAP implementation (deprecated)
<senderInformation>
<userInformation>
<firstName>FIRSTNAME</firstName>
<lastName>LASTNAME</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
</senderInformation>
"ReceiverInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
}
},
Alternative: SOAP implementation (deprecated)
<receiverInformation>
<userInformation>
<firstName>FIRSTNAME</firstName>
<lastName>LASTNAME</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
<showNamirialDisposableDisclaimer>0</showNamirialDisposableDisclaimer>
</receiverInformation>
Workstep task
Every task you add to the envelope you have to add also in the section Tasks in REST and in the following section if you create the envelope with SOAP: <WorkstepTasks>##TASK##</WorkstepTasks>. Furthermore you have to define the signature in the section signature template (only in SOAP):
Signatures
Note: In the StampImprintConfiguration you can define which data should be displayed after signing. So you could set, for example, that the IP address and the name should not be displayed after signing. Please see the next sample for a configuration in which all data is displayed. This is followed by a configuration in which only the date, the transaction token and the transaction id should be displayed.
"AllowedSignatureTypes": [
{
"TrModType": "TransactionCodeSenderPlugin",
"TrValidityInSeconds": 300,
"Ly": "simpleTransactionCodeSms",
"TrConfId": "otpSignatureSmsText",
"IsPhoneNumberRequired": false,
"Id": "cee105ae-f407-42f9-993c-6b664055f5fb",
"DiscriminatorType": "SigTypeTransactionCode",
"Preferred": false,
"StampImprintConfiguration": {
"DisplayExtraInformation": true,
"DisplayEmail": true,
"OverrideLegacyStampImprint": true,
"DisplayTransactionId":true,
"DisplayTransaktionToken":true,
"DisplayPhoneNumber":true,
"DisplayIp": true,
"DisplayName": true,
"DisplaySignatureDate": true,
"FontFamily": "Times New Roman",
"FontSize": 11.0
}
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_0d123383-e054-81ec-0b17-96c4e7b955b3",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
}
},
Alternative: SOAP implementation (deprecated)
<AllowedSignatureTypes>
<sigType id="3dd00265-9101-4b90-b2ac-330fa8f2180a" type="TransactionCode">
<trModType>TransactionCodeSenderPlugin</trModType>
<trConfId>otpSignatureSmsText</trConfId>
<trValidityInSeconds>300</trValidityInSeconds>
<ly>simpleTransactionCodeSms</ly>
<phonenumber>##phonenumber##</phonenumber>
<StampImprintConfiguration>
<DisplayExtraInformation>1</DisplayExtraInformation>
<OverrideLegacyStampImprint>1</OverrideLegacyStampImprint> <DisplayTransactionId>1</DisplayTransactionId>
<DisplayTransaktionToken>1</DisplayTransaktionToken>
<DisplayPhoneNumber>1</DisplayPhoneNumber>
<DisplayEmail>1</DisplayEmail>
<DisplayIp>1</DisplayIp>
<DisplayName>1</DisplayName>
<DisplaySignatureDate>1</DisplaySignatureDate>
<FontFamily>Times New Roman</FontFamily>
<FontSize>11</FontSize>
</StampImprintConfiguration>
</sigType>
</AllowedSignatureTypes>
Result (All data shown):
"AllowedSignatureTypes": [
{
"TrModType": "TransactionCodeSenderPlugin",
"TrValidityInSeconds": 300,
"Ly": "simpleTransactionCodeSms",
"TrConfId": "otpSignatureSmsText",
"IsPhoneNumberRequired": false,
"Id": "cee105ae-f407-42f9-993c-6b664055f5fb",
"DiscriminatorType": "SigTypeTransactionCode",
"Preferred": false,
"StampImprintConfiguration": {
"DisplayExtraInformation": true,
"DisplayEmail": false,
"OverrideLegacyStampImprint": false,
"DisplayTransactionId":true,
"DisplayTransaktionToken":true,
"DisplayPhoneNumber":false,
"DisplayIp": false,
"DisplayName": false,
"DisplaySignatureDate": true,
"FontFamily": "Times New Roman",
"FontSize": 11.0
}
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_0d123383-e054-81ec-0b17-96c4e7b955b3",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
}
},
Alternative: SOAP implementation (deprecated)
<AllowedSignatureTypes>
<sigType id="3dd00265-9101-4b90-b2ac-330fa8f2180a" type="TransactionCode">
<trModType>TransactionCodeSenderPlugin</trModType>
<trConfId>otpSignatureSmsText</trConfId>
<trValidityInSeconds>300</trValidityInSeconds>
<ly>simpleTransactionCodeSms</ly>
<phonenumber>##phonenumber##</phonenumber>
<StampImprintConfiguration>
<DisplayExtraInformation>1</DisplayExtraInformation>
<OverrideLegacyStampImprint>0</OverrideLegacyStampImprint>
<DisplayTransactionId>1</DisplayTransactionId>
<DisplayTransaktionToken>1</DisplayTransaktionToken>
<DisplayPhoneNumber>0</DisplayPhoneNumber>
<DisplayEmail>0</DisplayEmail>
<DisplayIp>0</DisplayIp>
<DisplayName>0</DisplayName>
<DisplaySignatureDate>1</DisplaySignatureDate>
<FontFamily>Times New Roman</FontFamily>
<FontSize>11</FontSize>
</StampImprintConfiguration>
</sigType>
</AllowedSignatureTypes>
Result (Transaction token, Transaction ID, Signing time):
Click2Sign
This is the simplest signature type, the signer has just to click on the signature field to sing it.
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 69.0,
"PositionY": 529.92
},
"Size": {
"Height": 80.0,
"Width": 190.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "req",
"Value": "1"
},
{
"Key": "fd",
"Value": ""
},
{
"Key": "fd_dateformat",
"Value": "dd-MM-yyyy HH:mm:ss"
},
{
"Key": "fd_timezone",
"Value": "datetimeutc"
}
],
"AllowedSignatureTypes": [
{
"AllowedCapturingMethod": "Click2Sign",
"StampImprintConfiguration": {
"DisplayExtraInformation": true,
"DisplayEmail": true,
"DisplayIp": true,
"DisplayName": true,
"DisplaySignatureDate": true,
"FontFamily": "Times New Roman",
"FontSize": 11.0
},
"Id": "d63ec0d5-a2ca-46d9-9c73-7bd8d91aa4ea",
"DiscriminatorType": "SigTypeClick2Sign",
"Preferred": true
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_94816166-6b59-1cc1-de9b-285633162aef",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
}
}
},
Alternative: SOAP implementation (deprecated)
<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>
Draw2Sign
This type allows the signer to draw a signature by mouse, finger or pen. Just an image of the signature is created and embedded into the document.
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 69.0,
"PositionY": 529.92
},
"Size": {
"Height": 80.0,
"Width": 190.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "req",
"Value": "1"
},
{
"Key": "fd",
"Value": ""
},
{
"Key": "fd_dateformat",
"Value": "dd-MM-yyyy HH:mm:ss"
},
{
"Key": "fd_timezone",
"Value": "datetimeutc"
}
],
"AllowedSignatureTypes": [
{
"AllowedCapturingMethod": "Draw2Sign",
"StampImprintConfiguration": {
"DisplayExtraInformation": true,
"DisplayEmail": true,
"DisplayIp": true,
"DisplayName": true,
"DisplaySignatureDate": true,
"FontFamily": "Times New Roman",
"FontSize": 11.0
},
"Id": "d63ec0d5-a2ca-46d9-9c73-7bd8d91aa4ea",
"DiscriminatorType": "SigTypeDraw2Sign",
"Preferred": true
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_94816166-6b59-1cc1-de9b-285633162aef",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
}
}
},
Alternative: SOAP implementation (deprecated)
<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">Draw2Sign</param>
</sig>
Type2Sign
With this type of signature the signer has to type in his/her name to sign the signature field.
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 69.0,
"PositionY": 529.92
},
"Size": {
"Height": 80.0,
"Width": 190.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "req",
"Value": "1"
},
{
"Key": "fd",
"Value": ""
},
{
"Key": "fd_dateformat",
"Value": "dd-MM-yyyy HH:mm:ss"
},
{
"Key": "fd_timezone",
"Value": "datetimeutc"
}
],
"AllowedSignatureTypes": [
{
"AllowedCapturingMethod": "Type2Sign",
"StampImprintConfiguration": {
"DisplayExtraInformation": true,
"DisplayEmail": true,
"DisplayIp": true,
"DisplayName": true,
"DisplaySignatureDate": true,
"FontFamily": "Times New Roman",
"FontSize": 11.0
},
"Id": "d63ec0d5-a2ca-46d9-9c73-7bd8d91aa4ea",
"DiscriminatorType": "SigTypeType2Sign",
"Preferred": true
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_94816166-6b59-1cc1-de9b-285633162aef",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
}
}
},
},
Alternative: SOAP implementation (deprecated)
<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">Type2Sign</param>
</sig>
Biometric
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 67.0,
"PositionY": 521.92
},
"Size": {
"Height": 80.0,
"Width": 190.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "positioning",
"Value": "intersectsWithField"
},
{
"Key": "req",
"Value": "1"
},
{
"Key": "fd",
"Value": ""
},
{
"Key": "fd_dateformat",
"Value": "dd-MM-yyyy HH:mm:ss"
},
{
"Key": "fd_timezone",
"Value": "datetimeutc"
}
],
"AllowedSignatureTypes": [
{
"IsBio": false,
"AllowSkipBiometricVerification": false,
"AllowBiometricStoringOnly": false,
"SignedResponseWithoutBioData": false,
"Id": "6fa90b47-847f-47b1-b73a-9c3802aa077d",
"DiscriminatorType": "SigTypeBiometricSignature",
"Preferred": true
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_532f40e1-0583-8285-fc50-c2a76dc2fa44",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
}
}
},
Alternative: SOAP implementation (deprecated)
<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="positioning">onPage</param>
<AllowedSignatureTypes>
<sigType id="672d210e-9aa1-41b5-bb24-2e1b4b079f61" type="BiometricSignature">
<bio>0</bio>
</sigType>
</AllowedSignatureTypes>
</sig>
Alternative: SOAP implementation (deprecated)
After adding the signature fields in the signature template you have to add these signatures in the workstep task section. Following lines of code shows an example configuration of a workstep task.
<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>
The Id in the code within the workstep Id must be the same as the Id of the signature field
Disposable certificate
The disposable certificate signature is a signature variant using the Namirial Trust Service Provider services to issue a (typically qualified) electronic signing certificate on the fly during signing, on explicit request of the signer.
The implementation distinguishes between "traditional" (depracated) and "lean" (recommended) disposable certificate procedure based on the configuration in Settings - Organization.
Registration as Local Registration Authority (LRA) at Namirial is mandatory to perform the necessary identification steps in order to issue disposable certificates. The LRA ID, service password and service username need to be configured in Settings - Organization.
To issue a disposable certificate, the (future) certificate holder must be identified according to the regulations of the LRA contract upfront. The LRA Contract may contain clauses about how consent for issuing a certificate has to be requested, or delivered to the signer.
{
"SspFileIds": [
"##FILE_ID##"
],
"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": "",
"LockFormFieldsAtEnvelopeFinish": true,
"Steps": [
{
"OrderIndex": 1,
"Recipients": [
{
"Email": "##EMAIL##",
"FirstName": "##NAME##",
"LastName": "##NAME##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"AllowAccessFinishedWorkstep": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": [],
"DisposableCertificateData": {
"CountryResidence": "AT",
"IdentificationCountry": "AT",
"IdentificationType": "PASSPORT",
"PhoneMobile": "##PHONENUMBER##",
"DocumentType": "PASS",
"DocumentIssuedBy": "Namirial",
"DocumentIssuedOn": "2020-07-07T00:00:00Z",
"DocumentExpiryDate": "2020-07-29T00:00:00Z",
"SerialNumber": "1234",
"DocumentNumber": "123",
"OverrideHolderInCaseOfMismatch": false
}
}
],
"EmailBodyExtra": "",
"RecipientType": "Signer",
"WorkstepConfiguration": {
"WorkstepLabel": "test",
"SmallTextZoomFactorPercent": 100,
"FinishAction": {
"ServerActions": [],
"ClientActions": [
{
"RemoveDocumentFromRecentDocumentList": false,
"CallClientActionOnlyAfterSuccessfulSync": true,
"ClientName": "SIGNificant SignAnywhere",
"CloseApp": false,
"Action": "https://www.esignanywhere.net/"
}
]
},
"ReceiverInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
},
"HolderInformation": "<recognitionType>PASS</recognitionType><documentIssuedOn>07/07/2020</documentIssuedOn><documentExpiryDate>29/07/2020</documentExpiryDate><documentIssuedBy>Namirial</documentIssuedBy><documentNumber>123</documentNumber><countryResidence>AT</countryResidence><firstName>##NAME##</firstName><lastName>##NAME##</lastName><email>##EMAIL##</email><phoneMobile>##PHONENUMBER##</phoneMobile><identificationType>PASSPORT</identificationType><identificationCountry>AT</identificationCountry><passport>1234</passport>",
"TransactionCodePushPluginData": []
},
"SenderInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
}
},
"TransactionCodeConfigurations": [
{
"Id": "smsAuthTransactionCodeId",
"HashAlgorithmIdentifier": "Sha256",
"Texts": [
{
}
]
}
],
"SignatureConfigurations": [],
"ViewerPreferences": {
"FinishWorkstepOnOpen": false,
"VisibleAreaOptions": {
"AllowedDomain": "*",
"Enabled": false
}
},
"ResourceUris": {},
"AuditingToolsConfiguration": {
"WriteAuditTrail": false,
"NotificationConfiguration": {}
},
"Policy": {
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": false,
"AllowEmailDocument": true,
"AllowPrintDocument": true,
"AllowFinishWorkstep": true,
"AllowRejectWorkstep": true,
"AllowRejectWorkstepDelegation": false,
"AllowUndoLastAction": true,
"AllowAdhocPdfAttachments": false,
"AllowAdhocSignatures": false,
"AllowAdhocStampings": false,
"AllowAdhocFreeHandAnnotations": false,
"AllowAdhocTypewriterAnnotations": false,
"AllowAdhocPictureAnnotations": false,
"AllowAdhocPdfPageAppending": false
},
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 89.0,
"PositionY": 575.0
},
"Size": {
"Height": 80.0,
"Width": 190.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "req",
"Value": "1"
},
{
"Key": "fd",
"Value": ""
},
{
"Key": "fd_dateformat",
"Value": "dd-MM-yyyy HH:mm:ss"
},
{
"Key": "fd_timezone",
"Value": "datetimeutc"
},
{
"Key": "spcId",
"Value": "padesSigningId"
}
],
"AllowedSignatureTypes": [
{
"TrModType": "RemoteSignatureDisposableCertificate",
"TrValidityInSeconds": 300,
"Ly": "remoteCertificate",
"TrConfIdIssueCertificate": "disposableCertificateEnrolAndSignSmsText",
"TrConfId": "remoteCertificateSignSmsText",
"IsPhoneNumberRequired": false,
"Id": "180c4201-4146-4161-baf8-cb5a607eec62",
"DiscriminatorType": "SigTypeTransactionCode",
"Preferred": false,
"StampImprintConfiguration": {
"DisplayExtraInformation": true,
"DisplayEmail": true,
"DisplayIp": true,
"DisplayName": true,
"DisplaySignatureDate": true,
"FontFamily": "Times New Roman",
"FontSize": 11.0
}
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_b58c192b-47c0-5339-cb18-4fe77c3d1812",
"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
}
}
Alternative: SOAP implementation (deprecated)
<envelope>
<name>test</name>
<eMailSubject>Please sign the enclosed envelope</eMailSubject>
<eMailBody>Dear #RecipientFirstName# #RecipientLastName#
#PersonalMessage#
Please sign the envelope #EnvelopeName#
Envelope will expire at #ExpirationDate#</eMailBody>
<enableReminders>true</enableReminders>
<firstReminderDayAmount>5</firstReminderDayAmount>
<recurrentReminderDayAmount>3</recurrentReminderDayAmount>
<beforeExpirationReminderDayAmount>3</beforeExpirationReminderDayAmount>
<daysUntilExpire>28</daysUntilExpire>
<callbackUrl></callbackUrl>
<statusUpdateCallbackUrl></statusUpdateCallbackUrl>
<lockFormFieldsAtEnvelopeFinish>true</lockFormFieldsAtEnvelopeFinish>
<displayedEmailSender></displayedEmailSender>
<steps>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>1</orderIndex>
<recipientType>Signer</recipientType>
<useDefaultAgreements>true</useDefaultAgreements>
<documentOptions>
<documentOption docRef="1">
<isHidden>false</isHidden>
</documentOption>
</documentOptions>
<workstepConfiguration skipThirdPartyChecks="0">
<WorkstepLabel>test</WorkstepLabel>
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>44650</WorkstepTimeToLiveInMinutes>
<AbsoluteExpiryDate>2020-07-10T10:57:46.4243017Z</AbsoluteExpiryDate>
<FinishAction>
<ClientAction clientName="SIGNificant SignAnywhere" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1">https://www.esignanywhere.net/</ClientAction>
</FinishAction>
<ViewerPreferences>
<SendVisibleArea allowedDomain="*">0</SendVisibleArea>
<FinishWorkstepOnOpen>0</FinishWorkstepOnOpen>
</ViewerPreferences>
<Policy version="1.1.0.0">
<AdhocPolicies>
<AllowModificationsAfterSignature>1</AllowModificationsAfterSignature>
</AdhocPolicies>
<GeneralPolicies>
<AllowAdhocFreeHandAnnotations>0</AllowAdhocFreeHandAnnotations>
<AllowAdhocPdfAttachments>0</AllowAdhocPdfAttachments>
<AllowAdhocPdfPageAppending>0</AllowAdhocPdfPageAppending>
<AllowAdhocPictureAnnotations>0</AllowAdhocPictureAnnotations>
<AllowAdhocSignatures>0</AllowAdhocSignatures>
<AllowAdhocStampings>0</AllowAdhocStampings>
<AllowAdhocTypewriterAnnotations>0</AllowAdhocTypewriterAnnotations>
<AllowEmailDocument>1</AllowEmailDocument>
<AllowFinishWorkstep>1</AllowFinishWorkstep>
<AllowPrintDocument>1</AllowPrintDocument>
<AllowRejectWorkstep>1</AllowRejectWorkstep>
<AllowSaveAuditTrail>1</AllowSaveAuditTrail>
<AllowSaveDocument>1</AllowSaveDocument>
<AllowUndoLastAction>1</AllowUndoLastAction>
<AllowRotatingPages>0</AllowRotatingPages>
<AllowRejectWorkstepDelegation>1</AllowRejectWorkstepDelegation>
</GeneralPolicies>
<WorkstepTasks originalSequenceMode="NoSequenceEnforced" SequenceMode="NoSequenceEnforced">
<Task type="SignField" DocRefNumber="1" id="1#XyzmoDuplicateIdSeperator#Signature_a3d634d1-5b9e-8089-e77d-4888a9616fb2" internalCompleted="0" finishPercentage="0" completed="0" enabled="1" displayName="" required="1" />
</WorkstepTasks>
</Policy>
<Navigation />
<timeCreated>2020-07-10T10:47:46.3930488Z</timeCreated>
<TransactionCodeConfigurations>
<TransactionCodeConfiguration trConfId="smsAuthTransactionCodeId">
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
<receiverInformation>
<userInformation>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
<showNamirialDisposableDisclaimer>1</showNamirialDisposableDisclaimer>
<trRsDcNamHolderInformation version="2">
<recognitionType>PASS</recognitionType>
<documentIssuedOn>07/07/2020</documentIssuedOn>
<documentExpiryDate>29/07/2020</documentExpiryDate>
<documentIssuedBy>Namirial</documentIssuedBy>
<documentNumber>123</documentNumber>
<countryResidence>AT</countryResidence>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<email>##EMAIL##</email>
<phoneMobile>##PHONENUMBER##</phoneMobile>
<identificationType>PASSPORT</identificationType>
<identificationCountry>AT</identificationCountry>
<passport>123</passport>
</trRsDcNamHolderInformation>
</receiverInformation>
<senderInformation>
<userInformation>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
</senderInformation>
<pdfForms isEditingAllowed="0" />
<TypewriterAnnotationTaskInfo />
<attachmentFields />
<signatureTemplate>
<version>1.2.0.2</version>
<positionReferenceCorner>Lower_Left</positionReferenceCorner>
<positionUnits>PdfUnits</positionUnits>
<sig id="1#XyzmoDuplicateIdSeperator#Signature_a3d634d1-5b9e-8089-e77d-4888a9616fb2">
<TaskDisplayName />
<param name="enabled">1</param>
<positionPage>1</positionPage>
<positionX>78</positionX>
<positionY>545</positionY>
<width>190</width>
<height>80</height>
<param name="positioning">onPage</param>
<param name="req">1</param>
<param name="fd" />
<param name="fd_dateformat">dd-MM-yyyy HH:mm:ss</param>
<param name="fd_timezone">datetimeutc</param>
<DocRefNumber>1</DocRefNumber>
<AllowedSignatureTypes>
<sigType id="89f2876e-2149-4a88-b841-547a1b3478a5" type="TransactionCode">
<trModType>RemoteSignatureDisposableCertificate</trModType>
<trValidityInSeconds>300</trValidityInSeconds>
<ly>remoteCertificate</ly>
<trConfIdIssueCertificate>disposableCertificateEnrolAndSignSmsText</trConfIdIssueCertificate>
<trConfId>remoteCertificateSignSmsText</trConfId>
<StampImprintConfiguration>
<DisplayExtraInformation>1</DisplayExtraInformation>
<DisplayEmail>1</DisplayEmail>
<DisplayIp>1</DisplayIp>
<DisplayName>1</DisplayName>
<DisplaySignatureDate>1</DisplaySignatureDate>
<FontFamily>Times New Roman</FontFamily>
<FontSize>11</FontSize>
</StampImprintConfiguration>
</sigType>
</AllowedSignatureTypes>
<param name="spcId">padesSigningId</param>
</sig>
</signatureTemplate>
<AuditingToolsConfiguration WriteAuditTrail="0">
<NotificationConfiguration />
</AuditingToolsConfiguration>
<resourceUris>
<delegationUri>https://demo.esignanywhere.net/Resource/Delegate</delegationUri>
</resourceUris>
<LoggingMetaInformation>
<envelopeId>##ENVELOPEID##</envelopeId>
<envelopeRecipientId>##RECIPIENTID##</envelopeRecipientId>
</LoggingMetaInformation>
</workstepConfiguration>
<recipients>
<recipient>
<eMail>##EMAIL##</eMail>
<emailBodyExtra></emailBodyExtra>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<languageCode>en</languageCode>
<disableEmail>false</disableEmail>
<skipExternalDataValidation>false</skipExternalDataValidation>
<addAndroidAppLink>false</addAndroidAppLink>
<addIosAppLink>false</addIosAppLink>
<addWindowsAppLink>false</addWindowsAppLink>
<allowDelegation>true</allowDelegation>
<allowAccessFinishedWorkstep>false</allowAccessFinishedWorkstep>
<authentications />
<disposableCertificateAdditionalInformation>
<countryResidence>AT</countryResidence>
<phoneMobile>##PHONENUMBER##</phoneMobile>
<documentType>PASS</documentType>
<documentIssuedBy>Namirial</documentIssuedBy>
<documentIssuedOn>2020-07-07T00:00:00Z</documentIssuedOn>
<documentExpiryDate>2020-07-29T00:00:00Z</documentExpiryDate>
<serialNumber>123</serialNumber>
<identificationType>PASSPORT</identificationType>
<identificationCountry>AT</identificationCountry>
<documentNumber>123</documentNumber>
<overrideOnHolderMismatch>false</overrideOnHolderMismatch>
</disposableCertificateAdditionalInformation>
</recipient>
</recipients>
</step>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>2</orderIndex>
<recipientType>Cc</recipientType>
<useDefaultAgreements>false</useDefaultAgreements>
<recipients>
<recipient>
<eMail>##EMAIL##</eMail>
<emailBodyExtra></emailBodyExtra>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<languageCode>en</languageCode>
<disableEmail>false</disableEmail>
<skipExternalDataValidation>false</skipExternalDataValidation>
<addAndroidAppLink>false</addAndroidAppLink>
<addIosAppLink>false</addIosAppLink>
<addWindowsAppLink>false</addWindowsAppLink>
<allowDelegation>false</allowDelegation>
<authentications />
</recipient>
</recipients>
</step>
</steps>
<attachSignedDocumentsToEnvelopeLog>false</attachSignedDocumentsToEnvelopeLog>
</envelope>
P7M Signers
The P7M signer can be defined in the recipient list (P7M Signer Type). The P7M signer has no assigned signature fields in the document, so you will not be able to assign signature fields, form fields or predefined fields for him or her.
When a workflow with a P7M signer is finished you will not receive a PDF document, but a signed P7M container with the PDF. Please see the next figure:
The workstepconfig must be extended with a invisibleSignature, Task and a document information:
<signatureTemplate>
<InvisibleSig>
<id>pkcs1</id>
<TargetDocument>
<DocRefNumber>1</DocRefNumber>
<completed>0</completed>
</TargetDocument>
<TargetDocument>
<DocRefNumber>2</DocRefNumber>
<completed>0</completed>
</TargetDocument>
<TargetDocument>
<DocRefNumber>3</DocRefNumber>
<completed>0</completed>
</TargetDocument>
</InvisibleSig>
</signatureTemplate>
Taskdefinition:
<WorkstepTasks SequenceMode="SequenceOnlyRequiredTasks">
<Task enabled="1" completed="0" required="0" id="pkcs1" displayName="" DocRefNumber="1" type="SignPkcs7" finishPercentage="0" />
</WorkstepTasks>
EnvelopeDocumentInforamtion
<WorkStepInformation>
...
<EnvelopeInformation>
<EnvelopeDocumentInformation numberOfPages="1" DocRefNumber="1" name="" isOptionalDocument="0" isPkcs7="0" enabled="1" />
<EnvelopeDocumentInformation numberOfPages="1" DocRefNumber="2" name="" isOptionalDocument="0" isPkcs7="0" enabled="1" />
<EnvelopeDocumentInformation numberOfPages="1" DocRefNumber="3" name="" isOptionalDocument="0" isPkcs7="0" enabled="1" />
</EnvelopeInformation>
...
</WorkStepInformation>
Automatic Remote Signature Recipient via API
Via API you have to use a new recipient type (“Automatic”). Moreover the workstepConfiguration must contain information about the automatic remote signature. As additional option, you can use more than one profile for the workstep configuration at once via API. Note: this leads to a missing information in eSAW UI!
1) Envelope XML with new recipient type “Automatic”
<envelope>
...
<steps>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>1</orderIndex>
<recipientType>Automatic</recipientType>
<workstepConfiguration skipThirdPartyChecks="0">
...
</workstepConfiguration>
</step>
</steps>
</envelope>
2) Workstep Configuration
2.1) Define Signature Field in WorkstepConfiguration
<sig id="GENERIC_SIG_IDENTIFIER">
<DocRefNumber>1</DocRefNumber>
<param name="enabled">1</param>
<AllowedSignatureTypes>
<sigType id="automatic" type="AutomaticSignature" preferred="0">
<trModType>RemoteSignature</trModType>
<ImageRenderingLanguage>en</ImageRenderingLanguage>
<SealingProfileId>SEALING_PROFILE_IDENTIFIER_FROM_ORGANIZATION_SETTINGS</SealingProfileId>
</sigType>
</AllowedSignatureTypes>
</sig>
The sealing profile identifier can be found in the organization settings page at the automatic remote signature settings (Identifier).
2.3) Finalize Action in WorkstepConfiguration Policy
<Policy version="1.1.0.0">
<FinalizeActions>
<AutomaticSignature sigId="GENERIC_SIG_IDENTIFIER" />
</FinalizeActions>
</Policy>
A-Trust
In this section you can find the configuration for the A-Trust signature. First we have to upload a PDF with the API call UploadTemporarySspFile_v1. After uploading the document we can now send the document with the following workstep configuration to define the A-Trust signature:
<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>##EMAIL##</eMail>
<firstName>Alice</firstName>
<lastName>Somename</lastName>
</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="1">
<positionPage>1</positionPage>
<DocRefNumber>1</DocRefNumber>
<positionX>10</positionX>
<positionY>10</positionY>
<width>200</width>
<height>50</height>
<param name="enabled">1</param>
<param name="completed">0</param>
<param name="sigType">ExternalSigningProcess</param>
<param name="positioning">onPage</param>
<param name="trModType">ATrustHandySignatur</param>
<param name="aTrustTemplateId">4246</param>
</sig>
</signatureTemplate>
<receiverInformation>
<userInformation>
<firstName>FirstName</firstName>
<lastName>LastName</lastName>
<eMail />
</userInformation>
<aTrustCertificateData>
<!--Used to prefill the phone number for A-Trust Handysignatur-->
<phonenumber>##phone number##</phonenumber>
</aTrustCertificateData>
<!--Defines, if the disclaimer for Namirial disposable certificates should be shown.-->
<showNamirialDisposableDisclaimer>0</showNamirialDisposableDisclaimer>
</receiverInformation>
<Policy version="1.1.0.0">
<GeneralPolicies>
</GeneralPolicies>
<TypewriterAnnotationTaskInfo />
<WorkstepTasks SequenceMode="SequenceOnlyRequiredTasks" originalSequenceMode="SequenceOnlyRequiredTasks">
<Task enabled="1" completed="0" required="1" id="1" 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>
<step>
<emailBodyExtra />
<orderIndex>2</orderIndex>
<recipientType>CC</recipientType>
<recipients>
<recipient>
<languageCode>en</languageCode>
<eMail>##EMAIL##</eMail>
<firstName>Charly</firstName>
<lastName>Randomname</lastName>
</recipient>
</recipients>
</step>
</steps>
</envelope>
If you enter the phone number then the recipient can not enter another number. However, if you do not define a phone number then the recipient is free to choose a phone number of their choice.
BankID
In this section you can find the configuration for the bankID signature. First we have to upload a PDF. After uploading the document we can now send the document with the following workstep configuration to define the bankID signature:
{ "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": "##SENDER##",
"EnableReminders": true,
"FirstReminderDayAmount": 5,
"RecurrentReminderDayAmount": 3,
"BeforeExpirationDayAmount": 3,
"DaysUntilExpire": 28,
"CallbackUrl": "",
"StatusUpdateCallbackUrl": "",
"LockFormFieldsAtEnvelopeFinish": true,
"Steps": [
{
"OrderIndex": 1,
"Recipients": [
{
"Email": "##EMAIL##",
"FirstName": "##NAME##",
"LastName": "##NAME##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"AllowAccessFinishedWorkstep": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": []
}
],
"EmailBodyExtra": "",
"RecipientType": "Signer",
"WorkstepConfiguration": {
"WorkstepLabel": "test",
"SmallTextZoomFactorPercent": 100,
"FinishAction": {
"ServerActions": [],
"ClientActions": [
{
"RemoveDocumentFromRecentDocumentList": false,
"CallClientActionOnlyAfterSuccessfulSync": true,
"ClientName": "SIGNificant SignAnywhere",
"CloseApp": false,
"Action": "https://www.esignanywhere.net/"
}
]
},
"ReceiverInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
},
"TransactionCodePushPluginData": []
},
"SenderInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
}
},
"TransactionCodeConfigurations": [
{
"Id": "",
"HashAlgorithmIdentifier": "Sha1",
"Texts": [
{
"Value": "Please sign the document"
}
]
},
{
"Id": "otpSignatureSmsText",
"HashAlgorithmIdentifier": "Sha256",
"Texts": [
]
}
],
"SignatureConfigurations": [],
"ViewerPreferences": {
"FinishWorkstepOnOpen": false,
"VisibleAreaOptions": {
"AllowedDomain": "*",
"Enabled": false
}
},
"ResourceUris": {},
"AuditingToolsConfiguration": {
"WriteAuditTrail": false,
"NotificationConfiguration": {}
},
"Policy": {
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": false,
"AllowEmailDocument": true,
"AllowPrintDocument": true,
"AllowFinishWorkstep": true,
"AllowRejectWorkstep": true,
"AllowRejectWorkstepDelegation": false,
"AllowUndoLastAction": true,
"AllowAdhocPdfAttachments": false,
"AllowAdhocSignatures": false,
"AllowAdhocStampings": false,
"AllowAdhocFreeHandAnnotations": false,
"AllowAdhocTypewriterAnnotations": false,
"AllowAdhocPictureAnnotations": false,
"AllowAdhocPdfPageAppending": false
},
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "SequenceOnlyRequiredTasks",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 10.0,
"PositionY": 10.0
},
"Size": {
"Height": 50.0,
"Width": 200.0
},
"AdditionalParameters": [
{
"Key": "sigType",
"Value": "TransactionCode"
},
{
"Key": "trModType",
"Value": "BankIdSignature"
},
{
"Key": "trValidityInSeconds",
"Value": "60"
},
{
"Key": "ly",
"Value": "bankId"
}
],
"AllowedSignatureTypes": [],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1",
"DisplayName": "SignField 1",
"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,
"AllowAccessFinishedWorkstep": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": []
}
],
"EmailBodyExtra": "",
"RecipientType": "Cc",
"DocumentOptions": [
{
"DocumentReference": "1",
"IsHidden": false
}
],
"UseDefaultAgreements": false
}
],
"AddFormFields": {
"Forms": {}
},
"OverrideFormFieldValues": {
"Forms": {}
},
"AttachSignedDocumentsToEnvelopeLog": false
}
Alternative: SOAP implementation (deprecated)
<envelope>
<name>test</name>
<eMailSubject>Please sign the enclosed envelope</eMailSubject>
<eMailBody>Dear #RecipientFirstName# #RecipientLastName#
#PersonalMessage#
Please sign the envelope #EnvelopeName#
Envelope will expire at #ExpirationDate#</eMailBody>
<enableReminders>true</enableReminders>
<firstReminderDayAmount>5</firstReminderDayAmount>
<recurrentReminderDayAmount>3</recurrentReminderDayAmount>
<beforeExpirationReminderDayAmount>3</beforeExpirationReminderDayAmount>
<daysUntilExpire>28</daysUntilExpire>
<callbackUrl></callbackUrl>
<statusUpdateCallbackUrl></statusUpdateCallbackUrl>
<lockFormFieldsAtEnvelopeFinish>true</lockFormFieldsAtEnvelopeFinish>
<displayedEmailSender></displayedEmailSender>
<steps>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>1</orderIndex>
<recipientType>Signer</recipientType>
<useDefaultAgreements>true</useDefaultAgreements>
<documentOptions>
<documentOption docRef="1">
<isHidden>false</isHidden>
</documentOption>
</documentOptions>
<workstepConfiguration skipThirdPartyChecks="0">
<WorkstepLabel>test</WorkstepLabel>
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>44650</WorkstepTimeToLiveInMinutes>
<AbsoluteExpiryDate>2020-07-13T09:11:44.7415636Z</AbsoluteExpiryDate>
<FinishAction>
<ClientAction clientName="SIGNificant SignAnywhere" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1">https://www.esignanywhere.net/</ClientAction>
</FinishAction>
<ViewerPreferences>
<SendVisibleArea allowedDomain="*">0</SendVisibleArea>
<FinishWorkstepOnOpen>0</FinishWorkstepOnOpen>
</ViewerPreferences>
<Policy version="1.1.0.0">
<AdhocPolicies>
<AllowModificationsAfterSignature>1</AllowModificationsAfterSignature>
</AdhocPolicies>
<GeneralPolicies>
<AllowAdhocFreeHandAnnotations>0</AllowAdhocFreeHandAnnotations>
<AllowAdhocPdfAttachments>0</AllowAdhocPdfAttachments>
<AllowAdhocPdfPageAppending>0</AllowAdhocPdfPageAppending>
<AllowAdhocPictureAnnotations>0</AllowAdhocPictureAnnotations>
<AllowAdhocSignatures>0</AllowAdhocSignatures>
<AllowAdhocStampings>0</AllowAdhocStampings>
<AllowAdhocTypewriterAnnotations>0</AllowAdhocTypewriterAnnotations>
<AllowEmailDocument>1</AllowEmailDocument>
<AllowFinishWorkstep>1</AllowFinishWorkstep>
<AllowPrintDocument>1</AllowPrintDocument>
<AllowRejectWorkstep>1</AllowRejectWorkstep>
<AllowSaveAuditTrail>1</AllowSaveAuditTrail>
<AllowSaveDocument>1</AllowSaveDocument>
<AllowUndoLastAction>1</AllowUndoLastAction>
<AllowRotatingPages>0</AllowRotatingPages>
<AllowRejectWorkstepDelegation>0</AllowRejectWorkstepDelegation>
</GeneralPolicies>
<WorkstepTasks SequenceMode="SequenceOnlyRequiredTasks" originalSequenceMode="SequenceOnlyRequiredTasks">
<Task enabled="1" completed="0" required="1" id="1" displayName="SignField 1" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1" allRequiredFieldsFilledOnWorkstepCreation="0" />
</WorkstepTasks>
</Policy>
<Navigation />
<timeCreated>2020-07-13T09:01:44.7103136Z</timeCreated>
<TransactionCodeConfigurations>
<TransactionCodeConfiguration trConfId="">
<Message>Please sign the document</Message>
<hashAlgorithmIdentifier>Sha1</hashAlgorithmIdentifier>
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
<receiverInformation>
<userInformation>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
<showNamirialDisposableDisclaimer>1</showNamirialDisposableDisclaimer>
</receiverInformation>
<senderInformation>
<userInformation>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
</senderInformation>
<pdfForms isEditingAllowed="0" />
<TypewriterAnnotationTaskInfo />
<attachmentFields />
<signatureTemplate>
<version>1.2.0.2</version>
<positionUnits>PdfUnits</positionUnits>
<positionReferenceCorner>Lower_Left</positionReferenceCorner>
<sig id="1">
<positionPage>1</positionPage>
<DocRefNumber>1</DocRefNumber>
<positionX>10</positionX>
<positionY>10</positionY>
<width>200</width>
<height>50</height>
<param name="sigType">TransactionCode</param>
<param name="trModType">BankIdSignature</param>
<param name="trValidityInSeconds">60</param>
<param name="ly">bankId</param>
</sig>
</signatureTemplate>
<AuditingToolsConfiguration WriteAuditTrail="0">
<NotificationConfiguration />
</AuditingToolsConfiguration>
<resourceUris />
<LoggingMetaInformation>
<envelopeId>##ENVELOPE##</envelopeId>
<envelopeRecipientId>##RECIPIENT##</envelopeRecipientId>
</LoggingMetaInformation>
</workstepConfiguration>
<recipients>
<recipient>
<eMail>##EMAIL##</eMail>
<emailBodyExtra></emailBodyExtra>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<languageCode>en</languageCode>
<disableEmail>false</disableEmail>
<skipExternalDataValidation>false</skipExternalDataValidation>
<addAndroidAppLink>false</addAndroidAppLink>
<addIosAppLink>false</addIosAppLink>
<addWindowsAppLink>false</addWindowsAppLink>
<allowDelegation>false</allowDelegation>
<allowAccessFinishedWorkstep>false</allowAccessFinishedWorkstep>
</recipient>
</recipients>
</step>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>2</orderIndex>
<recipientType>Cc</recipientType>
<useDefaultAgreements>false</useDefaultAgreements>
<recipients>
<recipient>
<eMail>##EMAIL##</eMail>
<emailBodyExtra></emailBodyExtra>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<languageCode>en</languageCode>
<disableEmail>false</disableEmail>
<skipExternalDataValidation>false</skipExternalDataValidation>
<addAndroidAppLink>false</addAndroidAppLink>
<addIosAppLink>false</addIosAppLink>
<addWindowsAppLink>false</addWindowsAppLink>
<allowDelegation>false</allowDelegation>
<authentications />
</recipient>
</recipients>
</step>
</steps>
<attachSignedDocumentsToEnvelopeLog>false</attachSignedDocumentsToEnvelopeLog>
</envelope>
In this section you can find the bankID authentication method:
"AuthenticationMethods": [
{
"Method": "BankId",
"Parameter": "##Parameter##"
}
]
Alternative: SOAP implementation (deprecated)
<authentications>
<authentication>
<method>BankId</method>
<parameter>##parameter##</parameter>
</authentication>
</authentications>
Generic Signing Plugin
In this section you can find the configuration for the generic signing plugin signature. First we have to upload a PDF. After uploading the document we can now send the document with the following workstep configuration to define the plugin signature:
{
"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": [
{
"Email": "##Email##",
"FirstName": "##name##",
"LastName": "##name##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": [],
"BankIdPluginData" : {
"TrBiPersonalNumber": "##PersonalNumber##",
"TrBiAllowAnyPersonalNumber": false
}
}
],
"EmailBodyExtra": "",
"RecipientType": "Signer",
"WorkstepConfiguration": {
"WorkstepLabel": "test",
"ReceiverInformation": {
"GenericSigningPluginDataList": [{
"PluginId": "GenericSigningPluginForTests",
"SenderDataFields": {
"Fields": [{
"Key": "customEmail",
"Value": "##customEmail##"
},{
"Key": "userId",
"Value": "##UserId##"
},{
"Key": "email",
"Value": "##Email##"
},{
"Key": "password",
"Value": "##Password##"
},{
"Key": "number",
"Value": "##Number##"
},{
"Key": "phoneNumber",
"Value": "##Number##"
},{
"Key": "list",
"Value": "app"
}]
}
}]
},
"SmallTextZoomFactorPercent": 100,
"FinishAction": {
"ServerActions": [],
"ClientActions": [
{
"RemoveDocumentFromRecentDocumentList": false,
"CallClientActionOnlyAfterSuccessfulSync": true,
"ClientName": "SIGNificant SignAnywhere",
"CloseApp": false,
"Action": "https://www.esignanywhere.net/"
}
]
},
"Policy": {
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": false,
"AllowEmailDocument": true,
"AllowPrintDocument": true,
"AllowFinishWorkstep": true,
"AllowRejectWorkstep": true,
"AllowRejectWorkstepDelegation": false,
"AllowUndoLastAction": true,
"AllowAdhocPdfAttachments": false,
"AllowAdhocSignatures": false,
"AllowAdhocStampings": false,
"AllowAdhocFreeHandAnnotations": false,
"AllowAdhocTypewriterAnnotations": false,
"AllowAdhocPictureAnnotations": false,
"AllowAdhocPdfPageAppending": false
},
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 70.0,
"PositionY": 606.0
},
"Size": {
"Height": 80.0,
"Width": 191.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "req",
"Value": "1"
},
{
"Key": "fd",
"Value": ""
},
{
"Key": "fd_dateformat",
"Value": "dd-MM-yyyy HH:mm:ss"
},
{
"Key": "fd_timezone",
"Value": "datetimeutc"
},
{
"Key": "spcId",
"Value": "padesSigningId"
}
],
"AllowedSignatureTypes": [
{
"Id": "8e4ce7e9-b70b-464b-861e-8429239ef474",
"DiscriminatorType": "SigTypeGenericSigningPlugin",
"PluginId": "GenericSigningPluginForTests"
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_a48a82a2-0bd3-1e9e-c223-64ad308bf715",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
}
}
},
"DocumentOptions": [
{
"DocumentReference": "1",
"IsHidden": false
}
],
"UseDefaultAgreements": true
}
]
}
}
Alternative: SOAP implementation (deprecated)
<envelope>
<name>test</name>
<eMailSubject>Please sign the enclosed envelope</eMailSubject>
<eMailBody>Dear #RecipientFirstName# #RecipientLastName#
#PersonalMessage#
Please sign the envelope #EnvelopeName#
Envelope will expire at #ExpirationDate#</eMailBody>
<enableReminders>true</enableReminders>
<firstReminderDayAmount>5</firstReminderDayAmount>
<recurrentReminderDayAmount>3</recurrentReminderDayAmount>
<beforeExpirationReminderDayAmount>3</beforeExpirationReminderDayAmount>
<daysUntilExpire>28</daysUntilExpire>
<callbackUrl></callbackUrl>
<statusUpdateCallbackUrl></statusUpdateCallbackUrl>
<lockFormFieldsAtEnvelopeFinish>false</lockFormFieldsAtEnvelopeFinish>
<displayedEmailSender>##Email##</displayedEmailSender>
<steps>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>1</orderIndex>
<recipientType>Signer</recipientType>
<useDefaultAgreements>true</useDefaultAgreements>
<documentOptions>
<documentOption docRef="1">
<isHidden>false</isHidden>
</documentOption>
</documentOptions>
<workstepConfiguration skipThirdPartyChecks="0">
<WorkstepLabel>test</WorkstepLabel>
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>43200</WorkstepTimeToLiveInMinutes>
<FinishAction>
<ClientAction clientName="SIGNificant SignAnywhere" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1">https://www.esignanywhere.net/</ClientAction>
</FinishAction>
<signatureTemplate>
<sig id="1#XyzmoDuplicateIdSeperator#Signature_a48a82a2-0bd3-1e9e-c223-64ad308bf715" useTimestamp="false">
<positionPage>1</positionPage>
<DocRefNumber>1</DocRefNumber>
<positionX>70</positionX>
<positionY>606</positionY>
<width>191</width>
<height>80</height>
<param name="enabled">1</param>
<param name="positioning">onPage</param>
<param name="req">1</param>
<param name="fd"></param>
<param name="fd_dateformat">dd-MM-yyyy HH:mm:ss</param>
<param name="fd_timezone">datetimeutc</param>
<AllowedSignatureTypes>
<sigType id="8e4ce7e9-b70b-464b-861e-8429239ef474" type="GenericSigningPlugin" preferred="0">
<genericSigningPluginId>GenericSigningPluginForTests</genericSigningPluginId>
</sigType>
</AllowedSignatureTypes>
</sig>
<positionUnits>PdfUnits</positionUnits>
<positionReferenceCorner>Lower_Left</positionReferenceCorner>
</signatureTemplate>
<PictureAnnotationTaskInfo>
<MinResolution>0</MinResolution>
<MaxResolution>0</MaxResolution>
<ColorDepth>Color16M</ColorDepth>
</PictureAnnotationTaskInfo>
<Policy version="1.1.0.0">
<GeneralPolicies>
<AllowSaveDocument>1</AllowSaveDocument>
<AllowSaveAuditTrail>1</AllowSaveAuditTrail>
<AllowRotatingPages>0</AllowRotatingPages>
<AllowAppendFileToWorkstep>0</AllowAppendFileToWorkstep>
<AllowAppendTasksToWorkstep>0</AllowAppendTasksToWorkstep>
<AllowEmailDocument>1</AllowEmailDocument>
<AllowPrintDocument>1</AllowPrintDocument>
<AllowFinishWorkstep>1</AllowFinishWorkstep>
<AllowRejectWorkstep>1</AllowRejectWorkstep>
<AllowRejectWorkstepDelegation>0</AllowRejectWorkstepDelegation>
<AllowUndoLastAction>1</AllowUndoLastAction>
<AllowColorizePdfForms>0</AllowColorizePdfForms>
<AllowAdhocPdfAttachments>0</AllowAdhocPdfAttachments>
<AllowAdhocSignatures>0</AllowAdhocSignatures>
<AllowAdhocStampings>0</AllowAdhocStampings>
<AllowAdhocFreeHandAnnotations>0</AllowAdhocFreeHandAnnotations>
<AllowAdhocTypewriterAnnotations>0</AllowAdhocTypewriterAnnotations>
<AllowAdhocPictureAnnotations>0</AllowAdhocPictureAnnotations>
<AllowAdhocPdfPageAppending>0</AllowAdhocPdfPageAppending>
</GeneralPolicies>
<WorkstepTasks SequenceMode="NoSequenceEnforced">
<Task enabled="0" completed="0" required="1" id="1#XyzmoDuplicateIdSeperator#Signature_a48a82a2-0bd3-1e9e-c223-64ad308bf715" displayName="" DocRefNumber="1" type="SignField" />
</WorkstepTasks>
</Policy>
<timeCreated />
<TransactionCodeConfigurations>
<TransactionCodeConfiguration trConfId="smsAuthTransactionCodeId" language="">
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
<ViewerPreferences />
<receiverInformation>
<userInformation>
<firstName>##FirstName##</firstName>
<lastName>##LastName##</lastName>
<eMail>##Email##</eMail>
</userInformation>
<showNamirialDisposableDisclaimer>1</showNamirialDisposableDisclaimer>
<genericSigningPluginData pluginId="GenericSigningPluginForTests">
<senderDataFields>
<recipientemail>##Email##</recipientemail>
<recipientfirstname>##FirstName##</recipientfirstname>
<customEmail>##Email##</customEmail>
<userId>##UserId##</userId>
<email>##Email##</email>
<password>##Password##</password>
<number>##Number##</number>
<phoneNumber>+##PhoneNumber##</phoneNumber>
<list>app</list>
</senderDataFields>
</genericSigningPluginData>
</receiverInformation>
<senderInformation>
<userInformation>
<firstName>##FirstName##</firstName>
<lastName>##LastName##</lastName>
<eMail>##Email##</eMail>
</userInformation>
</senderInformation>
</workstepConfiguration>
<recipients>
<recipient>
<eMail>##Email##</eMail>
<emailBodyExtra></emailBodyExtra>
<firstName>##FirstName##</firstName>
<lastName>##LastName##</lastName>
<languageCode>en</languageCode>
<disableEmail>false</disableEmail>
<skipExternalDataValidation>false</skipExternalDataValidation>
<addAndroidAppLink>false</addAndroidAppLink>
<addIosAppLink>false</addIosAppLink>
<addWindowsAppLink>false</addWindowsAppLink>
<allowDelegation>false</allowDelegation>
<allowAccessFinishedWorkstep>false</allowAccessFinishedWorkstep>
<authentications />
</recipient>
</recipients>
</step>
</steps>
<attachSignedDocumentsToEnvelopeLog>false</attachSignedDocumentsToEnvelopeLog>
</envelope>
Generic Signing Plugin (automatic)
In this section you can find the configuration for an automatic generic signing plugin signature. Please see the following workstep configuration for more information:
{
"SspFileIds": ["##SspFileId##"], "SendEnvelopeDescription": {
"Name": "GenericSigningPluginForTests",
"EmailSubject": "*GenericSigningPluginForTests*",
"EmailBody": "*Please sign the document*",
"Steps": [{
"OrderIndex": 1,
"Recipients": [{
"Email": "##PlaceholderEmail##",
"FirstName": "_PlaceHolderFirstName",
"LastName": "_PlaceHolderLastName",
"LanguageCode": "en",
"DisableEmail": true,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"SkipExternalDataValidation": true
}],
"RecipientType": "Automatic",
"WorkstepConfiguration": {
"WorkstepLabel": "Automatic",
"SkipThirdPartyChecks": false,
"SmallTextZoomFactorPercent": 100,
"WorkstepTimeToLiveInMinutes": 44650,
"ViewerPreferences": {
"FinishWorkstepOnOpen": false
},
"Policy": {
"WorkstepTasks": {
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [{
"DiscriminatorType": "Signature",
"Id": "c5d2b3a5-afd1-4794-b8c8-c3f9c0755b75",
"DocRefNumber": 1,
"PositionPage": 1,
"Position": {
"PositionX": 0.0,
"PositionY": 0.0
},
"Size": {
"Height": 80.0,
"Width": 190.0
},
"AdditionalParameters": [{
"Key": "req",
"Value": "1"
}, {
"Key": "positioning",
"Value": "onPage"
}, {
"Key": "enabled",
"Value": "1"
}],
"AllowedSignatureTypes": [{
"DiscriminatorType": "SigTypeAutomaticSignature",
"Id": "SignFor_c5d2b3a5-afd1-4794-b8c8-c3f9c0755b75",
"GenericSigningPluginId": "GenericSigningPluginForTests",
"SealingProfileId": "##SealingProfileId##"
}]
}]
},
"FinalizeActions": {
"FinalizeActionList": [{
"DiscriminatorType": "AutomaticSignature",
"SigId": "c5d2b3a5-afd1-4794-b8c8-c3f9c0755b75"
}]
}
}
}
}]
}
}
Alternative: SOAP implementation (deprecated)
<envelope>
<name>GenericSigningPluginForTests</name>
<eMailSubject>*GenericSigningPluginForTests*</eMailSubject>
<eMailBody>*Please sign the document*</eMailBody>
<enableReminders>true</enableReminders>
<firstReminderDayAmount>5</firstReminderDayAmount>
<recurrentReminderDayAmount>3</recurrentReminderDayAmount>
<beforeExpirationReminderDayAmount>3</beforeExpirationReminderDayAmount>
<daysUntilExpire>28</daysUntilExpire>
<callbackUrl></callbackUrl>
<statusUpdateCallbackUrl></statusUpdateCallbackUrl>
<lockFormFieldsAtEnvelopeFinish>false</lockFormFieldsAtEnvelopeFinish>
<displayedEmailSender>##Email##</displayedEmailSender>
<steps>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>1</orderIndex>
<recipientType>Automatic</recipientType>
<useDefaultAgreements>true</useDefaultAgreements>
<documentOptions>
<documentOption docRef="1">
<isHidden>false</isHidden>
</documentOption>
</documentOptions>
<workstepConfiguration skipThirdPartyChecks="0">
<WorkstepLabel>Generic Signing Plugin</WorkstepLabel>
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>43200</WorkstepTimeToLiveInMinutes>
<signatureTemplate>
<sig id="c5d2b3a5-afd1-4794-b8c8-c3f9c0755b75">
<positionPage>1</positionPage>
<DocRefNumber>1</DocRefNumber>
<positionX>0</positionX>
<positionY>0</positionY>
<width>190</width>
<height>80</height>
<param name="req">1</param>
<param name="positioning">onPage</param>
<param name="enabled">1</param>
<AllowedSignatureTypes>
<sigType id="SignFor_c5d2b3a5-afd1-4794-b8c8-c3f9c0755b75" type="AutomaticSignature" preferred="0">
<trModType />
<SealingProfileId>##SealingProfileId##</SealingProfileId>
<genericSigningPluginId>GenericSigningPluginForTests</genericSigningPluginId>
</sigType>
</AllowedSignatureTypes>
<param name="spcId">automaticSigningId</param>
</sig>
<positionUnits>PdfUnits</positionUnits>
<positionReferenceCorner>Lower_Left</positionReferenceCorner>
</signatureTemplate>
<PictureAnnotationTaskInfo>
<MinResolution>-1</MinResolution>
<MaxResolution>-1</MaxResolution>
<ColorDepth>Color16M</ColorDepth>
</PictureAnnotationTaskInfo>
<Policy version="1.1.0.0">
<GeneralPolicies>
<AllowSaveDocument>1</AllowSaveDocument>
<AllowSaveAuditTrail>1</AllowSaveAuditTrail>
<AllowRotatingPages>1</AllowRotatingPages>
<AllowAppendFileToWorkstep>0</AllowAppendFileToWorkstep>
<AllowAppendTasksToWorkstep>0</AllowAppendTasksToWorkstep>
<AllowEmailDocument>1</AllowEmailDocument>
<AllowFinishWorkstep>1</AllowFinishWorkstep>
<AllowRejectWorkstep>1</AllowRejectWorkstep>
<AllowRejectWorkstepDelegation>1</AllowRejectWorkstepDelegation>
<AllowUndoLastAction>1</AllowUndoLastAction>
<AllowColorizePdfForms>0</AllowColorizePdfForms>
<AllowAdhocPdfAttachments>1</AllowAdhocPdfAttachments>
<AllowAdhocSignatures>0</AllowAdhocSignatures>
<AllowAdhocStampings>0</AllowAdhocStampings>
<AllowAdhocFreeHandAnnotations>0</AllowAdhocFreeHandAnnotations>
<AllowAdhocTypewriterAnnotations>0</AllowAdhocTypewriterAnnotations>
<AllowAdhocPictureAnnotations>0</AllowAdhocPictureAnnotations>
<AllowAdhocPdfPageAppending>0</AllowAdhocPdfPageAppending>
</GeneralPolicies>
<WorkstepTasks SequenceMode="NoSequenceEnforced" />
<FinalizeActions>
<AutomaticSignature sigId="c5d2b3a5-afd1-4794-b8c8-c3f9c0755b75" />
</FinalizeActions>
</Policy>
<timeCreated />
<TransactionCodeConfigurations>
<TransactionCodeConfiguration trConfId="smsAuthTransactionCodeId" language="">
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
<ViewerPreferences>
<FinishWorkstepOnOpen>0</FinishWorkstepOnOpen>
</ViewerPreferences>
<senderInformation>
<userInformation>
<firstName>##FirstName##</firstName>
<lastName>##LastName##</lastName>
<eMail>##Email##</eMail>
</userInformation>
</senderInformation>
<FinishAction />
</workstepConfiguration>
<recipients>
<recipient>
<eMail>#PlaceholderEmail##</eMail>
<emailBodyExtra></emailBodyExtra>
<firstName>_PlaceHolderFirstName</firstName>
<lastName>_PlaceHolderFirstName</lastName>
<languageCode>en</languageCode>
<disableEmail>true</disableEmail>
<skipExternalDataValidation>false</skipExternalDataValidation>
<addAndroidAppLink>false</addAndroidAppLink>
<addIosAppLink>false</addIosAppLink>
<addWindowsAppLink>false</addWindowsAppLink>
<allowDelegation>false</allowDelegation>
<allowAccessFinishedWorkstep>false</allowAccessFinishedWorkstep>
<authentications />
</recipient>
</recipients>
</step>
</steps>
<attachSignedDocumentsToEnvelopeLog>false</attachSignedDocumentsToEnvelopeLog>
</envelope>
Generic Signing Plugin (Batch-Signature)
In this section you can find the configuration for a batch generic signing plugin signature. Please see the following workstep configuration for more information:
{
"SspFileIds": ["##SspFileId##"],
"SendEnvelopeDescription": {
"Name": "eSignAnyWhere Tutorial",
"EmailSubject": "Document of eSignAnyWhere Tutorial",
"EmailBody": "Dear #RecipientFirstName#! Please sign this tutorial document.",
"DisplayedEmailSender": "",
"EnableReminders": true,
"FirstReminderDayAmount": 1,
"RecurrentReminderDayAmount": 1,
"BeforeExpirationDayAmount": 1,
"DaysUntilExpire": 2,
"CallbackUrl": "",
"StatusUpdateCallbackUrl": "",
"LockFormFieldsAtEnvelopeFinish": false,
"Steps": [
{
"OrderIndex": 1,
"Recipients": [
{
"Email": "##Email##",
"FirstName": "##FirstName##",
"LastName": "##LastName##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"AllowAccessFinishedWorkstep": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": []
}
],
"EmailBodyExtra": "",
"RecipientType": "Signer",
"WorkstepConfiguration": {
"WorkstepLabel": "",
"SmallTextZoomFactorPercent": 100,
"FinishAction": {
"ServerActions": [],
"ClientActions": []
},
"ReceiverInformation": {
"UserInformation": {
"FirstName": "##FirstName##",
"LastName": "##LastName##",
"EMail": "##Email##"
},
"TransactionCodePushPluginData": [],
"GenericSigningPluginDataList": [
{
"PluginId": "GenericSigningPluginForTests",
"SenderDataFields": {
"Fields": [
{
"Key": "customEmail",
"Value": "##Email##"
},
{
"Key": "userId",
"Value": "##UserId##"
},
{
"Key": "email",
"Value": "##Email##"
},
{
"Key": "password",
"Value": "##Password##"
},
{
"Key": "number",
"Value": "##Number##"
},
{
"Key": "phoneNumber",
"Value": "+##PhoneNumber##"
},
{
"Key": "list",
"Value": "app"
}
]
}
}
]
},
"SenderInformation": {
"UserInformation": {
"FirstName": "##FirstName##",
"LastName": "##LastName##",
"EMail": "##Email##"
}
},
"TransactionCodeConfigurations": [
{
"Id": "",
"HashAlgorithmIdentifier": "Sha256",
"Texts": [
{
"Value": "Please sign the document with the transactionId {tId} with the code: {Token}"
}
]
},
{
"Id": "Trans1",
"HashAlgorithmIdentifier": "Sha256",
"Texts": [
{
"Value": "Please accept the transactionId {tId} with the code: {Token}"
}
]
},
{
"Id": "IdentityServerMail",
"HashAlgorithmIdentifier": "Sha256",
"Texts": [
{}
]
},
{
"Id": "otpSignatureSmsText",
"HashAlgorithmIdentifier": "Sha256",
"Texts": [
]
}
],
"SignatureConfigurations": [],
"ViewerPreferences": {},
"AuditingToolsConfiguration": {
"WriteAuditTrail": true,
"NotificationConfiguration": {
}
},
"Policy": {
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": true,
"AllowAppendFileToWorkstep": false,
"AllowAppendTaskToWorkstep": false,
"AllowEmailDocument": true,
"AllowPrintDocument": true,
"AllowFinishWorkstep": true,
"AllowRejectWorkstep": true,
"AllowRejectWorkstepDelegation": false,
"AllowUndoLastAction": true,
"AllowColorizePdfForms": false,
"AllowAdhocPdfAttachments": true,
"AllowAdhocSignatures": true,
"AllowAdhocStampings": true,
"AllowAdhocFreeHandAnnotations": true,
"AllowAdhocTypewriterAnnotations": true,
"AllowAdhocPictureAnnotations": true,
"AllowAdhocPdfPageAppending": true,
"AllowReloadOfFinishedWorkstep": true
},
"WorkstepTasks": {
"PictureAnnotationMinResolution": 96,
"PictureAnnotationMaxResolution": 300,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "SequenceOnlyRequiredTasks",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 50.0,
"PositionY": 700.0
},
"Size": {
"Height": 54.85714,
"Width": 240.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "completed",
"Value": "0"
},
{
"Key": "sigType",
"Value": "GenericSigningPlugin"
},
{
"Key": "genericSigningPluginId",
"Value": "GenericSigningPluginForTests"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "ly",
"Value": "remoteCertificate"
},
{
"Key": "fd",
"Value": "My Field Description Text"
}
],
"AllowedSignatureTypes": [],
"UseTimestamp": false,
"IsRequired": false,
"Id": "Sig1a",
"DisplayName": "SignField 1",
"DocRefNumber": 1,
"BatchId": "batch",
"DiscriminatorType": "Signature"
},
{
"PositionPage": 1,
"Position": {
"PositionX": 50.0,
"PositionY": 600.0
},
"Size": {
"Height": 54.85714,
"Width": 240.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "completed",
"Value": "0"
},
{
"Key": "sigType",
"Value": "GenericSigningPlugin"
},
{
"Key": "genericSigningPluginId",
"Value": "GenericSigningPluginForTests"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "ly",
"Value": "remoteCertificate"
},
{
"Key": "fd",
"Value": "My Field Description Text"
}
],
"AllowedSignatureTypes": [],
"UseTimestamp": false,
"IsRequired": false,
"Id": "Sig1b",
"DisplayName": "SignField 1",
"DocRefNumber": 1,
"BatchId": "batch",
"DiscriminatorType": "Signature"
},
{
"PositionPage": 1,
"Position": {
"PositionX": 50.0,
"PositionY": 500.0
},
"Size": {
"Height": 54.85714,
"Width": 240.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "completed",
"Value": "0"
},
{
"Key": "sigType",
"Value": "GenericSigningPlugin"
},
{
"Key": "genericSigningPluginId",
"Value": "GenericSigningPluginForTests"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "ly",
"Value": "remoteCertificate"
},
{
"Key": "fd",
"Value": "My Field Description Text"
}
],
"AllowedSignatureTypes": [],
"UseTimestamp": false,
"IsRequired": false,
"Id": "Sig1c",
"DisplayName": "SignField 1",
"DocRefNumber": 1,
"BatchId": "batch",
"DiscriminatorType": "Signature"
}
]
}
},
"Navigation": {
"HyperLinks": [],
"Links": [],
"LinkTargets": []
}
},
"DocumentOptions": [
{
"DocumentReference": "1",
"IsHidden": false
}
],
"UseDefaultAgreements": true
},
{
"OrderIndex": 2,
"Recipients": [
{
"Email": "##Email##",
"FirstName": "##FirstName##",
"LastName": "##LastName##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"AllowAccessFinishedWorkstep": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": []
}
],
"EmailBodyExtra": "",
"RecipientType": "Cc",
"DocumentOptions": [
{
"DocumentReference": "1",
"IsHidden": false
}
],
"UseDefaultAgreements": true
}
],
"AddFormFields": {
"Forms": {}
},
"OverrideFormFieldValues": {
"Forms": {}
},
"AttachSignedDocumentsToEnvelopeLog": false
}
}
Alternative: SOAP implementation (deprecated)
<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>
<callbackUrl />
<steps>
<step>
<emailBodyExtra />
<orderIndex>1</orderIndex>
<recipientType>Signer</recipientType>
<recipients>
<recipient>
<languageCode>en</languageCode>
<eMail>##Email##</eMail>
<firstName>##FirstName##</firstName>
<lastName>##LastName##</lastName>
</recipient>
</recipients>
<workstepConfiguration skipThirdPartyChecks="0">
<WorkstepLabel />
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>900</WorkstepTimeToLiveInMinutes>
<FinishAction>
</FinishAction>
<signatureTemplate>
<version>1.2.0.2</version>
<positionUnits>PdfUnits</positionUnits>
<positionReferenceCorner>Lower_Left</positionReferenceCorner>
<sig id="Sig1a">
<positionPage>1</positionPage>
<DocRefNumber>1</DocRefNumber>
<positionX>50</positionX>
<positionY>700</positionY>
<width>240</width>
<height>54.85714</height>
<param name="enabled">1</param>
<param name="completed">0</param>
<param name="sigType">GenericSigningPlugin</param>
<param name="genericSigningPluginId">GenericSigningPluginForTests</param>
<param name="positioning">onPage</param>
<param name="ly">remoteCertificate</param>
<param name="fd">My Field Description Text</param>
</sig>
<sig id="Sig1b">
<positionPage>1</positionPage>
<DocRefNumber>1</DocRefNumber>
<positionX>50</positionX>
<positionY>600</positionY>
<width>240</width>
<height>54.85714</height>
<param name="enabled">1</param>
<param name="completed">0</param>
<param name="sigType">GenericSigningPlugin</param>
<param name="genericSigningPluginId">GenericSigningPluginForTests</param>
<param name="positioning">onPage</param>
<param name="ly">remoteCertificate</param>
<param name="fd">My Field Description Text</param>
</sig>
<sig id="Sig1c">
<positionPage>1</positionPage>
<DocRefNumber>1</DocRefNumber>
<positionX>50</positionX>
<positionY>500</positionY>
<width>240</width>
<height>54.85714</height>
<param name="enabled">1</param>
<param name="completed">0</param>
<param name="sigType">GenericSigningPlugin</param>
<param name="genericSigningPluginId">GenericSigningPluginForTests</param>
<param name="positioning">onPage</param>
<param name="ly">remoteCertificate</param>
<param name="fd">My Field Description Text</param>
</sig>
</signatureTemplate>
<receiverInformation>
<userInformation>
<firstName>##FirstName##</firstName>
<lastName>##LastName##</lastName>
<eMail>##Email##</eMail>
</userInformation>
<genericSigningPluginData pluginId="GenericSigningPluginForTests">
<senderDataFields>
</senderDataFields>
</genericSigningPluginData>
</receiverInformation>
<pdfForms isEditingAllowed="1" />
<attachmentFields />
<PictureAnnotationTaskInfo>
<MinResolution>96</MinResolution>
<MaxResolution>300</MaxResolution>
<ColorDepth>Color16M</ColorDepth>
</PictureAnnotationTaskInfo>
<TypewriterAnnotationTaskInfo />
<Policy version="1.1.0.0">
<GeneralPolicies>
<AllowSaveDocument>1</AllowSaveDocument>
<AllowSaveAuditTrail>1</AllowSaveAuditTrail>
<AllowRotatingPages>1</AllowRotatingPages>
<AllowAppendFileToWorkstep>0</AllowAppendFileToWorkstep>
<AllowAppendTasksToWorkstep>0</AllowAppendTasksToWorkstep>
<AllowEmailDocument>1</AllowEmailDocument>
<AllowPrintDocument>1</AllowPrintDocument>
<AllowFinishWorkstep>1</AllowFinishWorkstep>
<AllowRejectWorkstep>1</AllowRejectWorkstep>
<AllowRejectWorkstepDelegation>0</AllowRejectWorkstepDelegation>
<AllowUndoLastAction>1</AllowUndoLastAction>
<AllowColorizePdfForms>0</AllowColorizePdfForms>
<AllowReloadOfFinishedWorkstep>1</AllowReloadOfFinishedWorkstep>
<AllowAdhocPdfAttachments>1</AllowAdhocPdfAttachments>
<AllowAdhocSignatures>1</AllowAdhocSignatures>
<AllowAdhocStampings>1</AllowAdhocStampings>
<AllowAdhocFreeHandAnnotations>1</AllowAdhocFreeHandAnnotations>
<AllowAdhocTypewriterAnnotations>1</AllowAdhocTypewriterAnnotations>
<AllowAdhocPictureAnnotations>1</AllowAdhocPictureAnnotations>
<AllowAdhocPdfPageAppending>1</AllowAdhocPdfPageAppending>
</GeneralPolicies>
<WorkstepTasks SequenceMode="SequenceOnlyRequiredTasks">
<Task enabled="1" completed="0" required="0" id="Sig1a" displayName="SignField 1" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1" allRequiredFieldsFilledOnWorkstepCreation="0" batchId="batch" />
<Task enabled="1" completed="0" required="0" id="Sig1b" displayName="SignField 1" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1" allRequiredFieldsFilledOnWorkstepCreation="0" batchId="batch" />
<Task enabled="1" completed="0" required="0" id="Sig1c" displayName="SignField 1" DocRefNumber="1" type="SignField" internalAllConcernedDocRefNumbersList="1" allRequiredFieldsFilledOnWorkstepCreation="0" batchId="batch" />
</WorkstepTasks>
<AdhocPolicies>
<AllowModificationsAfterSignature>1</AllowModificationsAfterSignature>
</AdhocPolicies>
</Policy>
<Navigation />
<timeCreated>2020-07-08T08:17:01.0948544Z</timeCreated>
<signaturePluginConfiguration>
<PdfSignatureProperties_V1>
<PdfAConformant>0</PdfAConformant>
<ValidateSigningCertificateName regex="(?<LastName>.*) (?<FirstName>.*)">0</ValidateSigningCertificateName>
<ValidateSigningCertificateViaEutl>0</ValidateSigningCertificateViaEutl>
<PAdESPart4Compliant>0</PAdESPart4Compliant>
<IncludeSigningCertificateChain>0</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>DoNotInclude</SigningCertificateRevocationInformationIncludeMode>
<SignatureTimestampData>
<Password />
<SignatureHashAlgorithm>SHA1</SignatureHashAlgorithm>
<Uri />
<UserName />
</SignatureTimestampData>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<AuditingToolsConfiguration WriteAuditTrail="1">
<NotificationConfiguration>
</NotificationConfiguration>
</AuditingToolsConfiguration>
<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>
<TransactionCodeConfiguration trConfId="IdentityServerMail">
<Subject>Message for TransactionCode</Subject>
<FromAddress>##Email##</FromAddress>
<TextBody>Please accept the transactionId {tId} with the code: {Token}</TextBody>
<hashAlgorithmIdentifier>Sha256</hashAlgorithmIdentifier>
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
</workstepConfiguration>
</step>
<step>
<emailBodyExtra />
<orderIndex>2</orderIndex>
<recipientType>CC</recipientType>
<recipients>
<recipient>
<languageCode>en</languageCode>
<eMail>##Email##</eMail>
<firstName>##FirstName##</firstName>
<lastName>##LastName##</lastName>
</recipient>
</recipients>
</step>
</steps>
</envelope>
Authentication
You can add different authentications for the recipient to ensure that only the one who has the code/phone number can open the envelope. Following list shows the different authentications:
In the next two collapses you can find the configuration for the Pin-authentication and for the SMS-authentication:
Pin-authentication
{
"Method": "Pin",
"Parameter": "1234"
}
Alternative: SOAP implementation (deprecated)
<authentications>
<authentication>
<method>Pin</method>
<parameter>1234</parameter>
</authentication>
</authentications>
SMS-authentication
{
"Method": "Sms",
"Parameter": "+0123456789"
}
Alternative: SOAP implementation (deprecated)
<authentications>
<authentication>
<method>Sms</method>
<parameter>+0123456789</parameter>
</authentication>
</authentications>
You have to place the authentication in the section “recipient”. You can find a workstep configuration with an authentication in the next section:
"Steps": [
{
"OrderIndex": 1,
"Recipients": [
{
"Email": "##EMAIL##",
"FirstName": "##NAME##",
"LastName": "##NAME##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": [
{
"Method": "Pin",
"Parameter": "1234"
}
]
}
],
Alternative: SOAP implementation (deprecated)
<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>##EMAIL##</eMail>
<firstName>Alice</firstName>
<lastName>Somename</lastName>
<authentications>
<authentication>
<method>Pin</method>
<parameter>1234</parameter>
</authentication>
</authentications>
</recipient>
</recipients>
<workstepConfiguration>
<WorkstepLabel />
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>11520</WorkstepTimeToLiveInMinutes>
<FinishAction />
<ViewerPreferences>
</ViewerPreferences>
<signatureTemplate>
</signatureTemplate>
<Policy version="1.1.0.0">
<GeneralPolicies>
</GeneralPolicies>
<WorkstepTasks SequenceMode="SequenceOnlyRequiredTasks" originalSequenceMode="SequenceOnlyRequiredTasks">
</WorkstepTasks>
</Policy>
<TransactionCodeConfigurations>
<TransactionCodeConfiguration trConfId="">
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
</workstepConfiguration>
</step>
</steps>
</envelope>
The following list shows you all different form fields which can be placed on the document:
- Textfield
- Radiobutton
- Checkbox
- Listbox
- Combobox
The next tabs you can find the configurations of these form fields. Beginning with the configuration of the section “PdfForms”.
Textfield
"Forms": [
{
"Id": "TextBox_3daf9a88-bf45-70af-99d0-c077bcb48245",
"PositionPage": 1,
"DocRefNumber": 1,
"Position": {
"PositionX": 77.0,
"PositionY": 590.0
},
"Size": {
"Height": 20.0,
"Width": 124.0
},
"DiscriminatorType": "TextBox"
}
],
"IsRequired": false,
"Id": "f390ebd3-4b9c-4554-ab61-4d1234bad681",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "FormGroup"
},
Alternative: SOAP implementation (deprecated)
<textBox id="TextBox_044431e0-c75b-ea8a-0a6b-b2a82a3b7a67">
<DocRefNumber>1</DocRefNumber>
<isRequired>0</isRequired>
<positionPage>1</positionPage>
<positionX>70</positionX>
<positionY>579</positionY>
<width>124</width>
<height>20</height>
</textBox>
{
"RadioButtonGroupId": "RadioButton_942fca6a-5e0e-7694-b858-b5ded711ed0b",
"Id": "0",
"PositionPage": 1,
"DocRefNumber": 1,
"Position": {
"PositionX": 77.0,
"PositionY": 553.0
},
"Size": {
"Height": 20.0,
"Width": 20.0
},
"DiscriminatorType": "RadioButton"
},
Alternative: SOAP implementation (deprecated)
<radioButton id="RadioButton_2b853f33-ed5c-7e39-7865-41056a90ca13#XyzmoIndexSeparator#0">
<DocRefNumber>1</DocRefNumber>
<isRequired>0</isRequired>
<positionPage>1</positionPage>
<positionX>66</positionX>
<positionY>544</positionY>
<width>20</width>
<height>20</height>
</radioButton>
Checkbox
{
"IsRequired": false,
"RequiredEvalPolicy": "None",
"Id": "CheckBox_41371eaf-6e1a-0d9a-58a9-0705fd8d08d1",
"PositionPage": 1,
"DocRefNumber": 1,
"Position": {
"PositionX": 77.0,
"PositionY": 520.0
},
"Size": {
"Height": 20.0,
"Width": 20.0
},
"DiscriminatorType": "CheckBox"
},
Alternative: SOAP implementation (deprecated)
<checkBox id="CheckBox_6f1fde0e-9338-f34b-6fe2-05d27ff632b9">
<requiredEvalPolicy>None</requiredEvalPolicy>
<DocRefNumber>1</DocRefNumber>
<isRequired>0</isRequired>
<positionPage>1</positionPage>
<positionX>69</positionX>
<positionY>511</positionY>
<width>20</width>
<height>20</height>
</checkBox>
Listbox
{
"Items": [],
"Id": "ListBox_d51c4e55-2497-8ab4-f2c8-6f60ac6a2cfd",
"PositionPage": 1,
"DocRefNumber": 1,
"Position": {
"PositionX": 79.0,
"PositionY": 475.0
},
"Size": {
"Height": 30.0,
"Width": 150.0
},
"DiscriminatorType": "ListBox"
},
Alternative: SOAP implementation (deprecated)
<listBox id="ListBox_1c2a2627-5262-2fb0-d937-5e0f947031a4">
<DocRefNumber>1</DocRefNumber>
<isRequired>0</isRequired>
<positionPage>1</positionPage>
<positionX>69</positionX>
<positionY>464</positionY>
<width>150</width>
<height>30</height>
</listBox>
Listbox (Multiselect)
In the workstep configuration you can also define to select multiple items in the listbox. To define a multiselect of items you have to have at least two items in the listbox and you have to activate multiselect for this listbox. Please see the configurations below for more information:
Here you can find the configuration to enable multiselect for the listbox:
Alternative: SOAP implementation (deprecated)
<isMultiSelect>1</isMultiSelect>
Below you can find a complete configuration with three items in the listbox and the enabled multiselect.
{
"SspFileIds": [
"##FILE-ID##"
],
"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": "",
"LockFormFieldsAtEnvelopeFinish": true,
"Steps": [
{
"OrderIndex": 1,
"Recipients": [
{
"Email": "##EMAIL##",
"FirstName": "##NAME##",
"LastName": "##NAME##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"AllowAccessFinishedWorkstep": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": []
}
],
"EmailBodyExtra": "",
"RecipientType": "Signer",
"WorkstepConfiguration": {
"WorkstepLabel": "test",
"SmallTextZoomFactorPercent": 100,
"FinishAction": {
"ServerActions": [],
"ClientActions": [
{
"RemoveDocumentFromRecentDocumentList": false,
"CallClientActionOnlyAfterSuccessfulSync": true,
"ClientName": "SIGNificant SignAnywhere",
"CloseApp": false,
"Action": "https://www.esignanywhere.net/"
}
]
},
"ReceiverInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
},
"TransactionCodePushPluginData": []
},
"SenderInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
}
},
"TransactionCodeConfigurations": [
{
"Id": "smsAuthTransactionCodeId",
"HashAlgorithmIdentifier": "Sha256",
"Texts": [
]
}
],
"SignatureConfigurations": [],
"ViewerPreferences": {
"FinishWorkstepOnOpen": false,
"VisibleAreaOptions": {
"AllowedDomain": "*",
"Enabled": false
}
},
"ResourceUris": {},
"AuditingToolsConfiguration": {
"WriteAuditTrail": false,
"NotificationConfiguration": {}
},
"Policy": {
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": false,
"AllowEmailDocument": true,
"AllowPrintDocument": true,
"AllowFinishWorkstep": true,
"AllowRejectWorkstep": true,
"AllowRejectWorkstepDelegation": false,
"AllowUndoLastAction": true,
"AllowAdhocPdfAttachments": false,
"AllowAdhocSignatures": false,
"AllowAdhocStampings": false,
"AllowAdhocFreeHandAnnotations": false,
"AllowAdhocTypewriterAnnotations": false,
"AllowAdhocPictureAnnotations": false,
"AllowAdhocPdfPageAppending": false
},
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"Forms": [
{
"Items": [],
"IsRequired": false,
"Id": "ListBox_ef1ae2c5-8c83-2aab-b9eb-56624e33bcb8",
"PositionPage": 1,
"DocRefNumber": 1,
"Position": {
"PositionX": 60.0,
"PositionY": 655.0
},
"Size": {
"Height": 30.0,
"Width": 150.0
},
"DiscriminatorType": "ListBox"
}
],
"IsRequired": false,
"Id": "8ab43761-8310-4331-8c47-b3b9c5886146",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "FormGroup"
}
]
}
},
"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": {
"1": [
{
"Items": [
{
"ExportValue": "option1",
"DisplayValue": "option1",
"IsSelected": true
},
{
"ExportValue": "option2",
"DisplayValue": "option2",
"IsSelected": true
},
{
"ExportValue": "option3",
"DisplayValue": "option3",
"IsSelected": false
}
],
"TextColor": "",
"IsMultiselect": true,
"FontSize": 11.0,
"FontName": "Times New Roman",
"Bold": false,
"Italic": false,
"TextAlign": "Left",
"Name": "ListBox_ef1ae2c5-8c83-2aab-b9eb-56624e33bcb8",
"ReadOnly": false,
"Required": false,
"X": 60.0,
"Y": 655.0,
"Width": 150.0,
"Height": 30.0,
"Page": 1,
"DiscriminatorType": "AddListBoxFormFieldDescriptor"
}
]
}
},
"OverrideFormFieldValues": {
"Forms": {}
},
"AttachSignedDocumentsToEnvelopeLog": false
}
}
Alternative: SOAP implementation (deprecated)
<envelope>
<name>test</name>
<eMailSubject>Please sign the enclosed envelope</eMailSubject>
<eMailBody>Dear #RecipientFirstName# #RecipientLastName#
#PersonalMessage#
Please sign the envelope #EnvelopeName#
Envelope will expire at #ExpirationDate#</eMailBody>
<enableReminders>true</enableReminders>
<firstReminderDayAmount>5</firstReminderDayAmount>
<recurrentReminderDayAmount>3</recurrentReminderDayAmount>
<beforeExpirationReminderDayAmount>3</beforeExpirationReminderDayAmount>
<daysUntilExpire>28</daysUntilExpire>
<callbackUrl></callbackUrl>
<statusUpdateCallbackUrl></statusUpdateCallbackUrl>
<lockFormFieldsAtEnvelopeFinish>true</lockFormFieldsAtEnvelopeFinish>
<displayedEmailSender></displayedEmailSender>
<steps>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>1</orderIndex>
<recipientType>Signer</recipientType>
<useDefaultAgreements>true</useDefaultAgreements>
<documentOptions>
<documentOption docRef="1">
<isHidden>false</isHidden>
</documentOption>
</documentOptions>
<workstepConfiguration skipThirdPartyChecks="0">
<WorkstepLabel>test</WorkstepLabel>
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>44650</WorkstepTimeToLiveInMinutes>
<AbsoluteExpiryDate>2020-07-17T07:15:28.9549326Z</AbsoluteExpiryDate>
<FinishAction>
<ClientAction clientName="SIGNificant SignAnywhere" closeApp="0" RemoveDocumentFromRecentDocumentList="0" CallClientActionOnlyAfterSuccessfulSync="1">https://www.esignanywhere.net/</ClientAction>
</FinishAction>
<ViewerPreferences>
<SendVisibleArea allowedDomain="*">0</SendVisibleArea>
<FinishWorkstepOnOpen>0</FinishWorkstepOnOpen>
</ViewerPreferences>
<Policy version="1.1.0.0">
<AdhocPolicies>
<AllowModificationsAfterSignature>1</AllowModificationsAfterSignature>
</AdhocPolicies>
<GeneralPolicies>
<AllowAdhocFreeHandAnnotations>0</AllowAdhocFreeHandAnnotations>
<AllowAdhocPdfAttachments>0</AllowAdhocPdfAttachments>
<AllowAdhocPdfPageAppending>0</AllowAdhocPdfPageAppending>
<AllowAdhocPictureAnnotations>0</AllowAdhocPictureAnnotations>
<AllowAdhocSignatures>0</AllowAdhocSignatures>
<AllowAdhocStampings>0</AllowAdhocStampings>
<AllowAdhocTypewriterAnnotations>0</AllowAdhocTypewriterAnnotations>
<AllowEmailDocument>1</AllowEmailDocument>
<AllowFinishWorkstep>1</AllowFinishWorkstep>
<AllowPrintDocument>1</AllowPrintDocument>
<AllowRejectWorkstep>1</AllowRejectWorkstep>
<AllowSaveAuditTrail>1</AllowSaveAuditTrail>
<AllowSaveDocument>1</AllowSaveDocument>
<AllowUndoLastAction>1</AllowUndoLastAction>
<AllowRotatingPages>0</AllowRotatingPages>
<AllowRejectWorkstepDelegation>0</AllowRejectWorkstepDelegation>
</GeneralPolicies>
<WorkstepTasks originalSequenceMode="NoSequenceEnforced" SequenceMode="NoSequenceEnforced">
<Task id="411581f7-5d5b-4443-8aec-43027d1f703c" DocRefNumber="1" enabled="1" completed="0" type="FillFormsGroup" required="0" displayName="" />
</WorkstepTasks>
</Policy>
<Navigation />
<timeCreated>2020-07-17T07:05:28.9236813Z</timeCreated>
<TransactionCodeConfigurations>
<TransactionCodeConfiguration trConfId="smsAuthTransactionCodeId">
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
<receiverInformation>
<userInformation>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
<showNamirialDisposableDisclaimer>1</showNamirialDisposableDisclaimer>
</receiverInformation>
<senderInformation>
<userInformation>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
</senderInformation>
<pdfForms isEditingAllowed="0">
<pdfFormsGroup id="411581f7-5d5b-4443-8aec-43027d1f703c">
<listBox id="ListBox_ef1ae2c5-8c83-2aab-b9eb-56624e33bcb8">
<DocRefNumber>1</DocRefNumber>
<isRequired>0</isRequired>
<positionPage>1</positionPage>
<positionX>60</positionX>
<positionY>655</positionY>
<width>150</width>
<height>30</height>
</listBox>
</pdfFormsGroup>
</pdfForms>
<TypewriterAnnotationTaskInfo />
<attachmentFields />
<signatureTemplate>
<version>1.2.0.2</version>
<positionReferenceCorner>Lower_Left</positionReferenceCorner>
<positionUnits>PdfUnits</positionUnits>
</signatureTemplate>
<AuditingToolsConfiguration WriteAuditTrail="0">
<NotificationConfiguration />
</AuditingToolsConfiguration>
<resourceUris />
</workstepConfiguration>
<recipients>
<recipient>
<eMail>##EMAIL##</eMail>
<emailBodyExtra></emailBodyExtra>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<languageCode>en</languageCode>
<disableEmail>false</disableEmail>
<skipExternalDataValidation>false</skipExternalDataValidation>
<addAndroidAppLink>false</addAndroidAppLink>
<addIosAppLink>false</addIosAppLink>
<addWindowsAppLink>false</addWindowsAppLink>
<allowDelegation>false</allowDelegation>
<allowAccessFinishedWorkstep>false</allowAccessFinishedWorkstep>
<authentications />
</recipient>
</recipients>
</step>
<step>
<emailBodyExtra></emailBodyExtra>
<orderIndex>2</orderIndex>
<recipientType>Cc</recipientType>
<useDefaultAgreements>false</useDefaultAgreements>
<recipients>
<recipient>
<eMail>##EMAIL##</eMail>
<emailBodyExtra></emailBodyExtra>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<languageCode>en</languageCode>
<disableEmail>false</disableEmail>
<skipExternalDataValidation>false</skipExternalDataValidation>
<addAndroidAppLink>false</addAndroidAppLink>
<addIosAppLink>false</addIosAppLink>
<addWindowsAppLink>false</addWindowsAppLink>
<allowDelegation>false</allowDelegation>
<authentications />
</recipient>
</recipients>
</step>
</steps>
<addFormFields>
<document docRef="1">
<listBox name="ListBox_ef1ae2c5-8c83-2aab-b9eb-56624e33bcb8" readOnly="false" required="false" x="60" y="655" width="150" height="30" page="1">
<isMultiSelect>1</isMultiSelect>
<fontSettings>
<textColor></textColor>
<fontName>Times New Roman</fontName>
<fontSize>11</fontSize>
<fontStyleBold>false</fontStyleBold>
<fontStyleItalic>false</fontStyleItalic>
<textAlign>Left</textAlign>
</fontSettings>
<item>
<item exportValue="option1" displayValue="option1" isSelected="true" />
<item exportValue="option2" displayValue="option2" isSelected="true" />
<item exportValue="option3" displayValue="option3" isSelected="false" />
</item>
</listBox>
</document>
</addFormFields>
<attachSignedDocumentsToEnvelopeLog>false</attachSignedDocumentsToEnvelopeLog>
</envelope>
Combobox
{
"IsRequired": false,
"Items": [],
"Id": "ComboBox_67a8d39f-3a49-65e0-0d5d-88ac97b387ea",
"PositionPage": 1,
"DocRefNumber": 1,
"Position": {
"PositionX": 79.0,
"PositionY": 424.0
},
"Size": {
"Height": 30.0,
"Width": 150.0
},
"DiscriminatorType": "ComboBox"
}
Alternative: SOAP implementation (deprecated)
<comboBox id="ComboBox_3247b8f7-620e-a1bc-4e0d-53ae0e019921">
<DocRefNumber>1</DocRefNumber>
<isRequired>0</isRequired>
<positionPage>1</positionPage>
<positionX>69</positionX>
<positionY>416</positionY>
<width>150</width>
<height>30</height>
</comboBox>
After the configuration of the section “PdfForms” you can add these form fields in the section “addFormFields”.
Textfield:
{
"Value": "",
"MaxLength": -1,
"IsMultiline": false,
"IsPassword": false,
"IsComb": false,
"TextColor": "0, 0, 0",
"FontSize": 11.0,
"FontName": "Times New Roman",
"Bold": false,
"Italic": false,
"TextAlign": "Left",
"Name": "TextBox_3daf9a88-bf45-70af-99d0-c077bcb48245",
"ReadOnly": false,
"Required": false,
"X": 77.0,
"Y": 590.92,
"Width": 124.0,
"Height": 20.0,
"Page": 1,
"DiscriminatorType": "AddTextBoxFormFieldDescriptor"
},
Alternative: SOAP implementation (deprecated)
<textBox name="TextBox_044431e0-c75b-ea8a-0a6b-b2a82a3b7a67" readOnly="false" required="false" x="70" y="579.92" width="124" height="20" page="1">
<fontSettings>
<textColor>#000000</textColor>
<fontName>Times New Roman</fontName>
<fontSize>11</fontSize>
<fontStyleBold>false</fontStyleBold>
<fontStyleItalic>false</fontStyleItalic>
<textAlign>Left</textAlign>
</fontSettings>
<value />
<maxLength>-1</maxLength>
<isMultiLine>false</isMultiLine>
<isPassword>false</isPassword>
<isComb>false</isComb>
</textBox>
Radiobutton:
{
"ExportValue": "1b6c204b-0642-5566-f526-a725e16737a5",
"IsChecked": false,
"Name": "RadioButton_18d57bcd-6a82-ebde-a2ab-c4557a720bfe",
"ReadOnly": false,
"Required": false,
"X": 77.0,
"Y": 550.92,
"Width": 20.0,
"Height": 20.0,
"Page": 1,
"DiscriminatorType": "AddRadioButtonFormFieldDescriptor"
},
Alternative: SOAP implementation (deprecated)
<radioButton name="RadioButton_2b853f33-ed5c-7e39-7865-41056a90ca13" readOnly="false" required="false" x="66" y="544.92" width="20" height="20" page="1">
<exportValue>83427540-42b2-f71b-cbac-06752da7534b</exportValue>
<isChecked>false</isChecked>
</radioButton>
Checkbox:
{
"IsChecked": true,
"Name": "CheckBox_e5ba8ea4-8c39-324f-0170-a83dd3fb3aeb",
"ReadOnly": false,
"Required": false,
"X": 79.0,
"Y": 516.92,
"Width": 20.0,
"Height": 20.0,
"Page": 1,
"DiscriminatorType": "AddCheckBoxFormFieldDescriptor"
}
Alternative: SOAP implementation (deprecated)
<checkBox name="CheckBox_6f1fde0e-9338-f34b-6fe2-05d27ff632b9" readOnly="false" required="false" x="69" y="511.92" width="20" height="20" page="1">
<isChecked>true</isChecked>
</checkBox>
Listbox:
{
"Items": [],
"TextColor": "",
"FontSize": 11.0,
"FontName": "Times New Roman",
"Bold": false,
"Italic": false,
"TextAlign": "Left",
"Name": "ListBox_e4076d02-c636-0138-fe54-03d19fe10a7d",
"ReadOnly": false,
"Required": false,
"X": 79.0,
"Y": 468.92,
"Width": 150.0,
"Height": 30.0,
"Page": 1,
"DiscriminatorType": "AddListBoxFormFieldDescriptor"
},
Alternative: SOAP implementation (deprecated)
<listBox name="ListBox_1c2a2627-5262-2fb0-d937-5e0f947031a4" readOnly="false" required="false" x="69" y="464.92" width="150" height="30" page="1">
<fontSettings>
<textColor></textColor>
<fontName>Times New Roman</fontName>
<fontSize>11</fontSize>
<fontStyleBold>false</fontStyleBold>
<fontStyleItalic>false</fontStyleItalic>
<textAlign>Left</textAlign>
</fontSettings>
</listBox>
Combobox:
{
"Value": "",
"Items": [],
"TextColor": "",
"FontSize": 11.0,
"FontName": "Times New Roman",
"Bold": false,
"Italic": false,
"TextAlign": "Left",
"Name": "ComboBox_6936c368-b465-6355-0367-bdfe042c8ec7",
"ReadOnly": false,
"Required": false,
"X": 79.0,
"Y": 418.92,
"Width": 150.0,
"Height": 30.0,
"Page": 1,
"DiscriminatorType": "AddComboBoxFormFieldDescriptor"
},
Alternative: SOAP implementation (deprecated)
<comboBox name="ComboBox_3247b8f7-620e-a1bc-4e0d-53ae0e019921" readOnly="false" required="false" x="69" y="416.92" width="150" height="30" page="1">
<fontSettings>
<textColor></textColor>
<fontName>Times New Roman</fontName>
<fontSize>11</fontSize>
<fontStyleBold>false</fontStyleBold>
<fontStyleItalic>false</fontStyleItalic>
<textAlign>Left</textAlign>
</fontSettings>
<value />
</comboBox>
Alternative: SOAP implementation (deprecated)
Please do not forget to add a workstep task for the form fields.
TypeWriterAnnotation
The following lines of code show you how to write the configuration. First, you have to define the task:
"Tasks": [
{
"PageNumber": 1,
"TextAlign": "Left",
"Position": {
"PositionX": 76.0,
"PositionY": 664.0
},
"DefaultText": "##ReceiverEmail##",
"TextFormat": "",
"DefaultTextType": "Email",
"FontSettings": {
"Id": "f238fef7-87db-400c-91ed-7d58d7d76652",
"TextColor": {
"A": 255,
"R": 0,
"G": 0,
"B": 0
},
"Name": "Times New Roman",
"Size": 11.0,
"IsBold": false,
"IsItalic": false
},
"IsEditablePosition": false,
"IsEditableDefaultText": false,
"IsEditableFontSettings": false,
"IsRequired": false,
"Id": "ed6db64d-98fc-497b-be30-ee2a2a2b6f7c",
"DocRefNumber": 1,
"DiscriminatorType": "TypewriterAnnotation"
},
Alternative: SOAP implementation (deprecated)
<TypewriterAnnotationTaskInfo>
<typewriterAnnotationGroup id="cc4923e4-6e0a-42a8-be6a-bdd0fa3d2cd4">
<predefinedTypewriterAnnotationRef refId="269da6f9-9778-4064-8c99-cad42caa2a21" />
</typewriterAnnotationGroup>
<fontSettings id="c64ae844-a7ce-4ebb-9773-5f6b8d980f92">
<fontName>Times New Roman</fontName>
<fontSize>11</fontSize>
<fontStyleBold>0</fontStyleBold>
<fontStyleItalic>0</fontStyleItalic>
<textColor>
<A>255</A>
<R>0</R>
<G>0</G>
<B>0</B>
</textColor>
</fontSettings>
<typewriterAnnotation id="269da6f9-9778-4064-8c99-cad42caa2a21" completed="false">
<DefaultText editable="0" type="DateTime" textFormat="dd/MM/yyyy">##ClientTime##</DefaultText>
<DocRefNumber>1</DocRefNumber>
<pageNumber>1</pageNumber>
<textAlign>Left</textAlign>
<fontSettingsReference id="c64ae844-a7ce-4ebb-9773-5f6b8d980f92" editable="0" />
<Position positionX="270" positionY="439" editable="0" />
</typewriterAnnotation>
</TypewriterAnnotationTaskInfo>
Alternative: SOAP implementation (deprecated)
Add the task to the configuration like the following example shows:
<Task type="AddTypewriterAnnotation" DocRefNumber="1" id="cc4923e4-6e0a-42a8-be6a-bdd0fa3d2cd4" internalCompleted="0" displayName="" />
Instead of “Email” in the REST example or “DateTime” in the SOAP example you can place the following placeholders:
Placeholder | Description |
---|
ServerTime | Places a text field with the time of the server |
ClientTime | Places a text field with the the time of the client |
SenderFirstName* | Places a text field with the first name of the sender |
SenderLastName* | Places a text field with the last name of the sender |
SenderEmail* | Places a text field with the email of the sender |
ReceiverFirstName* | Places a text field with the first name of the recipient |
ReceiverLastName* | Places a text field with the last name of the recipient |
ReceiverEmail* | Places a text field with the email of the recipient |
For all placeholder with the additional “*” you need either the sender information or the receiver information which are both explained in the section “sender and receiver information”.
Reading Tasks
With the reading task a recipient must confirm reading the document to have the evidence that he/she was reading it.
Generally there are 3 basic ways concerning the range of the reading task:
- Reading task for one page
- Reading task for all pages
- Reading task for a section
Reading task for one page
Note: The reading task must be the first task and it must be required!)
Alternative: SOAP implementation (deprecated)
Place the reading task within the following tag:
<WorkstepTasks>##ReadingTask##</WorkstepTasks>
Add the following lines of code within the workstep configuration:
"Tasks": [
{
"PositionPage": 1,
"AllPages": false,
"AllDocuments": false,
"IsRequired": true,
"Id": "847a3d4a-da2c-46f4-8c8c-a9edaa06c29b",
"DisplayName": "your text for this task",
"DocRefNumber": 1,
"DiscriminatorType": "ReadingTask"
},
{
"PositionPage": 1,
"Position": {
"PositionX": 80.22857,
"PositionY": 158.8629
},
"Size": {
"Height": 68.57143,
"Width": 171.4286
},
"AllowedSignatureTypes": [],
"UseTimestamp": false,
"IsRequired": true,
"Id": "93cce567-ae5c-4e98-ac99-9f56ac034250",
"DisplayName": "SignField 1",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
Alternative: SOAP implementation (deprecated)
<ReadingTaskInfo positionUnit="PdfUnits" positionReferenceCorner="Upper_Left">
<ReadingTask id="847a3d4a-da2c-46f4-8c8c-a9edaa06c29b" pageNumber="1" DocRefNumber="1" AllPages="0" AllDocuments="0">
</ReadingTask>
</ReadingTaskInfo>
After adding the reading task within the workstep configuration you can send the document. The result should look like the following:
As you can see, just the first page needs a reading confirmation.
Reading task for all pages
The following lines of code shows you the reading task configuration for all pages:
"Tasks": [
{
"PositionPage": 1,
"AllPages": false,
"AllDocuments": true,
"Position": { "PositionX": 50.0,
"PositionY": 100.0
},
"Size": {
"Height": 40.0,
"Width": 400.0
},
"IsRequired": true,
"Id": "847a3d4a-da2c-46f4-8c8c-a9edaa06c29b",
"DisplayName": "your text for this task",
"DocRefNumber": 1,
"DiscriminatorType": "ReadingTask"
},
{
"PositionPage": 1,
"Position": {
"PositionX": 80.22857,
"PositionY": 158.8629
},
"Size": {
"Height": 68.57143,
"Width": 171.4286
},
"AllowedSignatureTypes": [],
"UseTimestamp": false,
"IsRequired": true,
"Id": "93cce567-ae5c-4e98-ac99-9f56ac034250",
"DisplayName": "SignField 1",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
Alternative: SOAP implementation (deprecated)
<ReadingTaskInfo positionUnit="PdfUnits" positionReferenceCorner="Upper_Left">
<ReadingTask id="847a3d4a-da2c-46f4-8c8c-a9edaa06c29b" pageNumber="1" DocRefNumber="1" AllPages="0" AllDocuments="1">
</ReadingTask>
</ReadingTaskInfo>
The result should look like the following screenshot:
Reading task for a section
The following lines of code shows you how to configure the reading task for a section:
"Tasks": [
{
"PositionPage": 1,
"AllPages": false,
"AllDocuments": false,
"Position": {
"PositionX": 50.0,
"PositionY": 100.0
},
"Size": {
"Height": 40.0,
"Width": 400.0
},
"IsRequired": true,
"Id": "847a3d4a-da2c-46f4-8c8c-a9edaa06c29b",
"DisplayName": "your text for this task",
"DocRefNumber": 1,
"DiscriminatorType": "ReadingTask"
},
{
"PositionPage": 1,
"Position": {
"PositionX": 80.22857,
"PositionY": 158.8629
},
"Size": {
"Height": 68.57143,
"Width": 171.4286
},
"AllowedSignatureTypes": [],
"UseTimestamp": false,
"IsRequired": true,
"Id": "93cce567-ae5c-4e98-ac99-9f56ac034250",
"DisplayName": "SignField 1",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
Alternative: SOAP implementation (deprecated)
<ReadingTaskInfo positionUnit="PdfUnits" positionReferenceCorner="Upper_Left">
<ReadingTask id="847a3d4a-da2c-46f4-8c8c-a9edaa06c29b" pageNumber="1" DocRefNumber="1" AllPages="0" AllDocuments="0">
<Position positionX="50" positionY="100" width="400" height="40" />
</ReadingTask>
</ReadingTaskInfo>
In the next section you can find a complete workstep configuration with one signature field, one recipient and a reading confirmation for a section:
{
"SspFileIds": [
"##FILEID##"
],
"SendEnvelopeDescription": {
"Name": "eSignAnyWhere Tutorial",
"EmailSubject": "Document of eSignAnyWhere Tutorial",
"EmailBody": "Dear #RecipientFirstName#! Please sign this tutorial document.",
"DisplayedEmailSender": "",
"EnableReminders": true,
"FirstReminderDayAmount": 1,
"RecurrentReminderDayAmount": 1,
"BeforeExpirationDayAmount": 1,
"DaysUntilExpire": 2,
"CallbackUrl": "",
"StatusUpdateCallbackUrl": "",
"LockFormFieldsAtEnvelopeFinish": true,
"Steps": [
{
"OrderIndex": 1,
"Recipients": [
{
"Email": "##EMAIL##",
"FirstName": "##NAME##",
"LastName": "##NAME##",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"AllowAccessFinishedWorkstep": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": []
}
],
"EmailBodyExtra": "",
"RecipientType": "Signer",
"WorkstepConfiguration": {
"WorkstepLabel": "",
"SmallTextZoomFactorPercent": 100,
"FinishAction": {
"ServerActions": [],
"ClientActions": []
},
"ReceiverInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
},
"TransactionCodePushPluginData": []
},
"SenderInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
}
},
"TransactionCodeConfigurations": [
{
}
],
"SignatureConfigurations": [],
"ViewerPreferences": {},
"Policy": {
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": true,
"AllowFinishWorkstep": true,
"AllowUndoLastAction": true
},
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "SequenceOnlyRequiredTasks",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Upper_Left",
"Tasks": [
{
"PositionPage": 1,
"AllPages": false,
"AllDocuments": false,
"Position": {
"PositionX": 50.0,
"PositionY": 100.0
},
"Size": {
"Height": 40.0,
"Width": 400.0
},
"IsRequired": true,
"Id": "847a3d4a-da2c-46f4-8c8c-a9edaa06c29b",
"DisplayName": "your text for this task",
"DocRefNumber": 1,
"DiscriminatorType": "ReadingTask"
},
{
"PositionPage": 1,
"Position": {
"PositionX": 80.22857,
"PositionY": 158.8629
},
"Size": {
"Height": 68.57143,
"Width": 171.4286
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "completed",
"Value": "0"
},
{
"Key": "sigType",
"Value": "Picture"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "allowedCapturingMethods",
"Value": "Click2Sign"
}
],
"AllowedSignatureTypes": [],
"UseTimestamp": false,
"IsRequired": true,
"Id": "93cce567-ae5c-4e98-ac99-9f56ac034250",
"DisplayName": "SignField 1",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
}
]
}
}
},
"DocumentOptions": [
{
"DocumentReference": "1",
"IsHidden": false
}
],
"UseDefaultAgreements": true
},
{
"OrderIndex": 2,
"Recipients": [
{
"Email": "##EMAIL##",
"FirstName": "Charly",
"LastName": "Randomname",
"LanguageCode": "en",
"EmailBodyExtra": "",
"DisableEmail": false,
"AddAndroidAppLink": false,
"AddIosAppLink": false,
"AddWindowsAppLink": false,
"AllowDelegation": false,
"AllowAccessFinishedWorkstep": false,
"SkipExternalDataValidation": false,
"AuthenticationMethods": []
}
],
"EmailBodyExtra": "",
"RecipientType": "Cc",
"DocumentOptions": [
{
"DocumentReference": "1",
"IsHidden": false
}
],
"UseDefaultAgreements": true
}
],
"AddFormFields": {
"Forms": {}
},
"OverrideFormFieldValues": {
"Forms": {}
},
"AttachSignedDocumentsToEnvelopeLog": false
}
}
Alternative: SOAP implementation (deprecated)
<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>##EMAIL##</eMail>
<firstName>Alice</firstName>
<lastName>Somename</lastName>
</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="847a3d4a-da2c-46f4-8c8c-a9edaa06c29b" displayName="your text for this task" DocRefNumber="1" type="ConfirmReading" />
<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>
<ReadingTaskInfo positionUnit="PdfUnits" positionReferenceCorner="Upper_Left">
<ReadingTask id="847a3d4a-da2c-46f4-8c8c-a9edaa06c29b" pageNumber="1" DocRefNumber="1" AllPages="0" AllDocuments="0">
<Position positionX="50" positionY="100" width="400" height="40" />
</ReadingTask>
</ReadingTaskInfo>
</workstepConfiguration>
</step>
<step>
<emailBodyExtra />
<orderIndex>2</orderIndex>
<recipientType>CC</recipientType>
<recipients>
<recipient>
<languageCode>en</languageCode>
<eMail>##EMAIL##</eMail>
<firstName>Charly</firstName>
<lastName>Randomname</lastName>
</recipient>
</recipients>
</step>
</steps>
</envelope>
Sending envelope
After you have added all form fields and signatures you can send the envelope to recipients. Therefore, add the file Id and the workstep configuration to the REST call basicURL/envelope/send or in SOAP to the API call SendEnvelope_v1 and send the envelope to the recipients.
Get the envelope
After sending the envelope you can call the api call (basicURL/envelope{envelopeId}) in REST and GetEnvelopeById_v1 in SOAP.
For this api call you just need the envelopeId. After finishing the api call you get all information about the envelope. The next section shows you a sample response.
{
"Status": "InProgress",
"Email": "",
"LogDocumentId": "",
"FinishedDocuments": [],
"Steps": [
{
"Id": "b3df7533-c3d4-4041-a9a8-16039025dc02",
"FirstName": "##NAME##",
"LastName": "##NAME##",
"OrderIndex": 1,
"Email": "##EMAIL##",
"LanguageCode": "en",
"Status": "NotSigned",
"StatusReason": "",
"RecipientType": "Signer",
"WorkstepRedirectionUrl": "https://demo.xyzmo.com/workstepredirector/sign?identifier=##RedirectionURL##",
"AllowAccessFinishedWorkstep": false,
"Authentication": [
{
"Method": "Pin",
"Parameter": "1234",
"Filters": []
}
],
"IsParallel": false,
"WorkstepConfiguration": {
"WorkstepLabel": "test",
"SmallTextZoomFactorPercent": 100,
"FinishAction": {
"ServerActions": [
{
"CallSynchronous": false,
"Action": "https://demo.xyzmo.com/workstepredirector/setfinishaction?wid=##WorkstepId##"
}
],
"ClientActions": [
{
"RemoveDocumentFromRecentDocumentList": false,
"CallClientActionOnlyAfterSuccessfulSync": true,
"ClientName": "SIGNificant SignAnywhere",
"CloseApp": false,
"Action": "https://www.esignanywhere.net/"
}
]
},
"ReceiverInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
},
"TransactionCodePushPluginData": []
},
"SenderInformation": {
"UserInformation": {
"FirstName": "##NAME##",
"LastName": "##NAME##",
"EMail": "##EMAIL##"
}
},
"TransactionCodeConfigurations": [
{
"Id": "otpSignatureSmsText",
"HashAlgorithmIdentifier": "Sha256",
"Texts": [
]
}
],
"SignatureConfigurations": [
{
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": false,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "DoNotInclude"
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
},
{
"SpcId": "timestampSigningId",
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": false,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "DoNotInclude",
"SignatureTimestampData": {
"Uri": "https://timestamp.test.namirialtsp.com",
"Username": "xyzmo",
"Password": "xyzmo",
"SignatureHashAlgorithm": "Sha256"
}
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
},
{
"SpcId": "padesSigningId",
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": true,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "IncludeDss"
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
},
{
"SpcId": "padesTimestampSigningId",
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": true,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "IncludeDss",
"SignatureTimestampData": {
"Uri": "https://timestamp.test.namirialtsp.com",
"Username": "xyzmo",
"Password": "xyzmo",
"SignatureHashAlgorithm": "Sha256"
}
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
},
{
"SpcId": "padesRemoteCertificateSigningId",
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": true,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "IncludeDss"
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
},
{
"SpcId": "padesRemoteCertificateTimestampSigningId",
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": true,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "IncludeDss",
"SignatureTimestampData": {
"Uri": "https://timestamp.test.namirialtsp.com",
"Username": "xyzmo",
"Password": "xyzmo",
"SignatureHashAlgorithm": "Sha256"
}
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
},
{
"SpcId": "automaticSigningId",
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": false,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "DoNotInclude"
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
},
{
"SpcId": "automaticTimestampSigningId",
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": false,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "DoNotInclude",
"SignatureTimestampData": {
"Uri": "https://timestamp.test.namirialtsp.com",
"Username": "xyzmo",
"Password": "xyzmo",
"SignatureHashAlgorithm": "Sha256"
}
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
},
{
"SpcId": "swissComSigningId",
"PdfSignatureProperties": {
"PdfAConformant": false,
"PAdESPart4Compliant": true,
"IncludeSigningCertificateChain": false,
"SigningCertificateRevocationInformationIncludeMode": "IncludeDss"
},
"PdfSignatureCryptographicData": {
"SignatureHashAlgorithm": "Sha256",
"SigningCertificateDescriptor": {
"Identifier": "14527a6bcfa8b4d7d0183fca6b735b1c246d14ae",
"Type": "Sha1Thumbprint",
"Csp": "Default"
}
}
}
],
"ViewerPreferences": {
"FinishWorkstepOnOpen": false,
"VisibleAreaOptions": {
"AllowedDomain": "*",
"Enabled": false
}
},
"ResourceUris": {
"SignatureImagesUri": "https://demo.xyzmo.com/Resource/SignatureImages/?link=1NB8ErluKvwtK3g7VVj4PvoPlDStEIYcIkbMequyIb2k2OMxZGqFHgVK2vy8WtBzP"
},
"Policy": {
"GeneralPolicies": {
"AllowSaveDocument": true,
"AllowSaveAuditTrail": true,
"AllowRotatingPages": false,
"AllowAppendFileToWorkstep": false,
"AllowAppendTaskToWorkstep": false,
"AllowEmailDocument": true,
"AllowPrintDocument": true,
"AllowFinishWorkstep": true,
"AllowRejectWorkstep": true,
"AllowRejectWorkstepDelegation": true,
"AllowUndoLastAction": true,
"AllowColorizePdfForms": false,
"AllowAdhocPdfAttachments": false,
"AllowAdhocSignatures": false,
"AllowAdhocStampings": false,
"AllowAdhocFreeHandAnnotations": false,
"AllowAdhocTypewriterAnnotations": false,
"AllowAdhocPictureAnnotations": false,
"AllowAdhocPdfPageAppending": false
},
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": [
{
"PositionPage": 1,
"Position": {
"PositionX": 65.0,
"PositionY": 602.0
},
"Size": {
"Height": 80.0,
"Width": 190.0
},
"AdditionalParameters": [
{
"Key": "enabled",
"Value": "1"
},
{
"Key": "positioning",
"Value": "onPage"
},
{
"Key": "req",
"Value": "1"
},
{
"Key": "fd",
"Value": ""
},
{
"Key": "fd_dateformat",
"Value": "dd-MM-yyyy HH:mm:ss"
},
{
"Key": "fd_timezone",
"Value": "datetimeutc"
}
],
"AllowedSignatureTypes": [
{
"AllowedCapturingMethod": "Click2Sign",
"Id": "5d8de01a-b924-4d87-98c9-cc45909c0b4b",
"DiscriminatorType": "SigTypeClick2Sign",
"Preferred": false,
"StampImprintConfiguration": {
"DisplayExtraInformation": true,
"DisplayEmail": true,
"DisplayIp": true,
"DisplayName": true,
"DisplaySignatureDate": true,
"FontFamily": "Times New Roman",
"FontSize": 11.0
}
}
],
"UseTimestamp": false,
"IsRequired": true,
"Id": "1#XyzmoDuplicateIdSeperator#Signature_a9cd7f4f-6c7d-ff20-dc3f-dea0a4638bd4",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "Signature"
},
{
"Forms": [
{
"IsScrollAllowed": false,
"IsComb": false,
"MaxLength": 0,
"IsMultiLine": false,
"IsPassword": false,
"IsFileSelect": false,
"IsRequired": false,
"Id": "TextBox_4e277dde-23c4-8a81-103a-f84abd798a8a",
"PositionPage": 1,
"DocRefNumber": 1,
"Position": {
"PositionX": 71.0,
"PositionY": 558.0
},
"Size": {
"Height": 20.0,
"Width": 126.0
},
"IsHidden": false,
"ExportValue": "",
"Description": "",
"KeepExistingValue": true,
"DiscriminatorType": "TextBox"
}
],
"IsRequired": false,
"Id": "73df5772-d204-40ca-908e-34d43891bc01",
"DisplayName": "",
"DocRefNumber": 1,
"DiscriminatorType": "FormGroup"
}
]
}
},
"Navigation": {
"HyperLinks": [],
"Links": [],
"LinkTargets": []
}
}
},
{
"Id": "68b7605b-8403-40ee-896e-e896be5459fc",
"FirstName": "##NAME##",
"LastName": "##NAME##",
"OrderIndex": 2,
"Email": "##EMAIL##",
"LanguageCode": "en",
"Status": "NotSigned",
"StatusReason": "",
"RecipientType": "Cc",
"WorkstepRedirectionUrl": "",
"AllowAccessFinishedWorkstep": false,
"IsParallel": false,
"WorkstepConfiguration": {
"SmallTextZoomFactorPercent": 100,
"ViewerPreferences": {},
"Policy": {
"GeneralPolicies": {
"AllowRotatingPages": true,
"AllowFinishWorkstep": true,
"AllowUndoLastAction": true
},
"WorkstepTasks": {
"PictureAnnotationMinResolution": 0,
"PictureAnnotationMaxResolution": 0,
"PictureAnnotationColorDepth": "Color16M",
"SequenceMode": "NoSequenceEnforced",
"PositionUnits": "PdfUnits",
"ReferenceCorner": "Lower_Left",
"Tasks": []
}
}
}
}
]
}
],
"Documents": [
{
"PageSizesInPoints": [
{
"Height": 792.0,
"Width": 612.0
}
],
"DocRefNumber": 1,
"FileName": "Test.pdf",
"FormFields": [
{
"Name": "TextBox_4e277dde-23c4-8a81-103a-f84abd798a8a",
"Values": [
{
"Key": "",
"Value": ""
}
]
}
]
}
],
"Id": "b94e4d2a-9901-48d5-8896-effd2cc17a96",
"Bulk": "",
"BasicOptions": {
"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#",
"EnableReminders": true,
"FirstReminderDayAmount": 5,
"RecurrentReminderDayAmount": 3,
"BeforeExpirationDayAmount": 3
}
}
Alternative: SOAP implementation (deprecated)
<baseResult>ok</baseResult>
<okInfo>
<envelopeStatus>
<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>
<id>3385b0cd-29d0-4849-b6a5-06b7c39abc1f</id>
<bulk></bulk>
<status>InProgress</status>
<sendDate>2020-04-10T11:31:55.967Z</sendDate>
<expirationDate>2020-04-12T11:31:55.967Z</expirationDate>
<daysUntilExpire />
<bulkRecipients>
<bulkRecipient eMail="" id="">
<status>InProgress</status>
<recipients>
<recipient>
<id>08b584bf-2c61-44a2-90e4-b62527d7542b</id>
<orderIndex>1</orderIndex>
<firstName>Alice</firstName>
<lastName>Somename</lastName>
<eMail>##EMAIL##</eMail>
<languageCode>en</languageCode>
<status>NotSigned</status>
<signedDate></signedDate>
<openedDate></openedDate>
<recipientType>Signer</recipientType>
<isParallel>false</isParallel>
<workstepRedirectionUrl>https://demo.xyzmo.com/workstepredirector/sign?identifier=##WorkstepRedirection##</workstepRedirectionUrl>
<allowAccessFinishedWorkstep>false</allowAccessFinishedWorkstep>
<authentication>
<method>Pin</method>
<parameter>1234</parameter>
</authentication>
<workstepConfiguration>
<WorkstepLabel />
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>11520</WorkstepTimeToLiveInMinutes>
<FinishAction>
<ServerAction callSynchronous="0">https://demo.xyzmo.com/workstepredirector/setfinishaction?wid=##WorkstepId##</ServerAction>
</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="">
</TransactionCodeConfiguration>
</TransactionCodeConfigurations>
<receiverInformation>
<userInformation>
<firstName>Alice</firstName>
<lastName>Somename</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
<showNamirialDisposableDisclaimer>1</showNamirialDisposableDisclaimer>
</receiverInformation>
<senderInformation>
<userInformation>
<firstName>##NAME##</firstName>
<lastName>##NAME##</lastName>
<eMail>##EMAIL##</eMail>
</userInformation>
</senderInformation>
<signaturePluginConfiguration>
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>false</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>DoNotInclude</SigningCertificateRevocationInformationIncludeMode>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<signaturePluginConfiguration spcId="timestampSigningId">
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>false</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>DoNotInclude</SigningCertificateRevocationInformationIncludeMode>
<SignatureTimestampData>
<Password>xyzmo</Password>
<SignatureHashAlgorithm>SHA256</SignatureHashAlgorithm>
<Uri>https://timestamp.test.namirialtsp.com</Uri>
<UserName>xyzmo</UserName>
</SignatureTimestampData>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<signaturePluginConfiguration spcId="padesSigningId">
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>true</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>IncludeDss</SigningCertificateRevocationInformationIncludeMode>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<signaturePluginConfiguration spcId="padesTimestampSigningId">
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>true</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>IncludeDss</SigningCertificateRevocationInformationIncludeMode>
<SignatureTimestampData>
<Password>xyzmo</Password>
<SignatureHashAlgorithm>SHA256</SignatureHashAlgorithm>
<Uri>https://timestamp.test.namirialtsp.com</Uri>
<UserName>xyzmo</UserName>
</SignatureTimestampData>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<signaturePluginConfiguration spcId="padesRemoteCertificateSigningId">
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>true</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>IncludeDss</SigningCertificateRevocationInformationIncludeMode>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<signaturePluginConfiguration spcId="padesRemoteCertificateTimestampSigningId">
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>true</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>IncludeDss</SigningCertificateRevocationInformationIncludeMode>
<SignatureTimestampData>
<Password>xyzmo</Password>
<SignatureHashAlgorithm>SHA256</SignatureHashAlgorithm>
<Uri>https://timestamp.test.namirialtsp.com</Uri>
<UserName>xyzmo</UserName>
</SignatureTimestampData>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<signaturePluginConfiguration spcId="automaticSigningId">
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>false</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>DoNotInclude</SigningCertificateRevocationInformationIncludeMode>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<signaturePluginConfiguration spcId="automaticTimestampSigningId">
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>false</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>DoNotInclude</SigningCertificateRevocationInformationIncludeMode>
<SignatureTimestampData>
<Password>xyzmo</Password>
<SignatureHashAlgorithm>SHA256</SignatureHashAlgorithm>
<Uri>https://timestamp.test.namirialtsp.com</Uri>
<UserName>xyzmo</UserName>
</SignatureTimestampData>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<signaturePluginConfiguration spcId="swissComSigningId">
<PdfSignatureProperties_V1>
<PdfAConformant>false</PdfAConformant>
<PAdESPart4Compliant>true</PAdESPart4Compliant>
<IncludeSigningCertificateChain>false</IncludeSigningCertificateChain>
<SigningCertificateRevocationInformationIncludeMode>IncludeDss</SigningCertificateRevocationInformationIncludeMode>
</PdfSignatureProperties_V1>
<PdfSignatureCryptographicData_V1>
<SignatureHashAlgorithm>Sha256</SignatureHashAlgorithm>
<SigningCertificateDescriptor>
<Identifier>14527a6bcfa8b4d7d0183fca6b735b1c246d14ae</Identifier>
<Type>Sha1Thumbprint</Type>
<Csp>Default</Csp>
</SigningCertificateDescriptor>
</PdfSignatureCryptographicData_V1>
</signaturePluginConfiguration>
<resourceUris>
<signatureImagesUri>https://demo.xyzmo.com/Resource/SignatureImages/?link=1bc6ZS1MTOv~59DsLiDB/0fnb410yo661GUEpJ~NEDVSuJB1fjy~09vjn6TBfRpOe</signatureImagesUri>
</resourceUris>
</workstepConfiguration>
</recipient>
<recipient>
<id>55cabc5f-8138-46f9-8b7e-3018d8838e2f</id>
<orderIndex>2</orderIndex>
<firstName>Charly</firstName>
<lastName>Randomname</lastName>
<eMail>##EMAIL##</eMail>
<languageCode>en</languageCode>
<status>NotSigned</status>
<signedDate></signedDate>
<openedDate></openedDate>
<recipientType>Cc</recipientType>
<isParallel>false</isParallel>
<workstepRedirectionUrl></workstepRedirectionUrl>
<allowAccessFinishedWorkstep>false</allowAccessFinishedWorkstep>
<workstepConfiguration skipThirdPartyChecks="0">
<WorkstepLabel />
<SmallTextZoomFactorPercent>100</SmallTextZoomFactorPercent>
<WorkstepTimeToLiveInMinutes>43200</WorkstepTimeToLiveInMinutes>
<PictureAnnotationTaskInfo>
<MinResolution>0</MinResolution>
<MaxResolution>0</MaxResolution>
<ColorDepth>Color16M</ColorDepth>
</PictureAnnotationTaskInfo>
<Policy version="1.1.0.0">
<GeneralPolicies>
<AllowRotatingPages>1</AllowRotatingPages>
<AllowFinishWorkstep>1</AllowFinishWorkstep>
<AllowUndoLastAction>1</AllowUndoLastAction>
</GeneralPolicies>
<WorkstepTasks SequenceMode="NoSequenceEnforced" />
</Policy>
<timeCreated />
<TransactionCodeConfigurations />
<ViewerPreferences />
</workstepConfiguration>
</recipient>
</recipients>
<completedDocuments>
<logDocumentId></logDocumentId>
<logXmlDocumentId></logXmlDocumentId>
</completedDocuments>
</bulkRecipient>
</bulkRecipients>
<documents>
<document>
<fileName>eSignAnyWhere_Tutorial.pdf</fileName>
<docRefNumber>1</docRefNumber>
<fields />
<pages>
<page>
<width>612</width>
<height>792</height>
</page>
</pages>
</document>
</documents>
</envelopeStatus>
</okInfo>
Download the document(s)
With the following URI you can download the documents: basicURL/envelope/downloadCompletedDocument/{documentId} in REST and DownloadCompletedDocument_v1 in SOAP.
You can download the following documents:
- LogDocument
- LogXmlDocument
- FlowDocument
Note: If you send an envelope with a disposable signature you can also see the disclaimerDocument available for download.