Skip to main content

Plugin service

Overview

The goal of the Plugin service is to allow software components to both provide and use pluggable services within the Banqup platform.
It exposes two core components: Plugin Interfaces and Plugins. Plugins can be registered for a specific plugin interface for which they then have to provide the necessary data that plugin interface requires.

Let's consider the following example: Service A wants to send data to any other service that is interested and Service B is interested.

Service A registers a plugin interface to the Banqup platform and defines a schema for it. This schema will force plugins to comply with what the plugin interface expects.
In this particular example service A will require interested parties to provide them with an endpoint to where the data should be sent.
Service B will register a plugin for the plugin interface that service A has contributed to the Banqup platform. Service B will implement the endpoint where the data should be sent and will provide this required endpoint during registration of the plugin.
When service A decides to start sending data, it can list all interested plugins, get the plugin's endpoint via the data it provided and start sending.

This example illustrates one use case. However, the Plugin service offers a wider range of applications, as the data a plugin interface can require is entirely free form.

Plugin Interfaces on the Banqup platform

The platform domain exposes the following plugin interfaces.
If you want to register a plugin for any of the listed plugin interfaces, you can consult the API guides or you can follow the step-by-step guides in the API recipes.
Note that this is not an exhaustive list of plugin interfaces available in Banqup. Every Banqup domain has its own plugin interfaces which will be made available in the API guides.