AugusteVN.Modules.EmailCampaigns._Shared 1.0.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package AugusteVN.Modules.EmailCampaigns._Shared --version 1.0.6
                    
NuGet\Install-Package AugusteVN.Modules.EmailCampaigns._Shared -Version 1.0.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AugusteVN.Modules.EmailCampaigns._Shared" Version="1.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AugusteVN.Modules.EmailCampaigns._Shared" Version="1.0.6" />
                    
Directory.Packages.props
<PackageReference Include="AugusteVN.Modules.EmailCampaigns._Shared" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AugusteVN.Modules.EmailCampaigns._Shared --version 1.0.6
                    
#r "nuget: AugusteVN.Modules.EmailCampaigns._Shared, 1.0.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AugusteVN.Modules.EmailCampaigns._Shared@1.0.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AugusteVN.Modules.EmailCampaigns._Shared&version=1.0.6
                    
Install as a Cake Addin
#tool nuget:?package=AugusteVN.Modules.EmailCampaigns._Shared&version=1.0.6
                    
Install as a Cake Tool

AugusteVN.Modules.EmailCampaigns._Shared

Contracts, DTOs, route constants, validators, enums, and utility helpers for the EmailCampaigns module.

Part of the AugusteVN Modules collection.


Key Types

Permissions

Flags enum used to authorize EmailCampaigns API endpoints via the .RequirePermission() endpoint filter.

Member Value Description
None 0 No access
ManageEmailCampaigns 1 Create, update, and manage email campaigns and templates
ManageEmailSubscribers 2 Manage email subscribers, subscriptions, and deletions
All ~None All permissions combined

EmailLists

Flags enum for per-category subscription management. Subscribers can opt in/out of specific lists, and campaigns/jobs target lists via TargetEmailList.

Member Value Description
None 0 No list
General 1 General news and updates
Content 2 Blog posts, articles, and educational content
Products 4 Product launches, promotions, and discount codes
All ~None All lists combined

EmailCampaignStatuses

String constants for the campaign lifecycle. Exposed as StatusList for validation.

Status Description
NotActive Campaign is draft or disabled
InTestMode Campaign sends only to test recipients
Active Campaign is live and sending to the target list

EmailTemplateStatuses

String constants for the template lifecycle. Exposed as StatusList for validation.

Status Description
NotActive Template is draft or disabled
InTestMode Template sends only in test mode
Active Template is live and sendable

EmailJobStatuses

String constants for the job lifecycle. Exposed as StatusList for validation.

Status Description
NotActive Job is draft or disabled
InTestMode Job sends only to test recipients
Active Job is live and processing subscribers

EmailTemplateTriggers

String constants defining when a template is sent. Exposed as TriggerList for validation.

Trigger Description
Sequence Sent as part of a multi-step campaign sequence
Subscribed Sent automatically when a subscriber opts in
OneOff Standalone one-time send

EmailMetricTypes

String constants for email tracking metric types.

Metric Description
Read Email opened (tracking pixel loaded)
LinkClicked A link in the email was clicked (proxied)
Unsubscribed Recipient unsubscribed via the unsubscribe link

EmailCampaignsConfig

Configuration class bound from appsettings.json.

Property Type Description
ApiBaseUrl string Base URL of the API for constructing proxy/tracking URLs
FrontendBaseUrl string Base URL of the frontend for constructing unsubscribe links

EmailHelper

Static utility class for email URL construction and body processing.

Method Description
ReplaceUrlsInBody(body, traceId, apiBaseUrl) Replaces all non-image URLs in the email body with proxied tracking URLs
ConstructProxyUrl(traceId, metricType, redirectUrl, apiBaseUrl) Builds a Base64-encoded proxy URL for metric tracking
ConstructUnsubscribeUrl(subscriberId, frontendBaseUrl) Builds a direct unsubscribe link for a subscriber
ConstructUnsubscribeProxyUrl(traceId, subscriberId, apiBaseUrl, frontendBaseUrl) Builds a proxied unsubscribe URL that tracks the event
ConstructUnsubscribeHeaders(unsubscribeUrl) Returns List-Unsubscribe and List-Unsubscribe-Post headers for RFC 8058 one-click compliance

Constants:

Constant Value Description
SponsorSegmentPlaceholder "@@SPONSOR_SEGMENT_PLACEHOLDER@@" Placeholder replaced with sponsor content at send time

EmailListsProvider

Static helper providing email list enumerations and metadata mappings.

Method Description
GetAll() Returns all EmailLists enum values
GetAllMapped() Returns EmailListMap records with name, description, and value for each list

ApiRoutes

Static route constants used by the API layer to register endpoint groups.

