Workspaces Txn API
The Txn API provides a REST service for querying Transactions in Journey Manager in a secure and efficient manner.
Security
To access the Workspaces REST endpoint the caller needs to pass through Spring Security Session Management. First the user has to be authenticated with the Workspaces configured security manager. The user may authenticate via a login page or via Single Sign-on such as ADFS, oAuth2 or custom SSO.
The result of the API calls is subject to the user security policy.
URL Endpoint
The Workspaces Txn API URL endpoint is as follows:
``` https://Service API
This section provides a description all the Txn API operations including:
- POST Cancel Txn
- POST Comment Txn
- POST Count Txn
- POST Query Txn
- POST Reopen Txn
- POST Task Assign
- POST Task Unassign
POST Cancel Txn
The transaction cancel operation will cancel/abandon the specified transaction.
A Bad Request Response will be returned if the transaction does not meet the following requirements:
- The form status is not "completed" or "abandoned"
- Accessible by the user calling the API
URL Format
POST https://<tm server>/workspaces/secure/api/v1/txn/cancel
POST Body
The POST request must contain a JSON structure describing the txn query.
To support multiple parameters this API uses the HTTP Content Type: application/json
The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response
Attribute | Type | Description |
---|---|---|
params | Map | A map containing the cancel attributes (required) |
Supported Cancel Attributes
The cancel attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.
Cancel Attributes | Type | Description |
---|---|---|
milestones | String | A submission milestone value to add to the transaction (optional) |
reason | String | The abandonment reason (optional) |
submitKey | String | The submit key property of the submission/transaction record to cancel (required) |
Example: Cancel Txn
Please ensure you specify Content-Type: application/json
POST <b>/workspaces/secure/api/v1/txn/cancel</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
"params": {
"milestones": "Application Status: Staff Cancelled",
"reason": "Job application will be completed in branch",
"submitKey": "15d071280b92c867f86975b9cd2e8765"
}
}
200 Response
The returning of a 200 Response signifies the successful abandonment of the transaction and that no errors occurred during the execution of the API.
Error Messages
Error Key | Error | Error Code |
---|---|---|
internalError | Please see Error Log ID {number} | 500 - Internal Server Error |
submitKeyNotSpecified | submitKey not specified | 400 - Bad Request |
txnAlreadyFinished | The transaction has already been finished (Completed or Abandoned). | 400 - Bad Request |
txnNotFound | The transaction specified by the submitKey was not found. | 400 - Bad Request |
Error Responses
- 400 - Bad Request
- Bad request or request parameter. Check error message for details.
<dt>404 - Not Found</dt>
<dd>Ensure the URL endpoint is entered correctly.</dd>
<dt>500 - Internal Server Error</dt>
<dd>Exception occurred in txn cancel. Contact administrator.</dd>
POST Comment Txn
The transaction comment operation will add a comment against the transaction specified in the query.
URL Format
``` POST https://POST Body
The POST request must contain a JSON structure describing the txn comment.
To support multiple parameters this API uses the HTTP Content Type: application/json
The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response
Attribute | Type | Description |
---|---|---|
params | Map | A map containing the comment attributes (required) |
Supported Comment Attributes
The comment attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.
Comment Attributes | Type | Description |
---|---|---|
header | String | The header/title of the comment (optional) |
message | String | The message/body of the comment, cannot be empty (required) |
submitKey | String | The submit key property of the transaction to add a comment to (required) |
parent | String | The parent comment oid. If this comment is a reply to another comment (optional) |
Example: Comment Txn
Please ensure you specify Content-Type: application/json
POST <b>/workspaces/secure/api/v1/txn/comment</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
"params": {
"header": "Adding comments to transactions",
"message": "this is an example to a comment",
"submitKey": "15d071280b92c867f86975b9cd2e8765",
"parent": "1"
}
}
200 Response
The returning of a 200 Response signifies the comment was successfully added and that no errors occurred during the execution of the API.
Error Messages
<tr>
<td class="paramName">submitKeyNotSpecified
</td>
Error Key | Error | Error Code |
---|---|---|
accessDenied | The user does not have access to transaction specified by the submitKey | 400 - Bad Request |
internalError | Please see Error Log ID {number} | 500 - Internal Server Error |
messageNotSpecified | The comment message is not specified. | 400 - Bad Request |
parentNotExist | The parent comment specified does not exist. | 400 - Bad Request |
submitKey not specified | 400 - Bad Request | |
txnNotFound | The transaction specified by the submitKey was not found | 400 - Bad Request |
unableToResolvePortal | Unable to resolve portal from request | 400 - Bad Request |
Error Responses
- 400 - Bad Request
- Bad request or request parameter. Check error message for details.
- 404 - Not Found
- Ensure the URL endpoint is entered correctly.
- 500 - Internal Server Error
- Exception occurred in txn comment. Contact administrator.
POST Count Txn
Returns the total count of transactions associated with the portal, filtered on the specified criteria.
This API is similar to Query Txn in its supported criteria attributes however ignores the fetchLimit and fetchOffset set in the query.
Only submissions associated with current portal will be included in the count.
If no filters are specified in the query, the following default filters are applied:
- formStatus in [ 'Saved', 'Opened', 'Assigned']
- timeRequest range of 14 days
Furthermore, if no formStatus or identity (submitKey, trackingCode, jobRefNumber) filters are specified within an operator "AND, a default filter "formStatus in ['Saved', 'Opened', 'Assigned']" is added.
Likewise, if no time or identity (submitKey, trackingCode, jobRefNumber) filters are specified within an operator "AND", a default filter to limit the results to transactions from the last 14 days based on timeRequest is added.
URL Format
POST https://<tm server>/workspaces/secure/api/v1/txn/count
POST Body
The POST request must contain a JSON structure describing the txn query.
To support multiple parameters this API uses the HTTP Content Type: application/json
The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response
Attribute | Type | Description |
---|---|---|
filters | List | Provides a list of filters to query transactions by. For more details on how to define the filters, see Filters (optional) |
scope | String | Defines which transactions will be included in the search. By default (or if passing in "Portal"), only transactions directly associated with the current space are included. When passing in "Form", and the user has the "Help Desk View" permissions, all transactions whose forms are associated with the current space are included (even if the transaction itself is associated with a different space). |
Supported Criteria Attributes
The criteria attributes supported are listed below. Any additional attributes will return a Bad Request Response.
Criteria Attribute | Type | Supported Operators | Description |
---|---|---|---|
authStatus | String | =, IN | Filter transactions based on the authStatus of the transaction |
clientCode | String | =, IN | Filter transactions based on the clientCode |
emailAddress | String | =, IN | Filter transactions based on the emailAddress associated with the submission. |
formCategory | String | =, IN | Filter transactions based on the form template version's association to the category specified |
formCode | String | =, IN | Filter transactions based on the form code of the submitted form |
formDataMap | Map | =, IN | Filter transactions based on an entry in the formDataMap. Supports exact match of value but not extract name. Supported: "formDataMap[*] = 'Jane'" Supported: "formDataMap['firstName'] = 'Jane'" Supported: "formDataMap['firstName'] IN ('Jane', 'Doe')" |
formName | String | =, IN | Filter transactions based on the form name of the submitted form |
formStatus | String | =, IN | Filter transactions based on transaction form status |
groupName | String | =, IN | Filter transactions based on the association with submission groups with names specified |
jobRefNumber | String | =, IN | Filter transactions based on the job reference number |
milestones | String | =, IN | Filter transactions based on submission milestones |
properties | Map | =, IN | Filter transactions based on submission properties. Supports exact match of both name and value for a single property per search. Supported: "properties[*] = 'prop1Value'" Supported: "properties['property1'] = 'prop1Value'" Supported: "properties['property1'] IN ('prop1Value', 'prop2Value')" |
spaceName | String | =, IN | Filter transactions based on the association with spaces with name(s) specified |
submitKey | String | =, IN | Filter transactions based on the submission submitKey. Will match to one transaction record. |
timeAbandoned | String | >, >=, =, | Filter transactions based on the time abandoned timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeAbandoned < '2018-01-01'" e.g. "timeAbandoned > '2019-01-01 09:00:00'" e.g. "timeAbandoned <= '2018-01-01T15:17:29+10:00'" |
timeCompleted | String | >, >=, =, | Filter transactions based on the time completed timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeCompleted > '2018-01-01'" e.g. "timeCompleted = '2018-01-01 23:17:29'" e.g. "timeCompleted < '2018-01-01T15:17:29+10:00'" |
timeCreated | String | >, >=, =, | Filter transactions based on the time created timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeCreated < '2018-01-01'" e.g. "timeCreated <= '2018-01-01 15:17:29'" e.g. "timeCreated >= '2018-01-01T15:17:29+10:00'" |
timeRequest | String | >, >=, =, | Filter transactions based on the time request timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeRequest <= '2018-01-01'" e.g. "timeRequest = '2018-01-01 15:17:29'" e.g. "timeRequest <= '2018-01-01T15:17:29+10:00'" |
timeSubmitted | String | >, >=, =, | Filter transactions based on the time submitted timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeSubmitted > '2018-01-01'" e.g. "timeSubmitted = '2018-01-01 15:17:29'" e.g. "timeSubmitted <= '2018-01-01T15:17:29+10:00'" |
timeUserLastModified | String | >, >=, =, | Filter transactions based on the time user last modified timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeUserLastModified >= '2018-01-01'" e.g. "timeUserLastModified = '2019-01-01 23:17:29'" e.g. "timeUserLastModified < '2018-01-01T15:17:29+10:00'" |
trackingCode | String | =, IN | Filter transactions based on the tracking code. Will match to one transaction record. |
userLoginName | String | =, IN | Filter transactions based on the user login name |
userSaved | Boolean | = | Filter transactions based on the user saved property True: "userSaved = 1" False: "userSaved = 0" and/or "userSaved = null" |
Example: Count Txn
Please ensure you specify Content-Type: application/json
POST <b>/workspaces/secure/api/v1/txn/count</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
"filters": [
{
"criteria": [
"clientCode = 'workspace'",
"formCode = 'loanapplicationwithr'",
"timeUserLastModified < '2018-08-06'",
"timeUserLastModified > '2018-07-06'"
],
"operator": "and"
}
]
}
200 Response
{
"count": 3
}
More examples
Complex queries can be created from joining multiple criterias using "AND" or "OR" operators.
For examples on how define these queries, see Filters
Error Messages
Error Key | Error | Error Code |
---|---|---|
illegalArgument | Unsupported criteria attribute: <attribute> Unsupported operator for attribute '<attribute>': <Operator> For input string: <string> Invalid scope: <string> Please see Error Log ID {number} |
400 - Bad Request |
internalError | Please see Error Log ID {number} | 500 - Internal Server Error |
unableToResolvePortal | Unable to resolve portal from request | 400 - Bad Request |
Error Responses
- 400 - Bad Request
- Bad request or request parameter. Check error message for details.
<dt>404 - Not Found</dt>
<dd>Ensure the URL endpoint is entered correctly.</dd>
<dt>500 - Internal Server Error</dt>
<dd>Exception occurred in txn count. Contact administrator.</dd>
POST Query Txn
Returns a list of transaction filtered on the specified criteria. Only submissions associated with current portal will be returned
If no filters are specified in the query, the following default filters are applied:
- formStatus in [ 'Saved', 'Opened', 'Assigned']
- timeRequest range of 14 days
Furthermore, if no formStatus or identity (submitKey, trackingCode, jobRefNumber) filters are specified within an operator "AND, a default filter "formStatus in ['Saved', 'Opened', 'Assigned']" is added.
Likewise, if no time or identity (submitKey, trackingCode, jobRefNumber) filters are specified within an operator "AND", a default filter to limit the results to transactions from the last 14 days based on timeRequest is added.
The result will be ordered by submission oid by default however a sorting order can be defined.
URL Format
POST https://<tm server>/workspaces/secure/api/v1/txn/query
POST Body
The POST request must contain a JSON structure describing the txn query.
To support multiple parameters this API uses the HTTP Content Type: application/json
The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise):
Attribute | Type | Description |
---|---|---|
attributes | List | Provides a list of attributes to return. Specified the attributes to return in each txn in the result. Transactions consists of the attributes listed in Txn Result Attributes. If not attributes are specified, all attributes will be returned. (optional) |
fetchLimit | Integer | Specifies the fetchLimit of the query and is the max number of results returned. Default value is applied if fetchLimit entered is greater than 10,000. Default value is 10,000 (required) |
fetchOffset | Integer | Specifies fetchOffset of the query. Returns (fetchOffset + fetchLimit) number of results starting from the fetchOffset index. Default value is 0 (optional) |
filters | List | Provides a list of filters to query transactions by. For more details on how to define the filters, see Filters (optional) |
scope | String | Defines which transactions will be included in the search. By default (or if passing in "Portal"), only transactions directly associated with the current space are included. When passing in "Form", and the user has the "Help Desk View" permissions, all transactions whose forms are associated with the current space are included (even if the transaction itself is associated with a different space). |
sorts | List | Provides a list of sort orderings to sort transactions by. For more details on how to define the sorting, see Sorts (optional) |
Supported Criteria Attributes
The criteria attributes supported are listed below. Any additional attributes will return a Bad Request Response.
Criteria Attribute | Type | Supported Operators | Description |
---|---|---|---|
authStatus | String | =, IN | Filter transactions based on the authStatus of the transaction |
clientCode | String | =, IN | Filter transactions based on the clientCode |
emailAddress | String | =, IN | Filter transactions based on the emailAddress associated with the submission. |
formCategory | String | =, IN | Filter transactions based on the form template version's association to the category specified |
formCode | String | =, IN | Filter transactions based on the form code of the submitted form |
formDataMap | Map | = | Filter transactions based on an entry in the formDataMap. Supports exact match of value but not extract name. Supported: "formDataMap[*] = 'Jane'" Supported: "formDataMap['firstName'] = 'Jane'" Supported: "formDataMap['firstName'] IN ('Jane', 'Doe')" |
formName | String | =, IN | Filter transactions based on the form name of the submitted form |
formStatus | String | =, IN | Filter transactions based on transaction form status |
groupName | String | =, IN | Filter transactions based on the association with submission groups with names specified |
jobRefNumber | String | =, IN | Filter transactions based on the job reference number |
milestones | String | =, IN | Filter transactions based on submission milestones |
properties | Map | =, IN | Filter transactions based on submission properties. Supports exact match of both name and value for a single property per search. Supported: "properties[*] = 'prop1Value'" Supported: "properties['property1'] = 'prop1Value'" Supported: "properties['property1'] IN ('prop1Value', 'prop2Value')" |
spaceName | String | =, IN | Filter transactions based on the association with spaces with name(s) specified |
submitKey | String | =, IN | Filter transactions based on the submission submitKey. Will match to one transaction record. |
timeAbandoned | String | >, >=, =, | Filter transactions based on the time abandoned timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeAbandoned < '2018-01-01'" e.g. "timeAbandoned > '2019-01-01 09:00:00'" e.g. "timeAbandoned <= '2018-01-01T15:17:29+10:00'" |
timeCompleted | String | >, >=, =, | Filter transactions based on the time completed timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeCompleted > '2018-01-01'" e.g. "timeCompleted = '2018-01-01 23:17:29'" e.g. "timeCompleted < '2018-01-01T15:17:29+10:00'" |
timeCreated | String | >, >=, =, | Filter transactions based on the time created timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeCreated < '2018-01-01'" e.g. "timeCreated <= '2018-01-01 15:17:29'" e.g. "timeCreated >= '2018-01-01T15:17:29+10:00'" |
timeRequest | String | >, >=, =, | Filter transactions based on the time request timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeRequest <= '2018-01-01'" e.g. "timeRequest = '2018-01-01 15:17:29'" e.g. "timeRequest <= '2018-01-01T15:17:29+10:00'" |
timeSubmitted | String | >, >=, =, | Filter transactions based on the time submitted timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeSubmitted > '2018-01-01'" e.g. "timeSubmitted = '2018-01-01 15:17:29'" e.g. "timeSubmitted <= '2018-01-01T15:17:29+10:00'" |
timeUserLastModified | String | >, >=, =, | Filter transactions based on the time user last modified timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format) e.g. "timeUserLastModified >= '2018-01-01'" e.g. "timeUserLastModified = '2019-01-01 23:17:29'" e.g. "timeUserLastModified < '2018-01-01T15:17:29+10:00'" |
trackingCode | String | =, IN | Filter transactions based on the tracking code. Will match to one transaction record. |
userLoginName | String | =, IN | Filter transactions based on the user login name |
userSaved | Boolean | = | Filter transactions based on the user saved property True: "userSaved = 1" False: "userSaved = 0" and/or "userSaved = null" |
Result Attributes
The transactions returned by the query consist of a number of attributes. If only certain attributes are of interest, they can be specified in the "attributes" parameter in the Txn Query.
By default, all attributes are populated and returned if their value is not empty.
All Transaction attributes are listed below, any additional attributes or spelling errors will return a Bad Request response.
"attributes": [
"authStatus",
"clientCode",
"comments",
"emailAddress",
"fileAttachments",
"formCategories",
"formCode",
"formDataMap",
"formName",
"formStatus",
"formUrl",
"groupName",
"job",
"job.currentAction",
"job.currentStep",
"job.jobKey",
"job.name",
"job.jobRefNumber",
"job.status",
"job.timeCompletionScheduled",
"job.timeCreated",
"job.timeLastModified",
"milestones",
"properties",
"receiptUrl",
"spaceName",
"submitKey",
"taskType",
"timeAbandoned",
"timeCompleted",
"timeCreated",
"timeRequest",
"timeSubmitted",
"timeUserLastModified",
"trackingCode",
"userLoginName",
"userSaved"
]
Example 1: Query Txn with Result Attributes
In this example, attributes are passed into the query, hence only the specified attributes will be returned.
If the attribute value is empty, it will not be returned.
Please ensure you specify Content-Type: application/json
POST <b>/workspaces/secure/api/v1/txn/query</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
"fetchLimit": 100,
"fetchOffset": 0,
"attributes": [
"clientCode",
"formDataMap",
"formCode",
"submitKey",
"job",
"job.jobRefNumber"
],
"filters": [
{
"criteria": [
"clientCode = 'workspace'",
"formCode = 'loanapplicationwithr'",
"timeUserLastModified < '2018-08-06'",
"timeUserLastModified > '2018-07-06'"
],
"operator": "and"
}
],
"sorts": [
"submitKey asc"
],
"scope": "portal"
}
200 Response
{
"fetchLimit": 100,
"fetchOffset": 0,
"durationMs": 37,
"totalCount": 3,
"result": [
{
"clientCode": "workspace",
"fileAttachments": [],
"formCategories": [],
"formCode": "loanapplicationwithr",
"formDataMap": {
"firstName": "Katheleen Pacinovsky",
"lastName": "Pacinovsky",
"loanAmount": "15000",
"emailAddress": "Katheleen.Pacinovsky@avoka.com",
"gender": "F",
"Gender": "F"
},
"job": {
"jobRefNumber": "9B4W7NM"
},
"submitKey": "08215d28b908dc616a03325b7eaafee7"
},
{
"clientCode": "workspace",
"fileAttachments": [],
"formCategories": [],
"formCode": "loanapplicationwithr",
"formDataMap": {
"firstName": "Louise Pica",
"lastName": "Pica",
"loanAmount": "10000",
"emailAddress": "Louise.Pica@avoka.com",
"gender": "F",
"Gender": "F"
},
"job": {
"jobRefNumber": "MXGR2DC"
},
"submitKey": "0a426dcf7c648c4e9cc06083bd5669b4"
},
{
"clientCode": "workspace",
"fileAttachments": [],
"formCategories": [],
"formCode": "loanapplicationwithr",
"formDataMap": {
"firstName": "Lily Grace Haynesworthington",
"lastName": "Haynesworthington",
"loanAmount": "10000",
"emailAddress": "Lilygrace.Haynesworthington@avoka.com",
"gender": "F",
"Gender": "F"
},
"job": {
"jobRefNumber": "G4HYYSY"
},
"submitKey": "6057bc3cef7773f5745a780258d6156a"
}
]
}
Example 2: Query Txn without Result Attributes
In this example, no attributes are passed into the query, hence all attributes for the transactions are returned.
If the attribute value is empty, it will not be returned.
POST <b>/workspaces/secure/api/v1/user/query</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
"fetchLimit": 100,
"fetchOffset": 0,
"filters": [
{
"criteria": [
"clientCode = 'workspace'",
"formCode = 'loanapplicationwithr'",
"timeUserLastModified < '2018-08-06'",
"timeUserLastModified > '2018-07-06'"
],
"operator": "and"
}
],
"sorts": [
"submitKey asc"
]
}
200 Response
{
"fetchLimit": 100,
"fetchOffset": 0,
"durationMs": 200,
"totalCount": 3,
"result": [
{
"clientCode": "workspace",
"comments": [
{
"timeAdded": "2018-09-05T19:54:33-06:00",
"session": "441SKEuP-fmzpzbwi3a6JZNjOHmaq7jHxbxz2Sem",
"ipAddress": "114.141.100.202",
"commentId": "1",
"header": "comment header",
"userLoginName": "user2",
"message": "this is an example to a comment"
},
{
"parent": "1",
"timeAdded": "2018-09-05T19:55:05-06:00",
"session": "441SKEuP-fmzpzbwi3a6JZNjOHmaq7jHxbxz2Sem",
"ipAddress": "114.141.100.202",
"commentId": "2",
"header": "reply header",
"userLoginName": "user2",
"message": "reply comment"
}
],
"emailAddress": "Katheleen.Pacinovsky@avoka.com",
"fileAttachments": [],
"formCategories": [
"Loan applications"
],
"formCode": "loanapplicationwithr",
"formDataMap": {
"firstName": "Katheleen Pacinovsky",
"lastName": "Pacinovsky",
"loanAmount": "15000",
"emailAddress": "Katheleen.Pacinovsky@avoka.com",
"gender": "F",
"Gender": "F"
},
"formName": "Loan Application With Review",
"formStatus": "Opened",
"formUrl": "https://earlyaccess.rnd.avoka-transact.com/workspaces/secure/servlet/SmartForm.html?submitKey=08215d28b908dc616a03325b7eaafee7",
"groupName": "Job Reviewers",
"job": {
"jobKey": "aaaa837c177b22fb49b91daa03c40c64",
"jobRefNumber": "9B4W7NM",
"name": "Auto Test - 1 Step Review",
"status": "In Progress",
"currentStep": "Application Review",
"currentAction": "Review Wait",
"timeCreated": "2019-03-26T13:00:02+11:00",
"timeCompletionScheduled": "2019-03-26T13:00:02+11:00",
"timeLastModified": "2019-03-26T13:00:02+11:00"
},
"milestones": [],
"properties": {},
"spaceName": "Work Spaces",
"submitKey": "08215d28b908dc616a03325b7eaafee7",
"taskType": "Review",
"timeCreated": "2018-07-24T15:17:29+10:00",
"timeRequested": "2018-07-24T15:17:29+10:00",
"timeUserLastModified": "2018-07-24T15:17:29+10:00",
"trackingCode": "M95M46T",
"userLoginName": "cwang",
"userSaved": false
},
{
"clientCode": "workspace",
"comments": [],
"emailAddress": "Louise.Pica@avoka.com",
"fileAttachments": [],
"formCategories": [
"Loan applications"
],
"formCode": "loanapplicationwithr",
"formDataMap": {
"firstName": "Louise Pica",
"lastName": "Pica",
"loanAmount": "10000",
"emailAddress": "Louise.Pica@avoka.com",
"gender": "F",
"Gender": "F"
},
"formName": "Loan Application With Review",
"formStatus": "Opened",
"formUrl": "https://earlyaccess.rnd.avoka-transact.com/workspaces/secure/servlet/SmartForm.html?submitKey=0a426dcf7c648c4e9cc06083bd5669b4",
"groupName": "Job Reviewers",
"job": {
"jobKey": "aaaa837c177b22fb49b91daa03c40c64",
"jobRefNumber": "MXGR2DC",
"name": "Auto Test - 1 Step Review",
"status": "In Progress",
"currentStep": "Application Review",
"currentAction": "Review Wait",
"timeCreated": "2019-03-26T13:00:02+11:00",
"timeCompletionScheduled": "2019-03-26T13:00:02+11:00",
"timeLastModified": "2019-03-26T13:00:02+11:00"
},
"milestones": [],
"properties": {},
"spaceName": "Work Spaces",
"submitKey": "0a426dcf7c648c4e9cc06083bd5669b4",
"taskType": "Review",
"timeCreated": "2018-07-25T13:02:08+10:00",
"timeRequested": "2018-07-25T13:02:08+10:00",
"timeUserLastModified": "2018-07-25T13:02:08+10:00",
"trackingCode": "MRW8PQW",
"userLoginName": "kparameswaran@avoka.com",
"userSaved": false
},
{
"clientCode": "workspace",
"comments": []
"emailAddress": "Lilygrace.Haynesworthington@avoka.com",
"fileAttachments": [],
"formCategories": [
"Loan applications"
],
"formCode": "loanapplicationwithr",
"formDataMap": {
"firstName": "Lily Grace Haynesworthington",
"lastName": "Haynesworthington",
"loanAmount": "10000",
"emailAddress": "Lilygrace.Haynesworthington@avoka.com",
"gender": "F",
"Gender": "F"
},
"formName": "Loan Application With Review",
"formStatus": "Opened",
"formUrl": "https://earlyaccess.rnd.avoka-transact.com/workspaces/secure/servlet/SmartForm.html?submitKey=6057bc3cef7773f5745a780258d6156a",
"groupName": "Job Reviewers",
"job": {
"jobKey": "aaaa837c177b22fb49b91daa03c40c64",
"jobRefNumber": "G4HYYSY",
"name": "Auto Test - 1 Step Review",
"status": "In Progress",
"currentStep": "Application Review",
"currentAction": "Review Wait",
"timeCreated": "2019-03-26T13:00:02+11:00",
"timeCompletionScheduled": "2019-03-26T13:00:02+11:00",
"timeLastModified": "2019-03-26T13:00:02+11:00"
},
"milestones": [],
"properties": {},
"spaceName": "Work Spaces",
"submitKey": "6057bc3cef7773f5745a780258d6156a",
"taskType": "Review",
"timeCreated": "2018-07-24T15:17:59+10:00",
"timeRequested": "2018-07-24T15:17:59+10:00",
"timeUserLastModified": "2018-07-24T15:17:59+10:00",
"trackingCode": "FND9SG6",
"userSaved": false
}
]
}
More examples
Complex queries can be created from joining multiple criterias using "AND" or "OR" operators.
For examples on how define these queries, see Filters
Error Messages
Error Key | Error | Error Code |
---|---|---|
illegalArgument | Unsupported criteria attribute: <attribute> Unsupported operator for attribute '<attribute>': <Operator> For input string: <string> Invalid scope: <string> Invalid sort string: <string> Unsupported sort attribute: Please see Error Log ID {number} |
400 - Bad Request |
internalError | Please see Error Log ID {number} | 500 - Internal Server Error |
unableToResolvePortal | Unable to resolve portal from request | 400 - Bad Request |
Error Responses
- 400 - Bad Request
- Bad request or request parameter. Check error message for details.
- 404 - Not Found
- Ensure the URL endpoint is entered correctly.
- 500 - Internal Server Error
- Exception occurred in txn query. Contact administrator.
POST Reopen Txn
The transaction reopen operation will revert the specified transaction from abandoned into saved status.
This will work similarly to the "Make Abandoned Transaction Saved" action on the "Abandoned Transactions" page.
A Bad Request Response will be returned if the transaction does not meet the following requirements:
- The form status is "abandoned"
- The transaction data has not yet been deleted. Once deleted, the transaction cannot be reverted.
- Accessible by the user calling the API
URL Format
POST https://<tm server>/workspaces/secure/api/v1/txn/reopen
POST Body
The POST request must contain a JSON structure describing the txn query.
To support multiple parameters this API uses the HTTP Content Type: application/json
The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response
Attribute | Type | Description |
---|---|---|
params | Map | A map containing the reopen attributes (required) |
Supported Reopen Attributes
The reopen attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.
Reopen Attributes | Type | Description |
---|---|---|
milestones | String | A submission milestone value to add to the transaction (optional) |
submitKey | String | The submit key property of the submission/transaction record to reopen (required) |
Example: Reopen Txn
Please ensure you specify Content-Type: application/json
POST <b>/workspaces/secure/api/v1/txn/reopen</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
"params": {
"milestones": "Application Status: Staff Reopened",
"submitKey": "15d071280b92c867f86975b9cd2e8765"
}
}
200 Response
The returning of a 200 Response signifies the successful reopening of the transaction and that no errors occurred during the execution of the API.
Error Messages
Error Key | Error | Error Code |
---|---|---|
internalError | Please see Error Log ID {number} | 500 - Internal Server Error |
submitKeyNotSpecified | submitKey not specified | 400 - Bad Request |
txnDataDeleted | Transaction data has been deleted, and so the transaction cannot be reverted. | 400 - Bad Request |
txnNotAbandoned | The transaction is not abandoned. | 400 - Bad Request |
txnNotFound | The transaction specified by the submitKey was not found. | 400 - Bad Request |
Error Responses
- 400 - Bad Request
- Bad request or request parameter. Check error message for details.
- 404 - Not Found
- Ensure the URL endpoint is entered correctly.
- 500 - Internal Server Error
- Exception occurred in txn reopen. Contact administrator.
POST Assign Txn
The transaction assign operation will reassign a submission task to the user specified in the query.
A Bad Request Response will be returned if the transaction does not meet the following requirements:
- The form status is not "completed" or "abandoned"
- The transaction is a task, with the taskKey not empty
- Accessible by the user calling the API
- Not currently associated with a user (to reassign a task, unassign it first)
URL Format
POST https://<tm server>/workspaces/secure/api/v1/txn/assign
POST Body
The POST request must contain a JSON structure describing the txn query.
To support multiple parameters this API uses the HTTP Content Type: application/json
The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response
Attribute | Type | Description |
---|---|---|
params | Map | A map containing the assign attributes (required) |
Supported Assign Attributes
The assign attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.
Assign Attributes | Type | Description |
---|---|---|
submitKey | String | The submit key property of the task to assign (required) |
userKey | String | The user key property of the user account to assign the task to (required) |
Example: Assign Txn
Please ensure you specify Content-Type: application/json
POST <b>/workspaces/secure/api/v1/txn/assign</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
"params": {
"submitKey": "15d071280b92c867f86975b9cd2e8765",
"userKey": "378595572a1bd63ff9b5972b7a1c91dd"
}
}
200 Response
The returning of a 200 Response signifies the task was successfully assigned to the user and that no errors occurred during the execution of the API.
Error Messages
Error Key | Error | Error Code |
---|---|---|
accessDenied | The user does not have access to transaction specified by the submitKey | 400 - Bad Request |
internalError | Please see Error Log ID {number} | 500 - Internal Server Error |
submitKeyNotSpecified | submitKey not specified | 400 - Bad Request |
txnAlreadyAssigned | The task is currently assigned to a user. To reassign it, unassign it first, then assign it to the new user. | 400 - Bad Request |
txnAlreadyFinished | The transaction specified by the submitKey has already been finished (Completed or Abandoned) | 400 - Bad Request |
txnNotFound | The transaction specified by the submitKey was not found | 400 - Bad Request |
txnNotTask | The transaction specified by the submitKey is not a task | 400 - Bad Request |
userKeyNotSpecified | userKey not specified | 400 - Bad Request |
userNotFound | The user account specified by the userKey was not found | 400 - Bad Request |
Error Responses
- 400 - Bad Request
- Bad request or request parameter. Check error message for details.
<dt>404 - Not Found</dt>
<dd>Ensure the URL endpoint is entered correctly.</dd>
<dt>500 - Internal Server Error</dt>
<dd>Exception occurred in txn assign. Contact administrator.</dd>
POST Unassign Txn
The transaction unassign operation will unassign a submission task specified in the query.
A Bad Request Response will be returned if the transaction does not meet the following requirements:
- The form status is not "completed" or "abandoned"
- The task is not assigned to a group
- The transaction is a task, with the taskKey not empty
- Accessible by the user calling the API
URL Format
POST https://<tm server>/workspaces/secure/api/v1/txn/unassign
POST Body
The POST request must contain a JSON structure describing the txn query.
To support multiple parameters this API uses the HTTP Content Type: application/json
The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response
Attribute | Type | Description |
---|---|---|
params | Map | A map containing the unassign attributes (required) |
Supported Unassign Attributes
The unassign attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.
Unassign Attributes | Type | Description |
---|---|---|
submitKey | String | The submit key property of the task to assign (required) |
Example: Unassign Txn
Please ensure you specify Content-Type: application/json
POST <b>/workspaces/secure/api/v1/txn/unassign</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
"params": {
"submitKey": "15d071280b92c867f86975b9cd2e8765"
}
}
200 Response
The returning of a 200 Response signifies the task was successfully unassigned and that no errors occurred during the execution of the API.
Error Messages
Error Key | Error | Error Code |
---|---|---|
accessDenied | The user does not have access to transaction specified by the submitKey | 400 - Bad Request |
internalServerError | 500 - Internal Server Error | |
notGroupTask | The transaction specified by the submitKey is not group assigned transaction | 400 - Bad Request |
submitKeyNotSpecified | submitKey not specified | 400 - Bad Request |
txnAlreadyFinished | The transaction specified by the submitKey is already been finished (Completed or Abandoned) | 400 - Bad Request |
txnNotFound | The transaction specified by the submitKey was not found | 400 - Bad Request |
txnNotTask | The transaction specified by the submitKey is not a task | 400 - Bad Request |
Error Responses
- 400 - Bad Request
- Bad request or request parameter. Check error message for details.
- 404 - Not Found
- Ensure the URL endpoint is entered correctly.
- 500 - Internal Server Error
- Exception occurred in txn unassign. Contact administrator.