...
Please also see the next figure for an overview of the envelope structure:
For a basic guide of REST and the different API calls please also have a look at our Postman tutorial.
...
The next screenshot shows the document after sending the configuration:
With this configuration we can now add the settings which are mentioned above. First, lets start with the envelope configuration.
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "Documents": [ { "FileId": "1234ddc4-1234-1234-1234-3af31c131234", "DocumentNumber": 1 } ], "Name": "Test.pdf", "AddDocumentTimestamp": false, "ShareWithTeam": true, "LockFormFieldsOnFinish": false, "Activities": [ { "Action": { "SignAutomatic": { "ProfileId": "12347562-1234-1234-1234-5a43184d1234", "RenderingLanguageCode": "EN", "VisibleSignatures": [ { "DocumentNumber": 1, "UseExternalTimestampServer": false, "FieldDefinition": { "Position": { "PageNumber": 1, "X": 68.0, "Y": 631.8 }, "Size": { "Width": 190.0, "Height": 80.0 } } } ] } }, "VisibilityOptions": [ { "DocumentNumber": 1, "IsHidden": false } ] } ], "EmailConfiguration": { "Subject": "Please sign the enclosed envelope", "Message": "Dear #RecipientFirstName# #RecipientLastName#\n\n#PersonalMessage#\n\nPlease #PersonalMessage# Please sign the envelope #EnvelopeName#\n\nEnvelope Envelope will expire at #ExpirationDate#" }, "ReminderConfiguration": { "Enabled": true, "FirstReminderInDays": 5, "ReminderResendIntervalInDays": 3, "BeforeExpirationInDays": 3 }, "ExpirationConfiguration": { "ExpirationInSecondsAfterSending": 2419200 } } |
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "Documents": [ { "FileId": "264addc4-1234-1234-1234-3af31c13b3c2", "DocumentNumber": 1 } ], "Name": "Test.pdf", "AddDocumentTimestamp": false, "ShareWithTeam": true, "LockFormFieldsOnFinish": false, "Activities": [ { "Action": { "View": { "RecipientConfiguration": { "ContactInformation": { "Email": "john.doe@sample.com", "GivenName": "John", "Surname": "Doe", "LanguageCode": "EN" }, "SendEmails": true, "AllowAccessAfterFinish": true }, "ViewingGroup": "1" } }, "VisibilityOptions": [ { "DocumentNumber": 1, "IsHidden": false } ] }, { "Action": { "SendCopy": { "RecipientConfiguration": { "ContactInformation": { "Email": "jane.doe@sample.com", "GivenName": "Jane", "Surname": "Doe", "LanguageCode": "EN" } }, "CopyingGroup": "2" } }, "VisibilityOptions": [ { "DocumentNumber": 1, "IsHidden": false } ] } ], "EmailConfiguration": { "Subject": "Please sign the enclosed envelope", "Message": "Dear #RecipientFirstName# #RecipientLastName#\n\n#PersonalMessage#\n\nPlease #PersonalMessage# Please sign the envelope #EnvelopeName#\n\nEnvelope Envelope will expire at #ExpirationDate#" }, "ReminderConfiguration": { "Enabled": true, "FirstReminderInDays": 5, "ReminderResendIntervalInDays": 3, "BeforeExpirationInDays": 3 }, "ExpirationConfiguration": { "ExpirationInSecondsAfterSending": 2419200 } } |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
"Signatures": [ { "ElementId": "string", "Required": true, "DocumentNumber": 0, "DisplayName": "string", "FieldDescription": "string", "AllowedSignatureTypes": { |
TaskConfiguration
Before you add the signatures please add the following in the section "Signatures" . [ in order to set the order of the recipients (required), to set the timestamp (optional)
and to set the timestamp a batchgroup (optional) :
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
"TaskConfiguration": { "StampImprintDateConfiguration": { "UseLocalTimezone": true, "DateTimeFormat": "string" }, "UseExternalTimestampServer": true, "BatchIdBatchGroup": "string", "OrderDefinition": { "OrderIndex": 0 } } |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
"DisposableCertificate": { "IsLongLived": false, "ValidityInSeconds": 0, "UseExternalSignatureImage": "Optional", "Preferred": true, "StampImprintConfiguration": { "DisplayExtraInformation": true, "DisplayEmail": true, "DisplayTransactionId": true, "DisplayTransactionToken": true, "DisplayPhoneNumber": true, "UseCustomStampImprint": true, "DisplayIp": true, "DisplayName": true, "DisplaySignatureDate": true, "FontName": "string", "FontSizeInPt": 0 } }, |
DisposableCertificate (Long-Lived)
Beside the disposable certificate, the solution can use a specific procedure called "Long-Lived Disposable" for scenarios where the signature becomes a valid qualified signature after signing. This can be useful where the identification is confirmed/approved after signing of the document.
Info |
---|
Please note the following: It is not allowed to download the document or the audit trail for a long-lived disposable. Therefore, the policies must be set correctly (<AllowSaveDocument>0</AllowSaveDocument> and <AllowSaveAuditTrail>0</AllowSaveAuditTrail>) |
General description
Additionally to the signature type configuration the signature data configuration is needed. Please see the following sample:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
"SignatureDataConfiguration": {
"DisposableCertificate": {
"DocumentIssuingCountry": "AT",
"IdentificationIssuingCountry": "AT",
"IdentificationType": "AML",
"PhoneNumber": "+...",
"DocumentType": "Passport",
"DocumentIssuedOn": "2024-09-10",
"DocumentExpiryDate": "2024-09-24",
"SerialNumber": "...",
"DocumentNumber": "..."
}
},
|
Referring to the identification type the following values are available:
- None
- ForeignTaxCode
- PersonalNumber
- Passport
- NationalIdentityCard
- ItalianTaxCode
- NoSerialNumber
- DrivingLicense
- ResidencePermit
- TemporaryResidencePermit
- EmbassyDocument
- AML*
*All disposable document data fields
- Document Type
- Document Number
- Document Issued On
- Document Issued By
- Document Expiry Date and Document Issuing Country
are optional. However, if any one of the document fields is provided, then all of them must be completed, with the exception of Document Issued By, which remains optional in all cases.
Referring to the document type the following values are available:
- IdentityCard
- DriverLicense
- Passport
- ResidencePermit
- NationalElectronicIdentityCard
- TemporaryResidencePermit
- EmbassyDocument
DisposableCertificate (Long-Lived)
Beside the disposable certificate, the solution can use a specific procedure called "Long-Lived Disposable" for scenarios where the signature becomes a valid qualified signature after signing. This can be useful where the identification is confirmed/approved after signing of the document.
Info |
---|
Please note the following: It is not allowed to download the document or the audit trail for a long-lived disposable. Therefore, the policies must be set correctly (<AllowSaveDocument>0</AllowSaveDocument> and <AllowSaveAuditTrail>0</AllowSaveAuditTrail>) |
General description
The Long-Lived Disposable Certificate (LLD) is a special variant of a Disposable certificate.
...
Value | Description |
---|---|
intersects with field | The signature has to start within the signature field, signing must intersect with the field but the signer is allowed to leave the boundaries of the box while signingsignature field |
within field | The signature must be completely within the boundaries of the signature field |
on page | The signature can start anywhere on the page, even without intersecting with the signature field |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
"CallbackConfiguration": { "CallbackUrl": "string", "StatusUpdateCallbackUrl": "string", "StepActionCallbackConfigurationActivityActionCallbackConfiguration": { "Url": "string", "ActionCallbackSelection": { "ConfirmTransactionCode": true, "DefaultEventType": true, "AgreementAccepted": true, "AgreementRejected": true, "RequestPrepareAuthenticationInformationSuccess": true, "PrepareAuthenticationSuccess": true, "AuthenticationFailed": true, "AuthenticationRejected": true, "AuthenticationSuccess": true, "ReAuthenticationFailed": true, "AuditTrailRequested": true, "AuditTrailXmlRequested": true, "CalledPage": true, "WhoIsInformation": true, "DocumentDownloaded": true, "FlattenedDocumentDownloaded": true, "AddedAnnotation": true, "AddedAttachment": true, "AppendedDocument": true, "FormsFilled": true, "ConfirmReading": true, "PageViewChanged": true, "SendTransactionCode": true, "PrepareSignWorkstepDocument": true, "SignWorkstepDocument": true, "UndoAction": true, "WorkstepCreated": true, "WorkstepFinished": true, "WorkstepRejected": true, "DisablePolicyAndValidityChecks": true, "EnablePolicyAndValidityChecks": true, "AppendFileToWorkstep": true, "AppendTasksToWorkstep": true, "SetOptionalDocumentState": true, "PreparePayloadForBatch": true } } }, |
...