A step represents a single screen in a flow. It is made up of schemas, which represent data to be collected from the user, layouts which describe how the screen looks, and a number of advanced features to provide more complex behaviors.
A response is determined to be a Step when the status code is in the 200-299 range, the exit property in the triggering action was not set to true, and the X-DF-Response-Type: step header is provided.
| Property | Type | Required | Description |
|---|---|---|---|
analytics | Map<String, String> | No | Additional data to be included in analytics events. The keys/values in this object will be included in all events generated by clients. |
| String | No | Specify a particular control to instruct how the step should be rendered. If the control is unknown, it will be ignored.
|
description | String | No | A user-facing subtitle. |
errors | StepError | No | Errors which will be shown when the step loads. |
external | External | No | Used to configure an app or web page to be opened when the step is first loaded. |
id | String | Yes | An identifier which is added to analytics events as stepId. |
layout | Array<Layout> | Yes | An array of layouts describing how the step should be structured. |
linkHandlers | Array<LinkHandler> | No | Used to configure deep/universal link handling, allowing the flow to progress based on incoming redirects/links. |
model | Any | No | The data to use when initialising the step. It must follow the structure the schemas array describes, and any data which doesn't correspond to the schema is ignored. |
| No | Used to configure navigational behavior of the step, for example to provide an Action to perform when navigating back.
| |
polling | Polling | No | Used to configure a polling behavior, allowing the flow to progress automatically. |
refreshUrl | String | No | The URL to use to fetch an updated step when the value of a schema marked refreshStepOnChange is updated. |
schemas | Array<Schema> | Yes | An array of schemas describing the data for the user to input. Each root schemas which should be displayed to the user must be referenced by a Form Layout in the layout property. If a schema is not referenced by a Form Layout, it won't be displayed, but it will still be submitted. On submission, the values corresponding to each element in the schemas array will be merged, as if they were contained in an All Of Schema. |
title | String | Yes | A user-facing title. |