Skip to content
Developerhome

Offboarding

  Less than to read

This walkthrough covers the API flow for offboarding. This is caused when a customer disconnects from in their product. In this guide we will walk through the API calls made to and from the Banking Service from your application and consuming product to demonstrate the offboarding flow detailed in our Postman collection.

Overview

  1. A call is made to Banking Service to initiate deletion of their account in the service.
  2. Banking Service will call the /notification endpoint to let the provider know this account has been disconnected in Banking Service.
  3. The provider can perform any action required for clean up.

API flow diagram

Flow diagram displaying the authorisation flow

Participant description
  • Product The Sage product which is currently integrated with banking service UI using consumer API.
  • UI The user interface which allows the Sage user to search for a bank and allows them to authenticate.
  • Banking Service Banking Service handles the calls from the consuming API which Sage products use to interact with Banking Service. Also handling the provider API which handles the connection from any 3rd party provider.
  • Sage ID Sage ID is used to secure all requests into the provider API. You will use Sage ID to obtain your access token.
  • Provider This refers to the 3rd party who is integrating with Banking Service. This 3rd party connector will need to contain the connector API endpoints to be able to handle the Banking Service flows and recieve data.

1. User disconnects

When the user chooses to disconnect their account, the consuming product will send a DELETE request to the Banking Service specifying the ID of the account to be deleted. This initiates the deletion of their account.

POST /notification

Connector APIBanking Service -> Provider

When the account is removed, the Banking Service will set the status of this account to cancelled and notify the provider by calling the /notification endpoint with the following payload. The provider can then perform any action required for clean up.

{
  "type": "resourceDeleted",
  "resource": {
    "id": "36aed119-675f-4507-9da3-06a5914d95ee",
    "type": "bankAccount",
    "url": "NA"
  },
  "additionalData": {
    "externalId": "13b437a2-e0bb-4d06-8dc1-618ea2b6a723:0b035aef-9e1e-406e-9815-06409757f05e",
    "bankId": "10aaeee6-4691-4443-8198-df39aaa8007c"
  }
}

Description of the fields:

  • resource.id: The identifier of the bankAccount resource being deleted.
  • additionalData.externalId: The externalId that was provided to Banking Service by the provider in the PATCH /authorisations call.

Test offboarding

Test description Expected outcome
A customer needs to be able to offboard their account through the consuming product. The bank account status field should be set to ‘cancelled’ which is returned when calling to the GET /bankaccounts endpoint.

Recap

In this walkthrough we have gone through the Banking Service flow for when a customer disconnects their account. We have shown how the consuming product initiates this process with the Banking Service and how the provider is notified after the account has been cancelled.


What’s next?

Discover the Banking Service test plan to ensure your solution is working as expected.


Was this helpful?