2016-08-11 65 views
2

当用户从列表中取消订阅时,他不能再次使用相同的电子邮件地址进行订阅。如何让用户重新订阅列表?mailchimp api从列表中删除用户

$unsubscribe = $mailChimp->call('lists/unsubscribe',array(
        'id'  => $list_id, 
        'email' => array('email' => $email), 
        true, 
        true 
       )); 
+0

当您尝试再次使用相同的电子邮件地址进行订阅时,请您分享回复吗? –

+0

这是错误响应“[email protected]已经订阅了该列表。” http://joxi.ru/vAW3JJJHkMBJYA – Sipan

回答

0

尝试从列表中删除电子邮件并重新订阅。 您可以通过在unsubscribe方法

+0

我找不到删除方法 – Sipan

+0

@Sipan我编辑了我的答案。请检查。 :) –

3

如果您想稍后重新订阅用户设置delete_member属性true删除的成员,您需要删除他,看到documentation

当你需要删除很少订阅者,决定是否要自己删除 或取消订阅它们。删除的用户可以添加 回到您的列表,所以如果您需要确保用户不是意外地重新添加 ,请取消订阅。

如果您使用的是最新mailchimp-api,那么你可以删除用户,如下所示:

include 'Mailchimp.php'; 
use \DrewM\MailChimp\MailChimp; 
$MailChimp = new MailChimp('your**api***key'); 


function deleteUser($email){ 
    global $MailChimp; 
    //your list_id from Mailchimp 
    $list_id = 'your***list**id'; 

    $subscriber_hash = $MailChimp->subscriberHash($email); 
    $MailChimp->delete("lists/$list_id/members/$subscriber_hash"); 
} 

如果与电子邮件地址的用户存在,则$MailChimp->delete()会返回一个这样的数组:

Array ([type] => http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/ [title] => Resource Not Found [status] => 404 [detail] => The requested resource could not be found. [instance] =>) 

如果找到了用户,那么该方法将不会返回任何内容。请注意,这并不意味着用户已被删除,因为如果用户之前已经取消订阅,则无法删除他。

如果您不想使用api,那么您还可以使用delete verb编写自己的自定义curl命令。