Introduction to ZIO Webhooks
ZIO Webhooks is a microlibrary for reliable and persistent webhook delivery.
Below is a state diagram for each webhook handled by a server. Note that there aren't any initial or final states as the server doesn't manage the entire lifecycle of webhooks and events—only the subset needed for reliable webhook delivery.
stateDiagram-v2
Enabled --> Disabled : disabled externally
Enabled --> Enabled : event dispatch success
Disabled --> Enabled : enabled externally
Enabled --> Retrying : event dispatch failure
Retrying --> Enabled : retry queue emptied
Retrying --> Unavailable : continuous failure for duration D
Unavailable --> Enabled : enabled externally
Unavailable --> Disabled : disabled externally
Installation
Include ZIO Webhooks in your project by adding the following to your build.sbt
:
libraryDependencies += "dev.zio" %% "zio-webhooks" % "0.2.1"