Insights

A successfully finished flow returns a consumer identifier and the available account identifiers for this consumer. These IDs will be needed later to specify the consumer/account for which a report should be generated. To check if this flow was finished successfully, the client backend server needs to call the flow-finished-callback.

Request Body Structure of an Insights Flow

{
    "intended_reports" : ?Array<IntendedReport>,
    "refresh_days": ?int,
    "from_date": ?Date,
    "to_date": ?Date,
    "accounts" : ?RefreshFlowAccounts,
    "insights_consumer_id" : ?string,
    "data_retention_minutes" : ?int,
    "store_consent": ?enum<'NO', 'REQUIRED', 'OPTIONAL'>
}

intended_reports IntendedReport[], optional

The intended_reports specifies which reports should later be generated with the extracted data. Using this property reduces the amount of data that is extracted form the consumers account. As default data for all available reports are extracted.

refresh_days Integer, optional

If refresh_days is specified the parameters from_date and to_date will be derived from current day (today) minus the given number of days.

The timeframe for which the data should be refreshed can be set by specifying either the from_date and to_date parameters or the refresh_days parameter. If no timeframe is specified, the default timeframe of the last 62 days will be used.

from_date Date (String: "YYYY-MM-DD"), optional

The from_date property (in combination with the to_date property) will be used as the start date for the account information to be retrieved. It has to be provided in the YYYY-MM-DD format according to ISO 8601.

The timeframe for which the data should be refreshed can be set by specifying either the from_date and to_date parameters or the refresh_days parameter. If no timeframe is specified, the default timeframe of the last 62 days will be used.

to_date Date (String: "YYYY-MM-DD"), optional

The to_date property (in combination with the from_date property) will be used as the end date for the account information to be retrieved. It has to be provided in the YYYY-MM-DD format according to ISO 8601.

The timeframe for which the data should be refreshed can be set by specifying either the from_date and to_date parameters or the refresh_days parameter. If no timeframe is specified, the default timeframe of the last 62 days will be used.

accounts RefreshFlowAccounts, optional

Defines the accounts of which data will be refreshed. If this property is not set the consumer is asked to select one account similar to setting the accounts.type to CONSUMER_SELECTED.

insights_consumer_id String, optional

This insights_consumer_id will be used to identify a consumer and all data retrieved in this flow will be assigned to this consumer. Any string with less than 128 characters can be used to identify the consumer. If left empty, a new identifier will be generated and returned in the response to this call. If the accounts parameter will select accounts via their respective insights_account_id the insights_consumer_id must be set.

data_retention_minutes int, optional

The number of minutes that the data are stored. Default is 10 minutes.

store_consent Enum, optional

The store_consent flag configures if the consent related to the account should be received an stored:

  • choose NO to not store the consent. This is the default value.
  • choose REQUIRED to store the consent and fail if no consent is available. A reason for no consent to be available is if there is no PSD2 connection used for the specific bank.
  • choose OPTIONAL to try to store the consent flag and not fail if it is not available.

RefreshFlowAccounts

{
    "type": ?enum<'ALL', 'CONSUMER_SELECTED', 'PRESELECTED'>
    "selected_accounts": ?Array<{
        "iban": ?string,
        "insights_account_id": ?string,
        "account_id": ?string
    }>
}

type Enum, optional

Defines which accounts should be refreshed:

  • ALL: Data for all bank accounts that will be available in the session will be refreshed.
  • CONSUMER_SELECTED: The consumer is asked to select one of the accounts that is available in the session.
  • PRESELECTED: The data of accounts defined through the selected_accounts-field will be refreshed.

The default value is CONSUMER_SELECTED.

selected_accounts SelectedAccount[], optional

In case only some accounts of the consumer should be refreshed, this property should be used.

Exactly one of the fields must be set and it must be the same field for all SelectedAccount-objects. E.g. if the iban is set, all other SelectedAccount-objects also must have the iban set.

selected_accounts.iban String, optional

The IBAN of the account to be refreshed.

selected_accounts.insights_account_id String, optional

The insights_account_id of the account to be refreshed. The corresponding insights_consumer_id is required in the Insights Flow.

selected_accounts.account_id String, optional

The account identifier, as provided in the result of an accounts flow.

Response Structure of a successful Flow

{
    "data": {
        "state" : enum<'PROCESSING', 'CONSUMER_INPUT_NEEDED', 'ABORTED', 'EXCEPTION', 'FINISHED'>,
        "result" : ?{
            "type" : enum<'error', 'insights_refresh'>,
            "accounts" : Array<RefreshFlowResponseAccount>,
            "insights_consumer_id" : string,
            "store_consent_result": enum<'NOT_STORED', 'STORED'>,
            "category" : ?string,
            "message" : ?string
        }
    }
}

state String, always present

The state property holds the current state of the flow. Find a more detailed description here

result Object, optional

The result property holds the data returned by the Insights-Refresh flow.

result.type String, always present

For successful flows the type property always holds the value insights_refresh.

result.accounts RefreshFlowResponseAccount[], always present

The accounts will be a list of type RefreshFlowResponseAccount, listing the available accounts to generate reports from.

result.insights_consumer_id String, always present

The retrieved data was stored with this insights_consumer_id. It can be used to identify this consumer when generating a report later.

result.message String, optional

If the state is EXCEPTION this property can contain an error message

result.category String, optional

If the state is EXCEPTION this property can contain an error category

result.store_consent_result Enum, always present

Shows if the consent related to this account was stored or not.

RefreshFlowResponseAccount

{
    "insights_account_id": string,
    "iban": ?string,
    "account_id": ?string
}

insights_account_id String, always present

The Account-Insights-Id of this account, use to create reports or do future refreshs.

iban String, optional

The IBAN of this account. Only present if set in the request accounts.selected_accounts.iban.

account_id String, optional

The account id of this account, Only present if set in the request accounts.selected_accounts.account_id.

Example Response for a successful Insights Flow

{    

  "data": {
    "state": "FINISHED",
    "result": {
      "type": "insights_refresh",
      "accounts": [
        {
          "insights_account_id": "8ed4ac35-04b0-4c4f-a283-41b6e387c422"
        }
      ],
      "insights_consumer_id": "3dbd396b-f8ef-4ab6-9cd8-c5426eafb212"
    }
  }
}

results matching ""

    No results matching ""