Mobile Event Personalization Service

Event-based personalization service for Mobile Engage campaigns using V3 Personalization Service (event/PubSub-based). This service receives contact level personalization requests via Pub/Sub, processes them through the Personalization Service, and handles the results or errors accordingly.

The service implements three core processes:

  1. Request Publishing - Batches and sends personalization requests (batch and/or transactional)

  2. Results Handling - Processes successful personalizations and forwards to downstream services

  3. Errors Handling - Manages failures with retry logic and error reporting

Features

  • Pipeline-based processing with composable steps

  • Channel abstraction for multiple communication channels (Push, Embedded Messaging)

  • Batch and transactional processing modes

  • Message batching and grouping

  • Graceful shutdown with configurable grace period

  • Automatic retry with exponential backoff

  • Retry count tracking and validation

  • Error alerting per channel

  • Permanent vs retryable error classification

  • Manual republishing tool for transient errors

  • Campaign/Template caching with LRU and TTL

  • OpenTelemetry metrics (processing duration and batch size)

  • Structured logging with zerolog

  • Campaign and customer abort/cancellation support

  • Multiple distribution groups support

  • Downstream service integration

Operations

Architecture