Contextual Deep Linking

Provide multiple links into your Application

Overview

Contextual deep links are entry points from an Account Servicer's digital proposition, a platform, directly into specific flows and functionality within your Application. They specify a simple contract for the embedded App Store elements in the platform frontend that ensure they are displayed to the End-User in contexts that make sense. Deep links also ensure the necessary contextual information—e.g. selected Customer or Account ID—is passed along.


Why are they beneficial?

Deep links allow the End-User, a Financial Advisor in the case of a platform, to seamlessly navigate between the myriad of digital tools that make up their advice workflow.

They provide the flexibility to piece together an end-to-end solution—whether that is curated on their behalf by the platform provider, chosen by the advisers themselves from amongst the tooling they love, or something in between.

1. How to add contextual deep links to your Application?

Deep links can be added to an application under the basic details section of the Tapico Developer Portal. These can be added during the initial app creation, or edited subsequently.

1000

Add Deep Links on the Basic Details page on the Tapico Developer Portal

 

2. Creating a Deep Link

Each deep link consists of a label, a URL and a selection of link contexts:

  1. Label - The label should be something meaningful that describes the location and/or functionality within your application.

  2. Link URL - The Link URL is the URL address to the related page on your Application.

  3. Link Contexts - The Link Contexts specify the contexts or locations in the platform provider frontend under which the link should display. Link Contexts also determine what properties are contained in the context object passed along when the user is navigated to the app via the deep link.

🚧

Remember

Not all link contexts are supported across all adviser platforms. However, f you have a single location and/or function that works in all contexts, you can select All to have your deep link appear in all available contexts on a platform.

1968

Deep Link configuration modal

There is no limit on the number of deep links your Application can support

1452

Created Deep Links are displayed on the Basic Details page in the context of your Application

 

3. How is this all delivered to the end user?

The App Store is embedded within connected platforms under various frontend contexts, including:

  • Selected Customer
  • Selected Account
  • Selected Product

The contextual launchpad displays integrated 3rd party App, including your Application, that the End-User has connected to the platform i.e. Successfully completed a Consent Journey.

1600

App Store launch pad displaying connected Apps to an End-User

Upon selecting an Application, deep links for that particular context are displayed as actions for that Application:

1600

Example of Deeplinks for an Application

Alternatively, the End-User can search functionality in the launchpad to quickly access actions across all their connected apps:

1553

Launchpad Smart Search

 

4. How does your Application receive the context from the platform?

4.1. Obtaining the context - The context query string parameter

After the End-User has subscribed to your Application they will be able to open it from the launchpad as illustrated above. When the Application is launched in a particular context, they are directed to the URL configured against your deep link.

A context query string parameter is appended to this URL. An example with the demo FIRE Calculator App is below:

https://fire.sandbox.tapico.cloud/sso?accountServicerId=98a9a9cc-a4c0-4a87-92ca-451f094941b1&context=eyJjdXN0b21lcklkIjoiMDE1LTAwMDAzNTI2MDcifQ%3D%3D

The context query string parameter is base64 encoded and contains an identifier representing the type of entity the End-User was in the context of when they clicked your deep link.

4.2. Decoding the context query string parameter

Once the context query string parameter has been base64 decoded you will have a simple JSON object which contains the type of identifier and the identifier itself. For example:

{
	"customerId":"015-0000352607"
}

4.3. Using the context to retrieve the associated entity data

Now that you have extracted the identifier from the context parameter you can make a request to the Tapico API to retrieve the data for that entity.

The supported contexts are:

Context ParameterAPI Endpoint Example
customerIdGET /authorising-users/{{authorisingUserId}}/customers?accountServicerId={{accountServicerId}}&externalId={{customerId}}
accountGroupIdGET /authorising-users/{{authorisingUserId}}/account-groups?accountServicerId={{accountServicerId}}&externalId={{accountGroupId}}
accountIdGET /authorising-users/{{authorisingUserId}}/accounts?accountServicerId={{accountServicerId}}&externalId={{accountId}}
externalAccountIdGET /authorising-users/{{authorisingUserId}}/external-accounts?accountServicerId={{accountServicerId}}&externalId={{externalAccountId}}

You will need logic on the page which you have configured against the deep link which can extract the context parameter and then do the lookup for the associated entity. See API Endpoint Example above for requests that your application can make in relation to each entity.

This can then be used to navigate the End-User directly to a location in your Application relevant to that entity e.g. instead of the user landing on a generic “dashboard” type page when they are redirected to your Application you can send them to a page which contains your desired context.

 

Landing Page URL

Regardless of whether you decide to set up any deep links, you'll need to provide a Landing Page URL - In the absence of deep links or in user journeys where deep links cannot be applied, this is the default location in your application where we'll redirect users.

For example, if a user is browsing the list of available applications and clicks on yours to get more information, we'll send them to the configured Landing Page URL.

846

Landing Page URL - The default landing page in your Application in cases where deeplinks do not apply.