Skip to content

Client library (desktop products only)

  Less than to read

The Banking Service Client Library is a .NET wrapper-dll; a convenient way for on-premises products to fully interact with the Banking Service API and the Token Service (for authentication). If you are a Developer for a Desktop application team, please Contact us us to request read access to the Client Library; this will enable you to access the builds and source code.

  • Git repo
  • Master builds
  • The library can be found in the BankDriveClientLibrary\bin\Release folder
  • We additionally provide a number of Test Apps

For a quick overview of the available methods, have a look at the interface IApiWrapper; these largely map verbatim to the corresponding API Endpoints and Operations (See Interacting with the API).

The client library solution comprises of:

  • AccountantTestApp – Purely supports testing elements of the API that are for accountants.
  • BankDriveBasicTestApp – Provides a UI for exercising each of the elements of the Client Library from the perspective of an accounts product.
  • BankDriveTokenServiceTestApp – UI for exercising the element of the Client Library that work with the Token Service.
  • Sage.BankingCloud.Client – Main Client Library assembly.
  • Sage.BankingCloud.WindowsUI – Client Library UI elements. Supports presenting HTML responses from Banking Service.
  • TestFramework – To Support automated regression of the client library.
  • When working with the Client Library the calling process must be setup to use TLS 1.2 which Banking Service currently demands. The Test Applications demonstrates how this can be achieved.
  • When adopting the client library consider the implementation of the IKeyStorage mechanism. This is to persist and retrieve the key associated with calls for a customer’s organisation. This implementation should be tested both under normal use creating and accessing organisations, as well as when a Key Rotation is triggered by Banking Service.
  • Before making any calls/requests to Banking Service it is important to call ‘SetProductHeader’ (using your Product ID), and ‘SetProviderHeader’ (using your Provider ID). Internally the client library sets the headers x-application and x-provider from these values for each request; the latter is only set and used during calls to the Token Service.