Mailchimp API v3.0 添加待处理成员而无需确认电子邮件

Posted

技术标签:

【中文标题】Mailchimp API v3.0 添加待处理成员而无需确认电子邮件【英文标题】:Mailchimp API v3.0 add pending member without confirmation email 【发布时间】:2015-12-03 05:56:43 【问题描述】:

我正在通过 php 对 Mailchimp API v3.0 执行 curl 调用。 当用户注册我的 cms 时,我向他发送了一封确认电子邮件,并将成员添加到特定 Mailchimp 列表中,调用此 URL:

'https://us11.api.mailchimp.com/3.0/lists/'.$list_id.'/members/';

传递这些参数:

$data = array(
    'apikey'            => $apikey,
    'email_address'     => $mailchimp_user['email'],
    'status'            => 'pending',
    'update_existing'   => true,
    'send_welcome'      => false,
    'double_optin'      => false,
    'merge_fields'      => array(
        'FNAME'             => $mailchimp_user['FNAME'],
        'LNAME'             => $mailchimp_user['LNAME']
    )
);

Mailchimp 挂起订阅成功。 当用户单击从我的 cms 发送的确认电子邮件时,通过另一个 curl(PATCH 方法)调用,我可以轻松地将成员状态更新为“已订阅”。 因此,我可以从我的 cms 管理所有 Mailchimp 订阅,而无需任何 Mailchimp 默认行为和布局。

但默认的 Mailchimp 确认电子邮件永远不会发送给用户,即使 'double_optin' 参数为 false。

我注意到,如果我将会员状态设置为“未订阅”,则用户不会收到确认电子邮件。但这在逻辑上是错误的! 我希望 Mailchimp 订阅的两个步骤应该是待定 -> 订阅 并且没有取消订阅 -> 订阅

我可以做点什么吗?

【问题讨论】:

试试这个。它应该可以解决您的问题。 ***.com/questions/30531798/… 【参考方案1】:

您似乎在混合使用 v2.0 API 和 v3.0 API。在 v3.0 中,您不应在请求正文中传递 API 密钥,并且没有 double_opt_in 标志。在 MailChimp 中,如果您将用户设置为待处理,他们将始终收到一封确认电子邮件。 v2.0 和 v3.0 处理不同。在 v2.0 中,将 double_opt_in 传递为 true 会导致未决成员收到一封确认电子邮件。将其作为 false 传递会导致订阅成员。

在 v3.0 中,将 status 设置为 pending 会发送一封确认电子邮件。

【讨论】:

谢谢,现在一切都清楚了!我将为待定状态注册一个未订阅用户。然后将该用户升级为订阅,当他点击从我的 cms 发送的确认电子邮件时。 @LorenzoGasperoni 你有没有找到一种方法来做你所描述的事情?如果您的 CMS 发送自己的确认电子邮件,那么他们会收到两封:一封来自您,一封来自 MailChimp。 @Yaron 是的,如果您想使用您的网站而不是 Mailchimpt 双重选择来管理订阅,解决方案可以是: - 发送自定义确认电子邮件并仅在他订阅时发送他点击确认邮件中的链接; - 如果用户单击确认电子邮件中的链接,则将用户发送为“未订阅”并将状态更新为“已订阅”;如果您将用户发送到状态为“待定”的 mailchimp,他将收到来自 Mailchimp 的自动电子邮件,有双重确认电子邮件的风险。【参考方案2】:

mailchimp API v3 的内部pending 状态不存在,因此您可以为用户管理手动双重选择加入。在那里,mailchimp 可以向用户发送他们自己的自动双重选择电子邮件。

要实现手动双重选择加入,您应该执行以下操作:

    当用户在您的客户端提交您的表单时,向 mailchimp api v3 发出 POST 请求并将新用户添加到您的列表中,名称为 unsubscribed

    使用mandrill 或其他服务向用户发送电子邮件。这封邮件的目的是让他接受subscribed 加入您的列表。

    当用户点击邮件时,向 mailchimp api v3 发出 PATCH 请求并将用户更新为 subscribed

您可以找到更多详细信息here, 和here。

【讨论】:

以上是关于Mailchimp API v3.0 添加待处理成员而无需确认电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Mailchimp api v3.0 将订阅者添加到分段

Mailchimp API v3.0 通过 NodeJS http 添加电子邮件到列表

MailChimp API 在 V3.0 PHP Curl 中响应 404

MailChimp 发送邮件 v3.0

连接到 MailChimp v3.0 API

使用 .Net 调用 MailChimp API v3.0