Form JSON Definitions
Example
An example Form definition file is shown below.
{
"name": "Loan App",
"formCode": "loan-app",
"transactInsights": false,
"logFormXml": false,
"currentFormVersionNumber": "1.0.0",
"trackingReceiptNoMode": "Tracking Code Only",
"formSpaces": [
{
"name": "Web Plug-in",
"anonAccess": true,
"authAccess": true
}
],
"formGroups": [
{
"name" :"Job Reviewers",
"description" :"Authorized Job Reviewers",
"reassignTask" : false,
"savedAssignedForm" : true,
"completedForm" : true,
"newForm" : false,
"workGroupShare" : true
},
{
"name" :"Job Managers",
"description" :"Authorized Job Managers",
"reassignTask" : false,
"savedAssignedForm" : true,
"completedForm" : true,
"newForm" : false,
"workGroupShare" : true
}
],
"formVersions": [
{
"versionNumber": "1.0.0",
"formType": "Maestro Form",
"usesFormFunctions": true,
"unifiedAppData": true,
"formDataEncryption": true,
"strictHeaderSecurity": true,
"maxAttachmentsNumber": 10,
"maxAttachmentsSize": 5242880,
"formVersionFile": "home-loan-v1.0.0.zip",
"formDataConfig": {
"formDataFile": "formdata.xml",
"contactEmailXPath": "//Email",
"dataExtractMapping": [
{
"name": "First Name",
"xpath": "//FirstName",
},
{
"name": "Last Name",
"xpath": "//LastName",
},
{
"name": "Email",
"xpath": "//Email",
}
],
"requestParamPrefillMapping": []
},
"attachmentRules": [
{
"name": "Drivers License",
"fileTypes": "*.pdf, *.jpg, *.png",
"maxNumber": 2,
"maxSize": 10485760,
"required": true
}
],
"formFunctions": [
{
"name": "GetAccounts",
"version": "1.0.0",
"trigger": "Form Function",
"sequence": 1
},
{
"name": "StpDelivery",
"version": "1.0.0",
"trigger": "User Submit",
"sequence": 1
},
{
"name": "PrefillFunction",
"version": "1.0.0",
"trigger": "Form Open",
"sequence": 1
}
],
"properties": [
{
"name": "Form Description",
"dataType": "String",
"value": "Maguire New Byers Home Loan Application"
}
],
"services": [
{
"jobController": {
"serviceName": "Loan Application RA Job",
"serviceVersion": "1.0.3",
},
"formSecurityFilter": {
"serviceName": "Fluent Form Security Filter",
"serviceVersion": "1"
}
}
]
}
]
}
Schema
Form definitions must comply with the following schema.
Fields are optional unless otherwise indicated.
| Attribute | Type |
|---|---|
name | stringRequired. The form's name. This must be unique for the Organization. |
formCode | string (Maximum length 20 characters)Required. A globally unique form code identifier. This value is used in URL parameters, so avoid any characters that would be URL-escaped. |
currentFormVersionNumber | stringRequired. A version number. For general information about version numbers, see Version Attributes. |
trackingReceiptNoMode | stringRequired. The tracking code and receipt number generation mode. This must be one of the following:
|
emailConfirmation | stringRequired. Whether to send the user a confirmation email when the application is completed. This must be one of the following:
By default, a confirmation email is not sent to the applicant. |
transactInsights | booleanWhether Transact Insights analytics event publishing is enabled in the form. |
logFormXml | booleanWhether to log the form XML for each background save to the Form Transaction History. |
redirectUrlSavePage | stringThe URL to redirect users to after they have explicitly saved their form application. |
redirectUrlConfirmPage | stringThe URL to redirect users to after they complete their form application. |
redirectUrlCancelPage | stringThe URL to redirect users to if they cancel their form application. |
pageTrackingIncludePosition | stringSpecify the page script position in relation to the HTML markup.
For more information about page tracking, see Configure Form Page Tracking. |
pageTrackingScriptFile | stringSpecify the path to the file containing the page tracking script. For more information about page tracking, see Configure Form Page Tracking. |
deliveryChannels | object (DeliveryChannels)Required. Associate delivery channels with the form. Delivery channels are used to deliver submissions in various states. |
trackingCodeService | object (TrackingCodeService)Required. Associate a tracking code service with the form. A tracking code service is used to generate tracking codes for form transactions. |
formSpaces[] | object (FormSpace)Required. Associate one or more form spaces with the form. |
formGroups[] | object (FormGroup)Required. Associate zero or more form groups with the form. |
formVersions[] | object (FormVersion)Required. Associate one or more form versions with the form. |
DeliveryChannels
Use a DeliveryChannels object to associate delivery channels with the form.
For more information about delivery channels, see Associate a Delivery Channel With a Form.
| Attribute | Type |
|---|---|
abandonDelivery | stringRequired. Delivery channel for abandoned submissions. Can be empty. |
productionDelivery | stringRequired. Delivery channel for successful submissions. Use this delivery channel to deliver successful submissions for this form when the form is not in test mode. Can be empty. |
TrackingCodeService
Use a TrackingCodeService object to associate a tracking code service with the form.
| Attribute | Type |
|---|---|
serviceName | stringRequired. The name of a tracking code service. |
serviceVersion | stringRequired. A version number. For general information about version numbers, see Version Attributes. |
FormSpace
Use a FormSpace object to associate a form space with a form.
For information about form spaces, see Form Spaces Overview. For more information about form access, see Configure a Form Space.
| Attribute | Type |
|---|---|
name | stringRequired. A form space name. |
anonAccess | booleanRequired. Whether to allow authenticated users to access forms in the form space. |
authAccess | booleanRequired. Whether to allow anonymous users to access forms in the form space. |
FormGroup
Use a FormGroup object to associate a form group with a form.
For information about form groups, see Form Groups. For information about groups generally, see Create a Group.
| Attribute | Type |
|---|---|
name | stringRequired. The form group's name. |
description | stringRequired. A brief description of the form group. |
reassignTask | booleanRequired. Whether group members can reassign task submissions to other users within the form work group. |
savedAssignedForm | booleanRequired. Whether group members can share tasks assigned to the group as well as incomplete submissions for the form. |
completedForm | booleanRequired. Whether group members can share the list of completed submissions and access to receipts. |
newForm | booleanRequired. Whether users can start a new form belonging to the group. |
workGroupShare | booleanRequired. Whether users of this work group can share a form. |
FormVersion
Use a FormVersion object to associate a form version with a form.
For information about form versions, see Form Versions Overview. For information about form version configuration, see Configure a Form Version.
| Attribute | Type |
|---|---|
versionNumber | stringRequired. The form version number. This version number should be sequential for the form and must be unique for the form. For general information about version numbers, see Version Attributes. |
formType | stringRequired. The form type. This must be one of the following:
|
usesFormFunctions | booleanRequired. Whether to use Transact namespace functions. |
unifiedAppData | booleanRequired. Whether to enable the Unified Application Data Document Model in the form version. |
strictHeaderSecurity | booleanRequired. Whether to enforce a strict header security policy. For more information about this option, see Configure a Form Version. |
formDataEncryption | booleanRequired. Whether to use form data encryption. For more information about form data encryption, see Configure a Form Version. |
maxAttachmentsNumber | integerRequired. The maximum number of file attachments. |
maxAttachmentsSize | integerRequired. The maximum total size of file attachments in bytes. |
formVersionFile | stringRequired. Path to the form archive (ZIP file) for the form version. |
htmlDir | stringPath to a JS App form content. |
formDataConfig | object (FormDataConfig)Required. A form data configuration. |
attachmentRules | object (AttachmentRule)Required. Zero or more attachment rules. |
formFunctions[] | object (FormFunction)Required. Zero or more form functions. |
services[] | object (Service)Required. Zero or more typed service objects. You can specify the following service types:
|
properties[] | object (PropertyDef)Required. Zero or more version property values. |
FormDataConfig
Use a FormDataConfig object to associate a form data configuration with a form version.
For information about form data configuration, see Form Data Configuration Overview and Form Configuration Mapping.
| Attribute | Type |
|---|---|
contactEmailXPath | stringA valid XPath in the form XML data identifying the element where the applicant's contact email address is stored. |
saveChallengeXPath | stringA valid XPath in the form XML data identifying the Save Challenge element. |
dataExtractMapping[] | object (DataExtractMapping)Required. One or more data extract mappings associated with the form data configuration. |
requestParamPrefillMapping[] | object (RequestParamPrefillMapping)Required. |
AttachmentRule
Use an AttachmentRule object to associate an attachment rule with a form version.
For information about configuring attachment rules, see Configure Form Version Attachment Rules.
| Attribute | Type |
|---|---|
name | stringThe file attachment name. |
description | stringA brief description of the file attachment. |
fileTypes | objectA comma-separated list of valid file types. For example, |
maxNumber | numberThe maximum number of files that can be uploaded for this attachment rule. |
maxSize | numberThe maximum total size of files that can be uploaded for this attachment rule. |
required | booleanWhether this file attachment is required to complete the application. |
DataExtractMapping
Use a DataExtractMapping object to associate a form data extract mapping with a form data configuration.
Form data extract mappings are used to define form XML values to be extracted when form XML data is submitted. This submission data extract information is summarized in the Form Submission Data view. For information about form data extract mappings, see Form Data Extract Mappings and Form Configuration Mapping.
| Attribute | Type |
|---|---|
name | stringRequired. The name of a field in the data extract mapping. |
xpath | stringRequired. A valid XPath identifying the mapping field element. |
searchable | booleanRequired. Whether to enable searching on encrypted data. |
RequestParamPrefillMapping
Use a RequestParamPrefillMapping object to associate a request param prefill mapping with a form data configuration.
Request param prefill mappings are used to map JSON prefill data, request URL parameters, cookie values, and session values into the form XML data model when the form is rendered. This feature is supported in the Self Service Portal and Web Plug-in. For information about request param prefill mapping, see Form Request Parameter Prefill Mapping.
| Attribute | Type |
|---|---|
paramName | stringRequired. The name by which this request or JSON parameter is identified. |
xpath | stringRequired. A valid XPath identifying the request param prefill mapping element. The element identified by this XPath contains the request or JSON parameter that will generate the value to prefill into the form XML data. |
FormFunction
Use a FormFunction object to associate a form function with a form version.
Form Functions are also known as Fluent Functions. For information about form functions, see Transact Functions Overview.
| Attribute | Type |
|---|---|
serviceName | stringRequired. The form function's service name. |
versionNumber | stringRequired. The function version number. For general information about version numbers, see Version Attributes. |
trigger | stringRequired. When the function is called. This must be one of the following:
|
sequence | numberThe order that functions with the same trigger are to be executed. |
Service
Use a Service object to associate a service with a form version.
For information about services, see Services Overview.
| Attribute | Type |
|---|---|
serviceName | stringRequired. The service name. |
serviceVersion | stringRequired. The service version number. For general information about version numbers, see Version Attributes. |
PropertyDef
Use a PropertyDef object to associate a property definition with a form version.
For information about properties, see Properties Overview.
| Attribute | Type |
|---|---|
name | stringRequired. The property name. |
description | stringA brief description of the property. |
dataType | stringRequired. The property's data type. This must be one of the following:
|
value | stringThe property's JSON-encoded value. For large values, externalize to a file and use Note: Either |
valueFile | stringThe path to a file that contains the value for this property. Note: Either |