首页 文章

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

提问于
浏览
2

我正在通过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默认行为和布局 .

But the default Mailchimp Confirmation email is never sent to the user, even if the 'double_optin' param is false.

我注意到如果我将成员状态设置为'unsubscribed',则用户没有收到确认电子邮件 . 但这在逻辑上是错误的!我想要Mailchimp订阅的两个步骤应该是
待定 - >订阅
并不是
取消订阅 - >订阅 .

我能为此做些什么吗?

2 回答

  • 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 会发送确认电子邮件 .

  • 0

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

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

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

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

    当用户点击邮件时

    • 向mailchimp api v3发出 PATCH 请求并将用户更新为 subscribed .

    您可以找到更多详细信息herehere .

相关问题