quadra-digital / silverstripe-mailchimp-module
Silverstripe Mailchimp 模块允许您将 Mailchimp 邮件列表与 Silverstripe 网站的订阅者或会员同步。
Requires
Requires (Dev)
- fojuth/readmegen: ~1.1
This package is not auto-updated.
Last update: 2020-08-07 20:03:17 UTC
README
Silverstripe Mailchimp 模块允许您将 Mailchimp 邮件列表与 Silverstripe 网站的订阅者或会员同步。该模块可以仅用于订阅者,或者可以通过使用数据扩展(DataExtension)提供与 Silverstripe 已存在的会员对象的更深层集成。模块双向同步数据(可以在字段级别上进行管理),因此您可以放心,无论用户是通过 Mailchimp 还是您的网站更新其记录,数据在两个系统中都是相同的。
功能
列表集成
- 当用户在网站上订阅或在 SilverStripe 中手动添加时,他们将被添加到 Mailchimp 的列表中。
- 通过 Mailchimp 注册表单订阅的人将添加到 SilverStripe CMS 中(Mailchimp 添加了双确认过程,但您可以通过 API 更改设置)。
- 当用户在任一平台上取消订阅时,取消订阅会同步。
- 如果您在 Mailchimp 中创建了额外的信息,如地址或订阅到期日期,这些信息作为合并字段存在,当在 SilverStripe 或 Mailchimp 中编辑时,它们将在两个系统中更新。
- 当 Mailchimp 有新的或删除的列表时,SilverStripe 将创建/删除新的列表。
- 如果在您的邮件列表中创建了一个新的订阅者,但该人已经是“会员”,Silverstripe 将识别该订阅者有一个相关的会员对象,并在 Mailchimp 中更新所有会员字段。
- 当订阅者成为会员并完成会员交易时,在 SilverStripe 中创建会员对象,并将详细信息更新到 Mailchimp;从订阅者变为会员。
- 当会员决定取消电子邮件营销订阅,但仍然保留会员身份时,他们将同时在 SilverStripe 和 Mailchimp 中取消订阅。
- 当会员在网站上重新订阅电子邮件营销时,他们将被添加回 SilverStripe 和 Mailchimp 的列表中。
- 如果订阅者取消订阅并通过网站重新订阅,他们将收到错误消息。他们只能通过 Mailchimp 的注册表单(带双确认电子邮件)重新订阅,或者管理员可以手动添加订阅者。
细分
- 在 SilverStripe 中创建事件页面时,将在 Mailchimp 中创建一个静态细分。
- 如果您有多个列表,您可以通过 SilverStripe 选择在 Mailchimp 中创建静态细分对应的列表或多个列表。
- 当网站上的用户点击“参加”时,他们将添加到 Mailchimp 和 SilverStripe 的细分中。
- 您可以在 SilverStripe 中手动添加人员到事件中,他们也将添加到 Mailchimp 的静态细分中。
- 当有人决定不参加时,他们将从 SilverStripe 和 Mailchimp 的静态细分中删除。
要求
silverstripe/gridfieldextensions: 1.x
安装
Composer
composer require quadra-digital/silverstripe-mailchimp-module
手册
- 通过克隆此仓库或下载提供的 .zip 文件来下载代码库
- 下载 requirements 中列出的依赖项
- 您可以随意命名模块目录,我们推荐使用 mailchimp-module
- 将模块目录放置在网站根目录下(即在 /mysite 同级水平)
配置
- 对网站运行 /dev/build 和 /?flush=all
- 登录您的 Mailchimp 账户并生成一个新的 API 密钥(见 Mailchimp 的文档)
- 以管理员身份登录您的网站 CMS 并转到设置 > Mailchimp,在此您可以输入您的 API 密钥并保存
- 现在您可以“从 Mailchimp 更新列表”,这将为您现有的每个 Mailchimp 列表创建一个新的 MCList 实例
- 对于每个列表,点击编辑并转到“字段映射”选项卡,这允许您将您的 Mailchimp 列表的每个合并字段映射到适当的数据对象(例如成员 | 订阅者)和属性(例如姓氏)以及指定数据同步的方向
- 回到 Mailchimp 并设置一个网关(见 Mailchimp 的文档),该网关指向 /mailchimp(例如 https://www.example.com/mailchimp),确保在设置此网关时“通过 API”选项未选中
- 为了第一次同步,您可能需要执行以下操作之一:1)如果您已经填充了 Mailchimp 列表并且您的网站上没有存储任何订阅者记录,请运行 /mailchimp/MCSync。2)编写一个脚本来创建一个新的 MCSubscription 对象并将其与每个成员对象相关联。
- 您可以通过在您的网站 CMS 中添加新的订阅者或成员以及/或在您的 Mailchimp 列表中创建或更新测试记录来验证模块是否正确安装
故障排除
该模块将在您的网站 /assets 文件夹中的 '/assets/silverstripe-mailchimp-module/logs/' 创建一个目录来存储日志,这将包含 info.log 和 error.log 文件(如果有通知和/或错误已引发),这些文件应该提供关于出错原因的简单解释。
许可证
本模块使用 BSD 3-Clause 许可证。有关完整的许可证,请参阅 LICENCE.md 文件。
版权
版权所有 (c) 2016, Quadrahedron Limited 保留所有权利。
## 路线图
待办事项
- 与其仅在创建订阅者时尝试将订阅者添加到列表中,不如在订阅者没有 MC 成员 ID 时(以防同步创建失败)尝试添加
- 修改 MCSync 脚本以基于单个列表进行操作,用于与 MailChimp Webhooks 一起使用
- 允许在网站上创建列表(并同步到 MailChimp)
- 允许在网站上创建静态分段(并同步到 MailChimp)
- 能够将订阅记录添加到静态分段(并同步到 MailChimp)
- 当与成员对象相关联或解除关联时强制写入订阅记录
已知问题
- 在MailChimp上(作为管理员)删除记录时不会将该记录标记为取消订阅,您必须先取消订阅记录,同步到网站,然后才能删除
- 如果MailChimp记录被取消订阅(通过MailChimp端)并且该订阅被添加到静态段(即在网站与MailChimp同步之前),API调用将成功,但如果通过AJAX调用操作,AJAX调用本身将返回错误(即无法进入success()函数),这是由于MCAPI.class.php第2886行的警告引起的
联系
此模块由Quadra Digital构建,并且已经免费开源,我们不太可能提供太多支持,但如果您有任何关于使用、许可、错误或改进的疑问,请使用以下适当的联系方式之一。
技术
Joe Harvey <joe.harvey@quadradigital.co.uk>
行政
Ping Ho <ping.ho@quadradigital.co.uk>