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

时间:2015-09-07 16:17:29

标签: php curl mailchimp mailchimp-api-v3.0

我正在通过php执行curl调用Mailchimp API v3.0。 当用户注册我的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订阅的两个步骤应该是 待定 - >订阅
而不是 取消订阅 - >订阅

我能为此做些什么吗?

2 个答案:

答案 0 :(得分:6)

您似乎在混合使用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会发送一封确认电子邮件。

答案 1 :(得分:0)

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

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

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

  2. 使用mandrill或其他一些服务向用户发送电子邮件。这封邮件的目的是他接受subscribed进入你的名单。

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

  4. 您可以找到更多详情here, 和here

相关问题