quadra-digital/silverstripe-mailchimp-module

Silverstripe Mailchimp 模块允许您将 Mailchimp 邮件列表与 Silverstripe 网站的订阅者或会员同步。

安装: 591

依赖: 0

建议者: 0

安全: 0

星标: 5

关注者: 3

分支: 6

开放问题: 5

类型:silverstripe-module

0.2.1 2016-09-08 08:39 UTC

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/cms: 3.1+

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>