Constant Value Used By
EmailCampaigns "EmailCampaigns" Campaign CRUD and status endpoints
EmailTemplates "EmailTemplates" Template CRUD, status, and test endpoints
SentEmails "SentEmails" Sent email listing, metrics, and tracking pixel
EmailSubscribers "EmailSubscribers" Subscriber CRUD, count, and subscription management
EmailJobs "EmailJobs" Job CRUD and status endpoints

DTOs

Response Records

Record Key Properties Description
EmailCampaignResponse Id, Title, Description, EmailTemplates, Status, TargetEmailList, CreatedAt, LastModifiedAt, StartsAt Campaign with nested templates
EmailTemplateResponse Id, EmailCampaignId, Subject, BodyAsMarkdown, BodyAsHtml, BodyAsPlainText, SendDelayInDays, Trigger, Status, CreatedAt, LastModifiedAt Individual email template
EmailSubscriberResponse Id, Email, IsSubscribed, IsEmailConfirmed, EmailLists, Created Subscriber with list memberships
SentEmailResponse IsSuccess, EmailTemplateId, EmailCampaignId, TraceId, CreatedBy, EmailJobId Record of a single sent email
SentEmailMetricResponse SentEmailId, Type, EmailTemplateId, EmailCampaignId, TraceId, EmailJobId Single metric event (read/click/unsub)
EmailMetricCountResponse Count, Percentage Aggregated metric count with percentage
EmailJobResponse Id, TargetEmailList, StartsAt, Status, EmailTemplateId, EmailTemplate, CreatedAt, LastModifiedAt, PublishAsBlogPost, IncludeSponsorSegment Scheduled or triggered job
EmailListMap Name, Description, Value Metadata for an email list entry

Request Records

Request Key Properties Validator
CreateEmailCampaignRequest Title, Description, TargetEmailList, StartsAt CreateEmailCampaignRequestValidator
UpdateEmailCampaignStatusRequest Id, Status UpdateEmailCampaignStatusRequestValidator
CreateEmailTemplateRequest Subject, BodyAsMarkdown, BodyAsHtml, Trigger, EmailCampaignId?, SendDelayInDays
UpdateEmailTemplateRequest Id?, Subject, BodyAsMarkdown, BodyAsHtml, SendDelayInDays, Trigger UpdateEmailTemplateRequestValidator
UpdateEmailTemplateStatusRequest Id, Status UpdateEmailTemplateStatusRequestValidator
TestEmailTemplateRequest To, Subject, BodyAsHtml TestEmailTemplateRequestValidator
UpsertEmailSubscriberRequest Email UpsertEmailSubscriberRequestValidator
UpdateEmailSubscriptionRequest Id, EmailLists UpdateEmailSubscriptionRequestValidator
DeleteEmailSubscriberRequest Id
CreateEmailJobRequest TargetEmailList, StartsAt, EmailTemplateId, PublishAsBlogPost, IncludeSponsorSegment, PostType? CreateEmailJobRequestValidator
UpdateEmailJobStatusRequest Id, Status
GetEmailCampaignsRequest (extends PaginationRequest)
GetEmailCampaignByIdRequest *
GetEmailTemplatesRequest *
GetEmailTemplateByIdRequest *
GetEmailSubscribersRequest *
GetEmailSubscriberByIdRequest * GetEmailSubscriberByIdRequestValidator
CountEmailSubscribersRequest IncludeUnsubscribed, EmailLists
GetEmailJobsRequest *
GetEmailJobByIdRequest *
GetSentEmailsRequest EmailTemplateId, EmailCampaignId, EmailJobId, CreatedBy?, ForCampaigns, ForJobs, ForTemplates
GetSentEmailMetricsRequest EmailTemplateId, EmailCampaignId, EmailJobId, CreatedBy?, ForCampaigns, ForJobs, ForTemplates

Installation

dotnet add package AugusteVN.Modules.EmailCampaigns._Shared
  • EmailCampaigns module overview
  • EmailCampaigns.Api
  • EmailCampaigns.Database
  • EmailCampaigns.Features
  • EmailCampaigns.Templates
  • EmailCampaigns._Shared.Spa
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on AugusteVN.Modules.EmailCampaigns._Shared:

Package Downloads
AugusteVN.Modules.EmailCampaigns.Domain

Domain entities and provider-agnostic interfaces for email campaigns

AugusteVN.Modules.EmailCampaigns.Features

CQRS handlers for email campaign operations

AugusteVN.Modules.EmailCampaigns._Shared.Spa

Blazor components for managing campaigns, templates, and subscribers

AugusteVN.Modules.EmailCampaigns.Api

Minimal API endpoints for campaigns, templates, subscribers, and jobs

AugusteVN.Modules.EmailCampaigns.Templates

Razor email templates for marketing emails

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.7 131 8/9/2026
1.0.6 138 8/9/2026
1.0.2 142 8/8/2026
1.0.1 135 8/8/2026
1.0.0 135 8/8/2026