Forms API
This API enables you to get form details.
Form Data Sync
• Fields should be marked for reporting in the solution. Refer to section Mark Fields for Reporting for more details.
• The application stores only one or the latest version of the reporting fields for a solution.
• When syncing Form data, only the marked fields are kept in the reporting database.
• No form data is kept in the reporting database when no field is marked for reporting.
• The API exposes only the latest fields marked for reporting.
Name | Description | Type | Restrictions | Filter Allowed |
FormID | Form ID mapped with the source workflow database. | Integer | Primary Key | N |
DBStoreID | ID to identify the Foundation database. | Integer | Primary Key | Y |
ProcessID | Process ID | Integer | Primary Key | Y |
SolutionID | Solution ID | Integer | Y | |
SolutionName | Solution Name | String | Y | |
SolutionKey | Solution Dimension Key | Integer | Y | |
<<FormFields>> | All form fields available that are selected for reporting from the current solution. | N | ||
This includes Headers, Repeating tables. Excludes nested repeating tables data. | ||||
ProcessOriginator | Login ID of the user who is the originator of the workflow instance. | String | N | |
ProcessName | Name of the process. | String | N | |
ProcessCreationDate | Creation date of the process. | datetime format - YYYY-MM-DDTHH:mm:ss.fff 24 hour time format up to 3 digit milliseconds. | N | |
ProcessParentProcessId | ID of the parent process. | Integer | N | |
ProcessTaskItemTitle | Title of the SharePoint List item on which the process is working. | String | N | |
ProcessInheritanceLabel | Process Inheritance label property value. | String | N | |
ProcessDueDate | Due date of the process. | datetime format - YYYY-MM-DDTHH:mm:ss.fff 24 hour time format up to 3 digit milliseconds. | N | |
ProcessCompletionDate | Completion date of the process. | datetime Format - YYYY-MM-DDTHH:mm:ss.fff 24 hour time format up to 3 digit milliseconds. | N | |
ProcessStatus | Process status value in text. | Integer | Y | |
Code Description | ||||
0 - Undefined | ||||
1 - Draft | ||||
2 - Running | ||||
3 - Completed | ||||
4 - Canceled | ||||
5 - Approved | ||||
6 - Rejected | ||||
7 - Blocked | ||||
WebPath | Field from the Solution Name Dimension or the Relative path of the SharePoint web site. | String | Y | |
SPWebID | Field from Solution Name Dimension or the SharePoint Web GUID. | String | Y | |
WebName | Name of SharePoint site's web. | String | Y | |
SPSiteID | Field from the Solution Name Dimension or the SharePoint Site GUID. | String | Y | |
SPWebAppID | Field from the Solution Name Dimension, or the GUID of the Web app. | String | Y | |
WebApplicationName | Name of the SharePoint Web Application. | String | Y |
Endpoints and Methods
HTTP Method only GET is implemented.
-
Route: /v1/forms/{SolutionDimKey} - Get all form data of the specified Solution Dimension Key.
-
Route: /v1/forms/{SolutionDimKey}/{dbstoreid}/{formid} - Get form by UID of Solution Dimension key
-
Route: /dwapi/v1/forms/2?formfieldtype=lineitem - Get all reporting fields from repeating table too.
- Route: /dwapi/v1/forms/2 - Get Form header data for solution key 2 i.e. “MaterialManagement”
Form Query parameter formfieldtype values:
- "Header": (Default) Return data of only header field. System consider Header as default if this parameter is not defined in request URL.
- "lineitem": Returns data of header and repeating table fields, not nested repeating table data.
URL
The URL is as follows: <<host>>/dwapi/v1/forms
Query Parameters, Descriptions, and Examples
Select
$select: This query option specifies that only the requested properties are returned. Use commas to specify multiple properties.
For example -
You can get data from specific fields only such as ProjectName, ProjectOwner, and ProcessName. Route by the following:
/dwapi/v1/forms/2?$select=ProjectName,ProjectOwner,ProcessName
Filter
$filter: This query option restricts the data to be returned for the requested resource.
You can use the following to further specify your results:
- Built-in Filter Operations
- Comparison operators – eq Equal, ne Not equal etc.
- Logical operators – and Logical and, or Logical or, not Logical negation.
- Arithmetic operators – add Addition, sub Subtraction etc.
- Grouping operators – () Precedence grouping
- Built-in Query Functions
- String Functions – contains, endswith etc.
- Date Functions – year, month, day etc.
- Match Functions – round, floor etc.
For example -
You can filter on form data for completed projects by the following: Route:/dwapi/v1/forms/2?$filter=ProjectStatuseq 'Completed'
Orderby
$orderby: This query option requests the service to return the result set in the specified order requested.
This parameter can include asc for asending or desc for descending. Default is ascending if not specified.
$top and $skip
$top: This query option limits the items from result set.
$skip: This query option excludes the first n items from the result set.
Using $orderyby with $top and $skip results in more consistent data.
getcount
/getcount: This gets the count of result set or data queried. $filter can be used with getcount to know the count of filters result set.
This is not an Odata standard operation, it is only for the Foundation APIs.
For example -
Get the count only by the following:
/v1/ forms/getcount/{SolutionDimKey}