MailChimp API 3.0 批量/批量订阅

Posted

技术标签:

【中文标题】MailChimp API 3.0 批量/批量订阅【英文标题】:MailChimp API 3.0 batch/bulk subscribe 【发布时间】:2015-11-24 17:48:49 【问题描述】:

对于 MailChimp API 2.0,有一个“批量订阅”方法,用于发送要添加到 MailChimp 中特定列表的电子邮件地址数组。 如何在基于新的 Rest Architecture 的 MailChimp API 3.0 中实现这一点? 见https://github.com/mailchimp/APIv3-examples/wiki/Overview 它说它适用于对象数组 但是通过模式它只接受一个对象 架构https://us9.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json

【问题讨论】:

【参考方案1】:

您要链接到的页面看起来像来自 beta 版的文档,但无论哪种方式,他们都说尚未实现批处理操作。 FWIW,真正的文档也将批处理操作列为the roadmap 的一部分,所以我怀疑它们还没有完成。

【讨论】:

所以我想我现在会使用 API 2.0!还是谢谢【参考方案2】:

MailChimp API v3.0 现已上线!他们还添加了更好的批量操作功能,让您只需一次调用即可进行多项操作。 您可以在此php wrapper for MailChimp apiV3 的帮助下使用以下代码进行批处理。

    $data1 =array(
            'email_address' => 'testingmail1@gmail.com',
            'status' => 'subscribed',
            'merge_fields' => array('FNAME' => 'Testing', 'LNAME' => 'Mail1'));
    $data2 =
        array(
            'email_address' => 'testingmail2@example.com',
            'status' => 'subscribed',
            'merge_fields' => array('FNAME' => 'Testing', 'LNAME' => 'Mail2'));
    $attributes = array(
        'operations' => array(
            array(
                'path' => 'lists/' . $listID . '/members',
                'method' => 'POST',
                'body' => json_encode($data1)
            ),
            array(
                'path' => 'lists/' . $listID . '/members',
                'method' => 'POST',
                'body' => json_encode($data2)
            ),
        ));

    $response = $MailChimp->post('batches/', $attributes);

【讨论】:

"status_code":400,"operation_id":null,"response":"\"type\":\"http:\/\/developer.mailchimp.com\/documentation\ /mailchimp\/guides\/error-glossary\/\",\"title\":\"Invalid Resource\",\"status\":400,\"detail\":\"提交的资源不能验证。有关特定于字段的详细信息,请参阅 'errors' 数组。\",\"instance\":\"\",\"errors\":[\"field\":\"\",\"message\ ":\"Schema 描述对象,发现 NULL 代替\"]"] mailchimp 的这篇博文也应该有助于了解您需要做什么devs.mailchimp.com/blog/batch-operations-and-put-in-api-v3-0 代替“POST”,使用“PUT”并添加成员ID,即md5($email)作为每个数据对象的属性。我相信缺少id 属性是导致错误的原因。【参考方案3】:

是的。这是 Mailchimp 端的一个问题。我们报告了它,他们在一天左右的时间里把它修好了。

【讨论】:

【参考方案4】:

这不是 Mailchimp 端的问题。你只需要正确使用数组和对象。

你可以在这里找到好的批量订阅示例https://rudrastyh.com/wordpress/wp-users-to-mailchimp-list.html#batch_subscribe_php

【讨论】:

以上是关于MailChimp API 3.0 批量/批量订阅的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

Alamofire Mailchimp API 3.0 订阅

MailChimp API 3.0 xhr 订阅 501 错误

使用 Ruby 中的 MailChimp API 3.0 订阅电子邮件