Introduction

Flowingly provides an API through which step field values can be saved/updated. This provides Flowingly customers an option to integrate third party systems with Flowingly.

API

Flowingly API to update step fields is available at the following url:

1 HTTP POST {baseurl}/public/flow/{flowIdentifier}/step/{stepIdentifier}

  • {flowIdentifier} - Flow Identifier to uniquely identify such as FLOW-12345.

  • {stepIdentifier} - Name of the step in a flow as defined in Modeler.

For example:

https://publicapi.flowingly.net/public/flow/FLOW-604/step/New Customer (Debtor) Form

Process

The API upon receiving the request first authorizes the request with access token in Authorization header. Once request is authorized then request payload model and field values are validated. Then the step field values are updated. Following diagram depicts this process.

Supported Field Types

Following table list outs field type currently supported for update via API and their example values.

Validation

Each field is validated against the rule configured via modeler. If the validation rule set contains any custom error message then those are used by the api when returning validation error response. If no such custom error message is set then an appropriate default validation error response is returned.

Field Type

Example Value

Notes

Short Text

1{ 2 "name": "Short text", 3 "type": "Text", 4 "order": 1, 5 "identifier": "field70872750533", 6 "value": "This is a short text", 7 "options": null 8}

In this example, value for field Short text will be set as This is a short text

Long Text

1{ 2 "name": "Long text", 3 "type": "TextArea", 4 "order": 2, 5 "identifier": "field61149927186", 6 "value": "This is a long text.", 7 "options": null 8}

In this example, value for field Long text will be set as This is a long text.

Dropdown List/Single Select List

1{ 2 "name": "Dropdown list", 3 "type": "SelectList", 4 "order": 3, 5 "identifier": "field61149927188", 6 "value": { 7 "key": "2", 8 "value": "Option 2", 9 "isSelected": true 10 }, 11 "options": null 12}

In this example, value for this field Dropdown list will be set as Option 1

Model: Value for this field must match the model in the example. The first 10,000 options available for this field are returned in the HTTP GET api. To set a value for this field the “isSelected” property must be set to true.

Option List

1{ 2 "name": "Option list", 3 "type": "RadioButtonList", 4 "order": 4, 5 "identifier": "field61149927190", 6 "value": { 7 "key": "1", 8 "value": "Option 1", 9 "isSelected": true 10 }, 11 "options": null 12}

In this example, the value selected for field Option list is Option 1

Model: Value for this field must match the model in the example. The first 10,000 options available for this field are returned in the HTTP GET api. To set a value for this field the “isSelected” property must be set to true.

Check Box

1{ 2 "name": "Check box", 3 "type": "CheckBox", 4 "order": 5, 5 "identifier": "field61149927192", 6 "value": "true", 7 "options": null 8}

In this example, the field Check box will be checked

To mark this field as check “true“ must be passed in and “false” to un-check.

Multi-selection List

1{ 2 "name": "Multi-selection list", 3 "type": "MultiSelectList", 4 "order": 6, 5 "identifier": "field61149927196", 6 "value": [ 7 { 8 "key": "1", 9 "value": "Option 1", 10 "isSelected": true 11 }, 12 { 13 "key": "2", 14 "value": "Option 2", 15 "isSelected": false 16 }, 17 { 18 "key": "3", 19 "value": "Option 3", 20 "isSelected": true 21 } 22 ], 23 "options": null 24}

In this example, field Multi-selection list will have Option 1 and Option 3 selected.

Model: Value for this field must match the model in the example. The first 10,000 options available for this field are returned in the HTTP GET api. To set values for this field the “isSelected” property must be set to true for each option. To unset any previously set field “isSelected” property must be set as false.

Email

1{ 2 "name": "Email", 3 "type": "Email", 4 "order": 7, 5 "identifier": "field61149927198", 6 "value": "harvy@flowingly.net", 7 "options": null 8}

In this example, value for field Email will be set as harvy@flowingly.net

Value must be in a valid email format.

Date

1{ 2 "name": "Date of birth", 3 "type": "Date", 4 "order": 8, 5 "identifier": "field61149927200", 6 "value": "19/07/1990", 7 "options": null 8}

In this example, value for field Date of birth will be set as 19/07/1990

Value must be in the format: "dd/MM/yyyy"

Only Custom Value validation rule is processed other Custom Validation rules Step Created Date and Previous Field Value are not processed. However these are processed in Runner.

DateTime

1{ 2 "name": "Date Time", 3 "type": "Datetime", 4 "order": 9, 5 "identifier": "field61149927202", 6 "value": "02/07/2021 02:05:00 PM", 7 "options": null 8}

In this example, value for field Date Time will be set as 02/07/2021 02:05:00 PM

Value must be in the format: "dd/MM/yyyy hh:mm:ss tt"

Only Custom Value validation rule is processed other Custom Validation rule Previous Field Value are not processed. However these are processed in Runner.

Currency

1{ 2 "name": "Expense", 3 "type": "Currency", 4 "order": 10, 5 "identifier": "field61149927204", 6 "value": 5000.50, 7 "options": null 8}

In this example, value for field Expense will be set as 5000.50, if any currency code is configured for this field in Modeler then that will also be set.

This field has a maximum allowed length of 15

Only Custom Value validation rule is processed other Custom Validation rule Previous Field Value are not processed. However these are processed in Runner.

Number

1{ 2 "name": "Age", 3 "type": "Number", 4 "order": 11, 5 "identifier": "field61149927206", 6 "value": 35, 7 "options": null 8}

In this example, value for field Age will be set as 35

This field has a maximum allowed length of 15

Only Custom Value validation rule is processed other Custom Validation rule Previous Field Value are not processed. However these are processed in Runner.

Did this answer your question?