【问题标题】:Mailchimp API limit in post request发布请求中的 Mailchimp API 限制
【发布时间】:2020-11-12 06:40:01
【问题描述】:

我正在使用 mailchimp api。我遇到了一个问题,我超过了他们 10 的限制。 在获取请求中,您可以使用分页和偏移来解决这个问题。但是如何在 post 请求中解决这个问题,它不像您可以在 post 请求中进行分页..

这就是我的代码的运行方式:

allEmails.forEach(email => {
    const emailHash = md5(email); 
    if(mailChimpMails.indexOf(email) === -1) {
        mailChimpPost('POST',`lists/4d2d65c130/members` , JSON.stringify({"email_address" : email , "status": "subscribed"})).then( res => {
            console.log(res);
        }).catch(err => {
            console.log(err); 
        });
    }else{
         mailChimpPost('PATCH',`lists/4d2d65c130/members/${emailHash}` ,  JSON.stringify({"status": "subscribed"})).then(res => {
             console.log(res)
         }).catch(err => {
             console.log(err); 
         });
    }
})

所有电子邮件都是一组电子邮件,我会遍历这些电子邮件并将它们单独添加到 mailchimp 中的观众。它添加了一些,但运行一段时间后会抛出 429 错误:

状态代码错误:429 - "{"type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/","title":"太 Many Requests","status":429,"detail":"您已超出 10个同时限制 连接。","instance":"myinstance"}"

【问题讨论】:

  • 找到了我认为的问题。也许我需要在执行另一个请求之前等待一个请求.. 所以我使用 for of 循环而不是 foreach 循环与 await

标签: node.js rest mailchimp


【解决方案1】:

也许有点晚了,但迟到总比没有好,也许你在此期间自己也发现了这一点。

使用批处理端点

https://mailchimp.com/developer/marketing/api/lists/batch-subscribe-or-unsubscribe

下面是一个 CURL 代码示例,可以帮助您顺利上路:

curl -X POST \
  'https://${dc}.api.mailchimp.com/3.0/lists/{list_id}?skip_merge_validation=<SOME_BOOLEAN_VALUE>&skip_duplicate_check=<SOME_BOOLEAN_VALUE>' \
  --user "anystring:${apikey}"' \
  -d '{"members":[],"update_existing":false}'

其中members 是一组对象,至少有一个属性email_address

批处理作业会相对较快地传递给 Mailchimp,从而释放您的应用和与 MailChimp 的连接。

【讨论】:

    猜你喜欢
    • 2015-01-07
    • 2019-12-27
    • 1970-01-01
    • 2017-08-04
    • 2021-08-15
    • 1970-01-01
    • 2016-06-18
    • 2017-10-16
    • 2023-02-13
    相关资源
    最近更新 更多