Даты участия в операциях 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. Подробнее о состоянии автоматизации здесь:

https://www.sitecore.net/learn/blogs/technical-blogs/sitecore-magnified/posts/2013/09/ecm-automation-states-magic.aspx

Также заметил, что есть метод GetUnsubscribersStatistics на Sitecore.Modules.EmailCampaign.Core.Analytics.AnalyticsHelper учебный класс. Это будет иметь дату отписки.

Другие вопросы по тегам