Даты участия в операциях Sitecore ECM и даты отказа от участия
Я хочу знать, есть ли какой-нибудь способ привлечь пользователей к рассылке или отменить рассылку?
Сохранено ли это в одной из баз данных / таблиц в MSSQL?
2 ответа
Если вы используете подход с включенным и выключенным определением того факта, что пользователь в роли, то он сохраняется в aspnet_UsersInRoles
стол в вашем core
база данных. В этой таблице не хранится информация о назначении роли пользователю. Вот почему вы не можете получить информацию, когда пользователь подписался или отписался от рассылки по электронной почте.
Единственное, что вы можете проверить - пользователь в роли:
user.IsInRole(roleName)
Подписка пользователя определяется ролью пользователя, но получить подписку пользователя в ECM можно, просто используйте API.
Вы можете получить контакт с адреса электронной почты:
string fullName = commonDomain + "\\" + Util.AddressToUserName(username);
var contact = Contact.FromName(fullName);
var subscriptions = contact.GetSubscriptions();
Если у вас есть контакт, вы можете позвонить GetSubscriptions()
метод, который будет возвращать списки получателей, на которые подписан пользователь. Существует множество других методов, которые вы можете вызвать для контакта, и если есть способ получить дату отписки / подписки, она будет здесь.
Если не отражать Sitecore.EmailCampaign.dll
и продолжай искать! Может быть некоторая дополнительная информация в таблице состояний автоматизации в базе данных Analytics. Подробнее о состоянии автоматизации здесь:
Также заметил, что есть метод GetUnsubscribersStatistics
на Sitecore.Modules.EmailCampaign.Core.Analytics.AnalyticsHelper
учебный класс. Это будет иметь дату отписки.