Event-Driven Notification Platform  ·  View 05 of 26  ·  2 · Structure

Integration and Interface Catalogue

Every way something enters or leaves the platform, with protocol, cadence and owner.

Editable source SVG draw.io All views
Inbound — who calls us
Inbound — who calls us
Business applications
Business applications
Campaign Manager
Campaign Manager
Native Kafka producers
Native Kafka producers
Transactional callers
Transactional callers
Admin Console
Admin Console
Recipient apps
Recipient apps
Template GitOps
Template GitOps
Platform
Platform
Notification Platform
OpenAPI 3.1 · AsyncAPI 3
Notification Platform...
Outbound — what we call
Outbound — what we call
Postal and Amazon SES
Postal and Amazon SES
Jasmin and Twilio
Jasmin and Twilio
FCM and APNs
FCM and APNs
Slack and Teams
Slack and Teams
Partner webhooks
Partner webhooks
Customer Master
Customer Master
Keycloak
Keycloak
HashiCorp Vault
HashiCorp Vault
POST /v1/events
POST /v1/events
bulk API · 10 k/batch
bulk API · 10 k/batch
SASL/SCRAM · Avro
SASL/SCRAM · Avro
POST /v1/notifications
POST /v1/notifications
REST + OIDC
REST + OIDC
WebSocket inbox
WebSocket inbox
signed bundle
signed bundle
SMTP · REST
SMTP · REST
SMPP 3.4
SMPP 3.4
HTTP/2
HTTP/2
chat webhook
chat webhook
HMAC POST
HMAC POST
gRPC lookup
gRPC lookup
JWKS
JWKS
1 h lease
1 h lease
Integration and Interface Catalogue
Integration and Interface Catalogue
External / third party
External / third party
Application we own
Application we own
Interface / broker
Interface / broker
Security / platform
Security / platform
synchronous
synchronous
batch
batch
Every inbound interface is versioned and contract-tested in CI. Every outbound provider has a documented second vendor; none is a platform dependency.
Every inbound interface is versioned and contract-tested in CI. Every outbound provider has a documented second vendor; none is a platform dependency.
v 1.0 · owner Data & AI Global Practice · date 2026-08
v 1.0 · owner Data & AI Global Practice · date 2026-08
Text is not SVG - cannot display

Producer API surface

  • POST /v1/events — the main path, asynchronous, returns 202 with an event id
  • POST /v1/notifications — direct send for callers that already know the decision
  • GET /v1/notifications/{id} and /delivery-status — lifecycle inspection
  • Preference, template and admin APIs, all OpenAPI 3.1; the event contract is published as AsyncAPI 3

Provider policy

  • Two vendors per channel, ranked, with automatic failover — no provider is a platform dependency
  • Credentials are per tenant and leased from Vault for one hour; nothing is baked into an image
  • A new provider is a client implementation plus a config row, not a release

Risks

  • Native Kafka producers bypass the gateway, so schema and quota enforcement move to broker-side ACLs and the registry — weaker than the HTTP path
  • FCM and APNs have no second vendor; the only fallback for push is degrading to SMS or in-app