The overall design of this framework is open and extensible (implementing the traditional Open-Closed Principle), which means base contracts can be extended, composed, or replaced.
It is possible to use its components as they are provided or use the base contracts to extend single functions, while still using the rest of the provisioning.
The framework provides three major capabilities to the applications using its libraries
Capability | Description |
---|---|
Send Webhooks | Send a Webhook message to a receiver, enforcing formatting, integrity and retry rules |
Notify Webhooks | Communicate the occurrence of an event in a system to an external application that is listening for those events |
Receive Webhooks | Accepts and processes a notification from an external system, to trigger any related process |
The two sending capabilities (send and notify) are disconnected from the receiving capability, since they represent two different parts of the communication channel (the Sender and the Receiver): as such the architecture of the framework is designed so that they don't depend on each other's.