Mailchimp API 3.0 批量/批量取消标记

Posted

技术标签:

【中文标题】Mailchimp API 3.0 批量/批量取消标记【英文标题】:Mailchimp API 3.0 batch/bulk untag 【发布时间】:2020-09-27 03:51:28 【问题描述】:

我在使用 Mailchimp API 批量取消标记订阅者时遇到问题。

在文档中https://mailchimp.com/developer/guides/how-to-use-tags/#Tag_multiple_contacts_in_bulk 是示例:


    "members_to_remove": [
        "john.smith@example.com",
        "brad.hudson@example.com"
        ]

您可以在下面看到我的 php 代码,其中我使用 $methode 变量给出值 members_to_remove 并且 $email 值是一个包含电子邮件地址的数组。

但该脚本只会向订阅中添加大量标签,而不是删除。

我做错了什么?

public function tag_mailchimp($list_id, $email, $tag, $method) 

    $authToken = 'HERE MY KEY';
    // The data to send to the API


    $postData = array(
        $method => $email
    );

    // Setup cURL
    $ch = curl_init('https://us2.api.mailchimp.com/3.0/lists/'.$list_id.'/segments/'.$tag);

    curl_setopt_array($ch, array(
        CURLOPT_POST => TRUE,
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_HTTPHEADER => array(
            'Authorization: apikey '.$authToken,
            'Content-Type: application/json'
        ),
        CURLOPT_POSTFIELDS => json_encode($postData)
    ));

    // Send the request
    $response = curl_exec($ch);

    return $response;

【问题讨论】:

这可能是文档中的拼写错误 - 尝试使用 DELETE 而不是 POST 看看是否有效。 打印出您发送的帖子数据 json。我正在 Python api 中执行此操作,并且效果很好。 【参考方案1】:

它有效,但我不知道我还能做什么..,代码:

foreach($members as $member) 

   $list[] = $member->email;



$Mailer->tag_mailchimp('12345678', $list, 123456, 'members_to_remove');

在课堂上我有下一个功能:

public function tag_mailchimp($list_id, $email, $tag, $method) 

        $authToken = 'HERE MY KEY';
        // The data to send to the API


        $postData = array(
            $method => $email
        );

        // Setup cURL
        $ch = curl_init('https://us2.api.mailchimp.com/3.0/lists/'.$list_id.'/segments/'.$tag);

        curl_setopt_array($ch, array(
            CURLOPT_POST => TRUE,
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPHEADER => array(
                'Authorization: apikey '.$authToken,
                'Content-Type: application/json'
            ),
            CURLOPT_POSTFIELDS => json_encode($postData)
        ));

        // Send the request
        $response = curl_exec($ch);

        return $response;
    

【讨论】:

以上是关于Mailchimp API 3.0 批量/批量取消标记的主要内容,如果未能解决你的问题,请参考以下文章

Mailchimp API 3.0 批量订阅 - Mailchimp3 PY

Mailchimp api 3.0错误:“Schema描述对象,找到数组”是代码还是在mailchimp的结尾?

Mailchimp api 3.0 错误:“架构描述了对象,而是找到了数组”是代码还是在 mailchimp 的末尾?

使用 mailchimp-api-v3 批量调用不超过 10 个分段成员

如何使用他们的 api 3.0 创建/更新大量电子邮件到 Mailchimp 列表?

使用 MailChimp 3.0 和 Gibbon 2.x 检索 member_id