Platform
The platform layer between your applications and every provider you use.
A deeper look at the architecture, the routing engine, the template language, audit, multi-tenancy, and how new providers plug in.
01 · Architecture
Apps in. Routing through. Providers out. Inside your perimeter.
Three integration paths in. One routing engine in the middle. Pluggable provider adapters out. Multi-tenant from the data layer up.
- New appREST · SDK
- ServiceREST · SDK
- WorkerKafka
- Legacy ERPPostgreSQL pull
- APIREST · SDK · CLI
- Routing enginePriority · percentile · round-robin
- Template engineSmart layout language
- AuditPII redaction · per-tenant trail
- Multi-tenancyRepository-level isolation
- Emailyour providers
- SMSyour providers
- Pushyour providers
- Chatyour providers
- Voiceyour providers
02 · Routing engine
Three strategies. One rule editor.
Priority, percentile, and round-robin verified in notification-core/.../utils/balancing/. Rules live in the admin UI, not in application code. Per-provider unit cost. Per-channel quotas.
Priority
Send through the preferred provider. Fall back on failure or saturation.
Percentile
Split traffic by weight. Move weights overnight without redeploying.
Round-robin
Even rotation across N providers when no preference applies.
03 · Templates
Smart layout language. One template, every channel.
Variables, conditionals, channel-aware blocks. Multi-language. Marketing or product owns the content; engineering doesn't get pinged for copy changes.
04 · Audit & observability
Every notification. Every configuration change. Every team — visible.
Notification analytics, vendor performance dashboards, audit log queries with PII redaction via the confidential event flag.
05 · Multi-tenancy
Isolation at the data layer. Not at the edge.
TenantContext + repository-level filters via the X-TENANT-ID header. Per-tenant providers. Per-tenant audit. Per-tenant routing.
06 · Extensibility
Adding a new provider is one Maven module.
Pluggable architecture verified in notification-vendors/. The catalog grows whenever a customer's market needs another carrier.