Обновление адреса электронной почты в Mailchimp с помощью Mailchimp API - PullRequest
0 голосов
/ 10 ноября 2010

Я пытаюсь синхронизировать запись человека из моей БД в mailchimp.Я могу обновить все поля, кроме электронной почты.Email я могу обновить только один раз.При обновлении снова выдает ошибку.Я использую их 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 на com.nwire.mailchimp. MailChimpServiceFactory.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, который я успешно обновил один раз, но все еще отображается при повторных обновлениях.

Спасибо

Ответы [ 2 ]

0 голосов
/ 24 августа 2012

Наряду со старым адресом электронной почты, т. Е.

mergeVars.put ("EMAIL", email);

вы определяете новый адрес следующим образом:

mergeVars.put ("NEW-EMAIL", new-email);

Таким образом, для обновления необходимо указать как старый, так и новый адреса в orer

0 голосов
/ 10 ноября 2010

Я действительно не уверен, что вы используете как mailChimpId, но это также и электронная почта. Таким образом, если электронная почта изменяется, эта переменная также должна измениться. В вашем случае это будет выглядеть так:

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

Надеюсь, это поможет (я написал эту оболочку Java, и она прекрасно работает на моем сервере).

...