Personalization data/activity ingestion service.
License
—
Deps
4
Install Size
—
Vulns
✓ 0
Published
Nov 24, 2025
$ dotnet add package Personalization.Ingestion# Personalization.Ingestion
The `Personalization.Ingestion` library provides a streamlined way for services to forward significant customer-related events such as life milestones, location-based activities, and account management suggestions to a centralized Event Hub for further personalization processing.
This package is designed to work as a plug-and-play telemetry and event reporting tool across services within an enterprise application. It abstracts away the complexities of Azure messaging infrastructure while enforcing a consistent event schema.
---
## ✅ Features
- 🔄 Asynchronous event ingestion
- 🧩 Generic and reusable event structure
- ☁️ Built-in support for Azure Event Hub (more brokers can be supported)
- 🔐 Minimal setup using `IServiceCollection` (dependency injection ready)
- 📬 Easily extensible to send different types of events
---
## 📦 Installation
Use the .NET CLI to install the NuGet package:
```bash
dotnet add package Personalization.Ingestion --version 1.0.3
Register the service in Program.cs (for .NET 6+ or .NET 8):
builder.Services.AddPersonalizationServiceBus(options =>
{
options.MessageBrokerName = "<Azure Event Hub name>";
options.ConnectionString = "<Your Azure Event Hub connection string>";
options.MessageBrokerType = Personalization.Ingestion.Enums.MessageBrokerType.AzureEventHub;
});
Inject the IPersonalizationIngestionService into your class, controller, or middleware to publish events.
await personalizationIngestionService.IngestAsync(
new PersonalizationEvent<BiometricFlowRequestV2, ServiceResponse<BiometricFlowResponse>>
{
EventType = Personalization.Ingestion.Enums.PersonalizationEventType.Other,
Cif = "NA", // Or provide the customer identifier if known
Request = request,
Response = response,
ServiceName = "DIMEC",
StatusCode = response.IsSuccessful ? "200" : "400",
SecondaryCustomerIdentifier = request.DeviceIdentifier,
Timestamp = DateTime.UtcNow.AddHours(1) // Optional adjustment if needed
});
You can categorize events using PersonalizationEventType. Some supported types:
BirthdayWorkAnniversaryWeddingAnniversaryNYSCCompletedLocationOfferSecurityTipAccountSuggestionMobileFacialVerificationWebFacialVerificationOtherPlease report bugs or suggestions by opening an issue on your internal repo or reaching out to the maintainer.
Ensure your Event Hub connection string is securely stored and not hard-coded in your source files. Use secure configuration providers like Azure Key Vault or environment variables.
Internal Use Only – Proprietary to ALAT by Wema.