...
! | required (optional) |
* | read only (optional) |
fieldname | String (required) |
:signer1 | Assigned to signer; “signer” or “signer1”, “signer2”, … (required) |
:objecttype | Type, e.g. signature, combobox, … (mandatory) |
:property | additional parameters (allow using of some short notation (e.g. l,r,c instead left, right, center, …)) |
Signature Fields
Note: The following signature types are supported: Click2Sign, Draw2Sign, Type2Sign, RemoteSignature, BiometricSignature, LocalCertificateSignature, DisposableCertificate, OtpSignature (as of October 2019, eSAW 3.6) and additionally SwissComOnDemandCertificate since eSAW 21.27.
...
[[!sig1:signer1:signature(sigType="AutomaticRemoteSignature"):size(height=50):label("some label")]]
Form Fields
Attachments
[[myAttachment:signer:attachment:label("some label"):size(width=10,height=10)]]
...
You can type in any numbers. If you define the same number for “FROM” and “TO” you can only type in the given number. For example if you define 400,00 for “FROM” and “TO” the recipient can only type in this number into the Text Field.
...
Input Validation
The following steps (including the optional use of the advanced document tag) are necessary for the API call:
- Prepare a document with advanced document tags
- First, create or prepare a document with advanced document tags. These tags are placeholders within the document that will be replaced with specific data or values. Make sure to format the tags correctly so that they can be recognized and replaced appropriately.
- Upload document
- Start by uploading the prepared document that contains the advanced document tags using the appropriate API endpoint. Make sure to note the FileId returned from this call as you will need it later.
- Prepare file
- Before sending the document, you need to prepare the file. Please see JSON configuration below. With this configuration it is possible to clear the advanced document tags from the document with this variable set to true: ClearAdvancedDocumentTags
This will remove any existing advanced document tags from the document.
- Before sending the document, you need to prepare the file. Please see JSON configuration below. With this configuration it is possible to clear the advanced document tags from the document with this variable set to true: ClearAdvancedDocumentTags
- Define recipient
- Define the specific recipient for the envelope, as in a standard envelope sending process. Proved recipient details such as name, email, and any other relevant information.
- Send envelope
- Now, with the document prepared and the recipient defined, send the envelope using the send envelope api call. Use the FileId obtained from the initial document upload call to associate the correct document with the envelope.
Please also see the developer mode for this tutorial here: Visit the developer mode.
Prepare a document with advanced document tags
For this case you can use the following document which includes one text field and one checkbox:
Download the document advanced_document.pdf.
Upload the document
Make sure you upload a document which contains advanced document tags to see the differences in preparing the envelope.
Preparing the file
If you are using the Advanced Tags via API you have to call file/prepare to use them.
...
For this call you need the File Id which you got from the upload file call and the following sample configuration:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"FileIds": [
"string"
],
"ClearAdvancedDocumentTags": true,
"SigStringConfigurations": [
{
"StartPattern": "string",
"EndPattern": "string",
"ClearSigString": true,
"SearchEntireWordOnly": true
}
]
} |
...
) input validation definition might be helpful to limit the user input to the expected values. Also check the workstep configuration documentation for accepted formats.
- Date
- Requires a date field for signer1
[[!someDate:signer1:date(format="dd. MMMM yyyy"):range(from="13. März 2018",to="18. December 2019")]]
- range is optional and must match with defined format
- Email
- optional for email field
[[someMail:signer:email()]]
- Number
[[someNumber:signer:number(decimalPlaces=2,decimalSeparator=comma,thousandsSeparator=point,symbol="€",symbolLocation=endWithBlank):range(from="-300,00 €",to="5.000,00 €")]]
- range, decimalSeparator, thousandsSeparator, symbol, symbolLocation, are optional
- decimalSeparator: comma, point, apostrophe, none
- thousandsSeparator: comma, point, apostrophe, blank, none
- symbolLocation: start, startWithBlank, end, endWithBlank
- range must match with defined format
- phone
[[somePhone:signer:phone(type=international)]]
- type: international, internationalLeadingZero, internationalLeadingPlus
- time
[[someTime:signer:time(format="HH:mm"):range(from="12:00",to="18:00")]]
- range is optional
- range must match the defined format
[[*myText:signer2:text(maxLength=100,password=1,multiline=true):default("default text"):font(name=Arial, color=#FF0000, size=12):alignment(left):size(width=10,height=10)]]
maxLength, password, default, font, alignment (left|right|center), size, multi-line are optional.
Input Validation
The (optional) input validation definition might be helpful to limit the user input to the expected values. Also check the workstep configuration documentation for accepted formats.
- Date
- Requires a date field for signer1
[[!someDate:signer1:date(format="dd. MMMM yyyy"):range(from="13. März 2018",to="18. December 2019")]]
- range is optional and must match with defined format
- Email
- optional for email field
[[someMail:signer:email()]]
- Number
[[someNumber:signer:number(decimalPlaces=2,decimalSeparator=comma,thousandsSeparator=point,symbol="€",symbolLocation=endWithBlank):range(from="-300,00 €",to="5.000,00 €")]]
- range, decimalSeparator, thousandsSeparator, symbol, symbolLocation, are optional
- decimalSeparator: comma, point, apostrophe, none
- thousandsSeparator: comma, point, apostrophe, blank, none
- symbolLocation: start, startWithBlank, end, endWithBlank
- range must match with defined format
- phone
[[somePhone:signer:phone(type=international)]]
- type: international, internationalLeadingZero, internationalLeadingPlus
- time
[[someTime:signer:time(format="HH:mm"):range(from="12:00",to="18:00")]]
- range is optional
- range must match the defined format
Checkbox
A required checked checkbox is for only one signer.
[[!chk1:signer:checkbox:size(width=10,height=10):checked]]
checked, size is optional.
RadioButton
All items of a group have to have the same name. Group of three RadioButtons for one recipient:
...
Checkbox
A required checked checkbox is for only one signer.
[[!chk1:signer:checkbox:size(width=10,height=10):checked]]
checked, size is optional.
RadioButton
All items of a group have to have the same name. Group of three RadioButtons for one recipient:
[[testRbnGroup:signer:radio(Red):size(width=10,height=10):checked]] [[testRbnGroup:signer:radio(Green):size(width=10,height=10)]] [[testRbnGroup:signer:radio(Blue):size(width=10,height=10)]]
checked, size is optional.
DropDown
[[myDrop:signer:dropdown(options="Red,Green,Blue",values="R,G,B",editable=1):default("R"):font(name=Arial, color=#FF0000, size=12):alignment(left):size(width=10,height=10)]]
values, editable, default, size, font, alignment (left|right|center) are optional.
List
[[myList:signer:list(options="Red,Green,Blue",values="R,G,B",multiSelect=1):default("R"):font(name=Arial, color=#FF0000, size=12):alignment(left):size(width=10,height=10):checked]] [[testRbnGroup:signer:radio(Green):size(width=10,height=10)]] [[testRbnGroup:signer:radio(Blue):size(width=10,height=10)]]
checked, size is optional.
DropDown
[[myDrop:signer:dropdown(options="Red,Green,Blue",values="R,G,B",editable=1):default("R"):]]
values, multiSelect, default, size, font, alignment (left|right|center) are optional.
Offset
You can define a offset by using
:offset(x=-10.5,y=-50.6)
The offset starts at the lower left position, is using points as units and numbers (double) as input. A positive x value moves to right and a positive y value moves up. Note: this is support eSAW version 3.0+.
Variables
Use to reuse some fragments and allow an easier placement of the text markup into floating text.
Definition:
[[#myFontSettings=:font(name=Arial, color=#FF0000, size=12):alignment(left):size(width=10,height=10)]]
values, editable, default, size, font, alignment (left|right|center) are optional.
...
Usage:
[[myList:signer:list(options="Red,Green,Blue",values="R,G,B",multiSelect=1):default("R"):font(name=Arial, color=#FF0000, size=12):alignment(left):size$myFontSettings:size(width=10,height=10)]]
values, multiSelect, default, size, font, alignment (left|right|center) are optional.
Offset
You can define a offset by using
:offset(x=-10.5,y=-50.6)
The offset starts at the lower left position, is using points as units and numbers (double) as input. A positive x value moves to right and a positive y value moves up. Note: this is support eSAW version 3.0+.
Variables
Use to reuse some fragments and allow an easier placement of the text markup into floating text.
Definition:
[[#myFontSettings=:font(name=Arial, color=#FF0000, size=12):alignment(left)]]
Usage:
[[myList:signer:list(options="Red,Green,Blue",values="R,G,B",multiSelect=1):default("R")$myFontSettings:size(width=10,height=10)]]
In the next section you can find a input validation example for REST. With this configuration only numbers from -300,00 to 5.000,00 are allowed in the Textfield.
Please note the following: If you define “false” for the "ClearFieldMarkupString" the field markup string will not be cleared. If you choose “true” the field markup string will be cleared.
Code Block | ||||
---|---|---|---|---|
| ||||
"ClearFieldMarkupString": true, |
After successful configuration you get as response the configuration for the fields you added with the field markups.
...
language | java |
---|---|
theme | Eclipse |
...
Workflow
The following steps (including the optional use of the advanced document tag) are necessary for the API call:
- Prepare a document with advanced document tags
- First, create or prepare a document with advanced document tags. These tags are placeholders within the document that will be replaced with specific data or values. Make sure to format the tags correctly so that they can be recognized and replaced appropriately.
- Upload document
- Start by uploading the prepared document that contains the advanced document tags using the appropriate API endpoint. Make sure to note the FileId returned from this call as you will need it later.
- Prepare file
- Before sending the document, you need to prepare the file. Please see JSON configuration below. With this configuration it is possible to clear the advanced document tags from the document with this variable set to true: ClearAdvancedDocumentTags
This will remove any existing advanced document tags from the document.
- Before sending the document, you need to prepare the file. Please see JSON configuration below. With this configuration it is possible to clear the advanced document tags from the document with this variable set to true: ClearAdvancedDocumentTags
- Define recipient
- Define the specific recipient for the envelope, as in a standard envelope sending process. Proved recipient details such as name, email, and any other relevant information.
- Send envelope
- Now, with the document prepared and the recipient defined, send the envelope using the send envelope api call. Use the FileId obtained from the initial document upload call to associate the correct document with the envelope.
Please also see the developer mode for this tutorial here: Visit the developer mode.
Prepare a document with advanced document tags
For this case you can use the following document which includes one text field and one checkbox:
Download the document advanced_document.pdf.
Upload the document
Make sure you upload a document which contains advanced document tags to see the differences in preparing the envelope.
Preparing the file
If you are using the Advanced Tags via API you have to call file/prepare to use them.
Method | REST endpoint |
---|---|
POST | https://demo.esignanywhere.net/api/v6/file/prepare |
For this call you need the File Id which you got from the upload file call and the following sample configuration:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"FileIds": [
"string"
],
"ClearAdvancedDocumentTags": true,
"SigStringConfigurations": [
{
"StartPattern": "string",
"EndPattern": "string",
"ClearSigString": true,
"SearchEntireWordOnly": true
}
]
} |
Sending the envelope
You can now add the configuration you get as response from the prepare call to your send envelope call and send the document to recipients.
Available configurations
Expand | |||||||
---|---|---|---|---|---|---|---|
| |||||||
|
Sending the envelope
...
FAQ
The Advanced Document Tag does not fit into a table cell. How can I solve that?
We recommend to use a variable that holds the entire Advanced Document Tag. Variables are not restricted to be just a parameter part of the advanced document tag; they can even store the entire notation.
The variable can be defined outside the table structure. Then, inside the table, just use the variable reference.
I am using Advanced Document Tags for Dropdown Configuration. But my list of allowed values is quite long. Even with small font size, I cannot make it fitting into a single line. How to proceed?
It's allowed to use variables to define a subset of the value list, and then either define another variable that merges the different subsets, or use the list of subsets directly in the Advanced Document Tag.
...