mailchimp api从列表中删除用户

时间:2016-08-11 06:17:53

标签: mailchimp

当用户从列表中取消订阅时,他无法使用相同的电子邮件地址再次订阅。如何允许用户重新订阅列表?

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

3 个答案:

答案 0 :(得分:4)

如果您想稍后重新订阅该用户,则需要将其删除,请参阅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命令。

答案 1 :(得分:0)

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

中将delete_member属性设置为true来删除该成员

答案 2 :(得分:0)

您可以通过将用户更新为“待处理”状态来实现

不幸的是,我的代码是Python api,但是您应该能够理解。

def mcResendSubscriptionSignup(self,email,audienceId):

    # calculate the hash of the email address
    emailHash = hashlib.md5(email.lower().encode()).hexdigest()

    # get existing user, and all their data
    data = self.mcClient.lists.members.get(list_id=audienceId, subscriber_hash=emailHash)

    # set the user status to pending to resend subscription email
    data['status'] = 'pending'

    # update the data back to the user record in the audience
    data = self.mcClient.lists.members.update(list_id=audienceId, subscriber_hash=emailHash, data=data)

    print(f'Sent a resubscription email to {email}')

此功能将向用户重新发送确认电子邮件,该用户必须单击以重新订阅。请注意,您还需要找到您的AudienceId。

这是Mailchimp允许您在取消订阅后从2020年开始将用户重新添加到受众群体的唯一方法。

是的,这在测试时很痛苦,这就是我从事此功能的原因。比在GUI界面中做得更好。