Message Service API
What are messages and how do they work?
Messages are notifications that are sent to alert other listening components about actions performed on the platform. For example, several components might be interested to be notified when a new document has been uploaded in the UI: reconciliation, signing, accounting software etc.
To be able to receive these messages, you need to register an extension with the Message Listeners extension point, using the Register an extension endpoint. Because not all components will be interested in all messages, this API allows you to filter exactly what messages you want to receive, using different message categories and types.
Access limitations
Keep in mind that certain access limitations exist that control sending/receiving messages, so users might need certain permissions to send/listen to messages belonging to a specific category/type or to register an extension.
Authorization callbacks
When a user attempts to register a listener for a specific category of messages (e.g. documents), the Message Service will perform a callback to a messageAuthorizer that verifies if the user has permission to listen to document-related messages.
Example: A user registers a message listener within the Plugin Service. At this point, the Plugin Service will call the Message Service to check if the user is authorized to register the listener and check the category filter of the message (e.g., documents), specified by the user in the initial registration request. Then, the Message Service calls the messageAuthorizer to check if the listener has permissions to receive messages belonging to that category.
Additionally, it is possible for the messageAuthorizer to respond with additional information regarding message filters, which is added to the authorizationInfo and returned to the Plugin Service to be stored with the extension. This can help the Message Service decide later on if a message that is produced should be sent to this listener or not.
Authentication
- OAuth 2.0: message
Security Scheme Type: | oauth2 |
---|---|
OAuth Flow (authorizationCode): | Authorization URL: https://api.btx.fr.banqup.com/v1/oauth20/authorization Scopes: |