Skip to main content

Version: 24.04

Application Flow

Starting the application

The application lifecycle or flow begins by creating and loading a new transaction via one or two API calls.

This can be achieved via calling the 'Form Load' command for applications hosted on Manager.

If you are planning on hosting an application outside of Manager you must call the 'Form New' operation to create the new transaction then call the 'Form Load' command to load the prefill data. Both of these commands can also be used to retrieve previously saved application. For more information about the Form Load API, see formLoad.

The data returned by the Form Load command should be merged into your client side state.

After the state has been initialized, call the 'Form Init' command to record initialization performance in Manager. This is done automatically in the Core library after Form Load.

During the application flow

As soon as the user starts interacting with the form (when data changes or when user changes page / route), call the 'Form Start' command. This will record the time in which the user has first started using the application.

When the user changes page or route, call the 'Form Update' command with the current client-side state as the form data. This will perform a background save in Manager as well as allow you to run a server-side form function; for example, this could run business logic such as creating a customer or validating a current customer.

A Form Update command can also return form data if the form function is setup to return it. This could include further prefill or data for driving business logic, and should be merged into your current client-side state. Furthermore, the Form Update request can also be used to add or remove attachments. For more information about the Form Update API, see formUpdate.

If the application requires additional data for a component and that data shouldn't be stored in the state, you can use a 'Form Function' command to retrieve that data. An example where you might use this is an address lookup list.

Finishing the application flow

The application flow can end in various ways depending on the scenario.

User-Initiated Save

A user-initiated save operation is performed by calling the 'User Save' command, this is usually done on a button click.

The application should display a save confirmation page after this operation.

User-Initiated Submit

A user-initiated submit operation is performed by calling the 'User Submit' command.

Usually performed after clicking the submit button on the final page of the user journey.

The application should display an application completed confirmation page after this operation.

User-Initiated Abandonment

A user-initiated cancel abandonment operation is performed by calling the 'User Cancel' command, this is usually done on a button click.

The application should display a cancel confirmation page after this operation.

Application-Initiated Abandonment

An application-initiated ineligible abandonment operation is performed by calling the 'Form Ineligible' command.

The application should display a custom page after this operation preventing the user from performing further work.

Resuming a saved application

A previously saved application can be resumed by calling the 'Form Load' command. This returns the previously saved applications form data.

Applications not hosted on Journey Manager

Resuming an application not hosted on Journey Manager requires you to perform a 'Form New' command before the Form Load command. The trackingCode parameter is required in both calls.

Flow diagrams

There are two potential flows when creating an Open UX application:

  • Application hosted on Manager
  • Application not hosted on Manager

Hosted on Manager

This flow is for when the Journey platform is rendering the Open UX application, providing platform features such as security and CDN support.

A diagram showing the Open UX Flow for an application hosted on Journey Manager

Not hosted on Manager

This flow is for when the Open UX application is not being rendered by Journey platform, but instead is rendered by another system such as a content management system (CMS).

A diagram showing the Open UX Flow for an application not hosted on Journey Manager

Postman API Collection

The Open UX API collection is a Postman collection that demonstrates how the Open UX APIs work in an externally hosted application.