Skip to main content

DES Events

Events sent from DES to the Bank App via the iframe or WebView.

Complete Schema

Loading ....

See below for more details on each event.

onAccountProvisionRequested

Loading ....
// Example
{
"event": "onAccountProvisionRequested",
"message": {
"requestId": "a2313192-e2dc-452e-b56c-2f23baf6eee1"
}
}

This event signals that the End User needs a savings account in order to continue using the Impact Finance app, and your Bank App should take over the user journey to set up such an account. This takes place the first time the End User launches a Savehack, after creating a Dream.

When the End User has taken all necessary steps to provision an account, accountProvisioned should be sent back to DES.

onExitRequested

Loading ....
// Example
{
"event": "onExitRequested",
"message": {}
}

This event signals that DES experience should be closed.

onIdTokenDidExpire

Loading ....
// Example
{
"event": "onIdTokenDidExpire",
"message": {
"requestId": "a2313192-e2dc-452e-b56c-2f23baf6eee1"
}
}

If using "token-renewed sessions", this event is sent 30 seconds before the session expires.

If the session should be kept alive, respond with updateToken.

onPageReadyEvent

Loading ....
// Example
{
"event": "onPageReadyEvent",
"message": {}
}

This message is sent once, after the user session is created and the first page (usually the overview page) is loaded.

onShare

Loading ....
// Example
{
"event": "onShare",
"message": {
"url": "",
"title": "Let's save together",
"text": "Jane is using <Bank App> and invited you to save together for their dream Vacation..."
}
}

The End User has requested to share some content to their friend(s). You Bank app should take over and use appropriate native share functionality for the platform, such as:

onTelemetryEvent

Loading ....
// Example:
{
"event": "onTelemetryEvent",
"message": {
"name": "UserClicked",
"payload": {}
}
}

So far only UserClicked telemetry event exists. The event will be sent anytime the End User clicks a link or a button in the DES experience.

onTransferConsentRequested

Loading ....
// Example:
{
"event": "onTransferConsentRequested",
"message": {
"requestId": "9876e07a-8aec-422c-845d-c70db7df14aa",
"consentId": "0b723ca9-4b47-4b6e-84f6-03da8df17f3a"
}
}

DES will send this event when a Transfer Consent is needed from the End User before DES can start requesting money transfers. Your Bank App should take over the user journey to create such a consent.

  • consentId is a temporary id assigned to the consent. Later on it can be used in API request to get the real consent. (It can be used only once and is valid for 30 seconds.)
  • requestId is used in the follow up in the onTransferConsentSucceeded and onTransferConsentCancelled