Как редактировать адрес электронной почты существующего участника в списке mailchimp, используя Gibbon gem

Я долго искал это, но не смог найти ответа. В моем приложении rails 4 я использую самоцвет Gibbon (v.2.0.1) для управления списками mailchimp. Все работает нормально, если подписаться и отписаться от пользователей, но мне не удается обновить адрес электронной почты подписанного пользователя (хотя я могу изменить каждый параметр, например, имя и фамилию).

мой вызов обновления выглядит примерно так:

member = $gibbon.lists(list_id).members(member_id)
member.update(body: 
              { email_address: self.email,
                status: "subscribed",
                merge_fields: {FNAME: self.first_name,
                               LNAME: self.last_name}
               }
               )

Я тоже пытался оторваться, но не повезло. Можно ли на самом деле обновить электронную почту в mailchimp или мне нужно удалить пользователя и создать нового? Спасибо за помощь

2 ответа

Решение

После некоторых дополнительных исследований и обращения к Mailchimp я могу подтвердить, что с новым API (v3.0) невозможно изменить адрес электронной почты, так как это поле доступно только для чтения. В качестве решения я запустил метод для конкретного редактирования адреса электронной почты, который в основном извлекает члена в Mailchimp (я сохраняю идентификатор mailchimp в моей базе данных в модели User), удаляет его и создает новый с теми же данными (например, если участник отписался, новый также будет отписан). Поскольку измененный адрес электронной почты должен быть подтвержден по электронной почте (я использую Devise), я добавил задачу resque в контроллере регистрации, чтобы выполнить мой метод. надеюсь, что это поможет кому-то еще

Редактирование адресов возможно в веб-приложении и в некоторых более старых версиях API, но это сложно, потому что большая часть истории адресов не следует после изменения. Удаление или отмена подписки, а затем добавление нового адреса, вероятно, лучший способ.

Другие вопросы по тегам