Using forms, you can collect responses from your customers into your own data collection system.
Using Addo Forms, you have the ability to collect information from your customers, and you decide what information your customers submit. The information that the customers fill in the form, you can by using "Data output fields" get transferred to your own application, using API. The guide below will explain what data output fields are, how they are used and refer you to our general API documentation where you can find more information about this:
Data Output Fields
What are Data Output Fields?
How are Data Output Fields used?
API documentation
What are Data Output Fields?
Data Output Fields allows you to send a request using the API to return a specific piece of information from a form using PDF formatting.
PDF formatting in Addo Sign allows Addo to read editable fields and then, after filling in a form, automatically generate a PDF with uncoded answers from the form. Using Data Output Fields, the API will then pull the desired information from the data source, and return it to the requesting client in the form of a "response".
Data Output Fields are the variables and values in the response that contain the requested information. For example, it may be from a question that relates to a one-line text response, multiple lines, checkboxes, or radio buttons. When interacting with the API, it is important to understand the format and the information available in the response, as found in the Addo Signs API documentation, so that it is used correctly. Please refer to the API documentation at the bottom of the section, and in addition to the article here, it will usually describe the parameters available, as well as what values they can contain and how to use them.
Once you have created all the editable fields you need in your PDF, you have the option to paste your PDF file as formatting into your Addo Form. Simply tick the box that you want to use a PDF form, upload it and click "Show data data fields".
- Tick "PDF form"
- It is optional whether you want to remove the associated PDF form
- Click on the drop-down menu to see the available Data Output Fields
In this context, you have the option to show or hide data output fields. As shown in the screenshot below, you can click on "Show data output fields" and then "Hide data output fields" . When "Hide data output fields" is clicked, the data fields will be hidden and the label will change to "Show data output fields". Note that the hidden data fields keep their values:
- Click on "Show data fields"
- Note that each component will have a selectable data output ID, as shown in the screenshot below:
This way you can collect information about your customers and store the data directly in your system. Previously, a component ID consisted unreadable, such as: Id:36b83a24-95f7-ec11-9135-0050560730e1. The purpose of data fields is to have a unique identifier for a component in Addo Forms that is easier to read. Components are:
- Single line text response
- Multi-line text response
- Radio buttons
- File upload
- Date
With date fields it is now possible to recognize each identifier, such as "DataMappingID: Numeric Field 1". For example, if the DataMappingID is removed and the component is added again, this ID will yield changes, but the DataMappingID (data fields) will remain the same. An example of this:
{ "DataMappingId": "Numeric Field 1", "Id": "36b83a24-95f7-ec11-9135-0050560730e1", "Label": "Lorem ipsum dolor.", "Locked": false, "Order": 4, "ParentId": "83b07c61-e0d5-ec11-9124-0050560733ee", "Required": false, "Type": 4, "Value": null },
How are Data Output Fields used?
Response from GetFormTemplate is:{
"Components": [
{
"Id": "36b83a24-95f7-ec11-9135-0050560730e1",
"Label":null,
"Locked":false,
"Order": 0,
"ParentId":null,
"Required":false,
"Type": 1,
"Value":null
},
{
"Id": "39b83a24-95f7-ec11-9135-0050560730e1",
"Label": "Please enter your name",
"Locked":false,
"Order": 2,
"ParentId": "36b83a24-95f7-ec11-9135-0050560730e1",
"Required":false,
"Type": 2,
"Value":null
},
{
"Id": "bb2b710c-a6f7-ec11-9135-0050560730e1",
"Label":null,
"Locked":true,
"Order": 0,
"ParentId": "36b83a24-95f7-ec11-9135-0050560730e1",
"Required":true,
"Type": 2,
"Value":null
},
{
"Id": "bc2b710c-a6f7-ec11-9135-0050560730e1",
"Label":null,
"Locked":true,
"Order": 1,
"ParentId": "36b83a24-95f7-ec11-9135-0050560730e1",
"Required":true,
"Type": 2,
"Value":null
}
],
"Id": "2602dadc-ca77-4bc2-b393-0f5436a108b5",
"Name": "A simple form"
}
In the above very simple form, it is easy to see that if there is a wish to fill in the "Please enter your name" component, the component should be looked up with ID 39b83a24-95f7-ec11-9135-0050560730e1 and set its value to the desired value.
Note: "Please enter our name" appears as a "label" in the API call
In a form with multiple components this will be more complicated, but possible, for example if the component is changed as shown here ("Please enter your name" field is removed and added again):
As mentioned earlier, this is where it gets more complicated. An example of this:
{
"Components": [
{
"Id": "36b83a24-95f7-ec11-9135-0050560730e1",
"Label":null,
"Locked":false,
"Order": 0,
"ParentId":null,
"Required":false,
"Type": 1,
"Value":null
},
{
"Id": "393f7da9-a6f7-ec11-9135-0050560730e1",
"Label":null,
"Locked":true,
"Order": 1,
"ParentId": "36b83a24-95f7-ec11-9135-0050560730e1",
"Required":true,
"Type": 2,
"Value":null
},
{
"Id": "3a3f7da9-a6f7-ec11-9135-0050560730e1",
"Label":null,
"Locked":true,
"Order": 0,
"ParentId": "36b83a24-95f7-ec11-9135-0050560730e1",
"Required":true,
"Type": 2,
"Value":null
},
{
"Id": "3b3f7da9-a6f7-ec11-9135-0050560730e1",
"Label": "Please enter your name",
"Locked":false,
"Order": 2,
"ParentId": "36b83a24-95f7-ec11-9135-0050560730e1",
"Required":false,
"Type": 2,
"Value":null
}
],
"Id": "2602dadc-ca77-4bc2-b393-0f5436a108b5",
"Name": "A simple form"
}
It's basically the same component that has a request for the same thing. But the internal Addo-ID is changed to 3b3f7da9-a6f7-ec11-9135-0050560730e1, which is not optimal. An example of a form where a "DataOutputID" is added to the FormComponentForView class, the form designer would look something like this:
The new "DataOutputID" field is optional. It can contain letters, numbers, "-" and "_". When the form is submitted using /InitiateFormSigning, the ComponentValueOverride should be extended to have a DataOutputID property. If DataOutputID is set, use it, otherwise revert to using Id. GetFormTemplate and GetFormResponse should also be extended so that DataOutputID is present in the response.
API documentation
For an understanding of the different parameters, such as GetFormSigning or InitiateFormSigning, please refer to our API documentation, which can be found here.
Comments
0 comments
Article is closed for comments.