Sitecore ListManager Contact Lists vs Segment Lists
Sitecore List Manager 主要是用于管理用户订阅和取消订阅的,当用户订阅之后,相关的用户信息就会保存在对应的 List。
而 Sitecore 的 List 类型分为两类:Contact List 和 Segment List。
有关文档:https://sitecorehacker.com/2018/12/15/list-manager-contact-lists-vs-segment-lists/
1. Contact Lists
特点:
- 可以直接在 ListManager 内部添加和删除 contact;
2. Segment Lists
特点:
- 无法直接在 CM 的 ListManager 内操作 contact,即增删;
- 可以转换成 Contact Lists;
- 添加一个 contact 到此 List,并不算真正意义的加入了一个副本,只是引用了这个 contact;
(比如:两个 Segment Lists 都因触发了 segment 加入了此 contact,但是数据库内部只会存在这一个 contact,所以在各自的 segment lists 内部看到的都是同一个 contact,这点与 contact lists 是最大的区别) - 可以设置多个 Segment(可以定义一些规则,当触发这些事件时,用户才会加入此List,比如用户订阅了某个活动等等)
关于 List 的代码操作:
关于 ListSubscribeOperation 枚举说明,详情看官方文档:https://doc.sitecore.com/xp/en/developers/exm/102/email-experience-manager/the-email-experience-manager-client-api.html
public enum ListSubscribeOperation { Subscribe, Unsubscribe, UnsubscribeFromAll, AddToList, RemoveFromList, }
// 通过 DI 获取 IClientApiService IClientApiService clientApiService = ServiceLocator.ServiceProvider.GetRequiredService<IClientApiService>(); // 使用 UpdateListSubscription 方法来调用对应的 operation UpdateListSubscriptionMessage message = new UpdateListSubscriptionMessage { // 主要通过 ListSubscribeOperation 枚举来控制 ListSubscribeOperation = ListSubscribeOperation.Unsubscribe , ContactIdentifier = contactIdentifier , MessageId = messageId , ManagerRootId = mrId , ListId = listId // 等等其他参数... }; ClientApiService.UpdateListSubscription(message);
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步