Skip to main content

technical



EmailProfileFlowController — Skill Reference

File: Sodastream/Web/Web/Controllers/EmailProfileFlowController.csDI: 10 services — Auth: [Authorize] (class-level)

Profile Grid & Listing

MethodRoutePermissionDescription
Index()GETEmailProfilesAndAddressesListingViewRenders main EmailProfileFlow view.
GetEmailProfile(DTParameters, getInactive=false)GETEmailProfilesAndAddressesListingViewDataTables JSON. Multi-keyword search across 10 fields. Filters to IsActive=true by default. Special sort for Name (FirstName+LastName).
ActivateDeactivateEmailProfile(id, isActive)GETToggles profile active/inactive.

Email Addresses (EPA Grid)

MethodRoutePermissionDescription
EmailAddresses(emailProfileId)GETEmailProfilesAndAddressesListingViewReturns EmailAddresses view with ActiveSchedules flag.
EmailAddressesByStatus(DTParameters, id, getInactive)GETDataTables JSON of EPAs. Filters by SendingMechanism, Email, ReplaceEmail, TrackingDomain.
ToggleActiveSending(emailAccountId, bool)POSTSingle-EPA toggle (unlike DomainFlowController's account-level).

Profile CRUD & Clone

MethodRoutePermissionDescription
EditEmailProfile(Id=0)GETAddEditEmailProfilesReturns _EditEmailProfile partial. Populates: countries, approaches, sender locations, ops users (4 roles), data sources, sales agents, profile types, sender info, email accounts. Defaults: CreditPerProspect from campaign, MaxEmailStages=4, MaxProspectsPerDayPerCompany[1-9]=2.
EditEmailProfile(model)POSTAddEditEmailProfilesCreates/updates profile. Validates Label, SalesAgentId, TypesList, OpsOwnerId. UnSubUrl must start with "https://emails.". Non-Generative: forces IsBatch=false, GenerateM1MessagesOnly=false.
Clone(Id=0)GETAddEditEmailProfilesReturns Clone view. Clears Label/FromName. Copies email accounts, countries, types from source.
Clone(model)POSTAddEditEmailProfilesClones profile. Source must have EmailOutreach or IPMatchAndEngage type. Generative: IsBatch=true, GenerateM1MessagesOnly=true.

Helpers & Preview

MethodRoutePermissionDescription
GetEmailAccountsBySalesAgent(salesAgentId)GETJSON with email accounts + agent details (firstName, lastName, telephone, emailTitle).
GenerativePreview(Id=0)GETReturns GenerativePreview view.

Profile Types

TypeBehaviour
EmailOutreachStandard outreach. Clonable.
GiftingGift campaign profile.
IPMatchAndEngageIP-based visitor matching. Clonable.
GenerativeAI-generated messages. Clone: forces IsBatch=true, GenerateM1MessagesOnly=true. Non-Generative forces these to false on edit.
WebchatWeb chat integration profile.

Key Integrations

ServiceInterface
Email Profile FlowIEmailProfileFlowService
Campaign Email ScheduleICampaignEmailScheduleService
Email ProfilesIEmailProfileService
HolidaysIHolidayService
MessagingIMessagingService
EPA ServiceIEmailProfileAddressesService
User SettingsIAspNetUserSettingsService