使用Mailchimp API更新Mailchimp中的电子邮件地址

时间:2010-11-10 03:00:29

标签: mailchimp

我正在尝试将人员记录从我的数据库同步到mailchimp。我可以更新电子邮件以外的所有字段电子邮件我只能更新一次。再次更新时会抛出错误。我正在使用他们的Java API。这就是我在做什么 -

emailType = "";
replaceInterests = false; 

mergeVars.put("EMAIL", rs.getString("email"));

Boolean rc = mcServices.listUpdateMember(apiKey, listId, mailChimpId, mergeVars, emailType, replaceInterests);

重新更新的错误消息是 -

com.nwire.mailchimp.MailChimpServiceException:oldEmail@email.com不是listName的成员  at com.nwire.mailchimp.MailChimpServiceFactory $ ClientFactory $ 1.invoke(MailChimpServiceFactory.java:190)  在$ Proxy0.listUpdateMember(未知来源)  在com.nwire.mailchimp.test.TestMCList1.updateDetails(TestMCList1.java:121)  在com.nwire.mailchimp.test.TestMCList1.sync(TestMCList1.java:92)  在com.nwire.mailchimp.test.TestMCList1.run(TestMCList1.java:52)  在com.nwire.mailchimp.test.TestMCList1.main(TestMCList1.java:35)

请注意,错误消息中的oldEmail@email.com是我已成功更新一次的Mailchimp shich中的原始电子邮件地址,但仍会显示重新更新。

由于

2 个答案:

答案 0 :(得分:0)

我真的不确定您使用的是mailChimpId,但这也是电子邮件。因此,如果电子邮件发生变化,此变量也应该更改。在您的情况下,它将如下所示:

String email = rs.getString("email");
mergeVars.put("EMAIL", email);
Boolean rc = mcServices.listUpdateMember(apiKey, listId, email, mergeVars, emailType, replaceInterests);

我希望这会有所帮助(我编写了这个Java包装器,这在我的服务器上工作正常)。

答案 1 :(得分:0)

连同旧电子邮件地址,即

mergeVars.put(“EMAIL”,电子邮件);

您可以通过以下方式定义新的:

mergeVars.put(“NEW-EMAIL”,新电子邮件);

所以你需要orer中的旧地址和新地址来更新它