我正在通过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订阅的两个步骤应该是
待定 - >订阅
而不是
取消订阅 - >订阅
我能为此做些什么吗?
答案 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可以向用户发送自己的自动双重选择电子邮件。
要实现手动双重选择,您应该执行以下操作: