class Multiwoven::Integrations::Destination::Mailchimp::Client
def send_to_mailchimp(record, stream_name)
def send_to_mailchimp(record, stream_name) case stream_name when "Audience" @client.lists.set_list_member(@list_id, Digest::MD5.hexdigest(record[:email].downcase), { email_address: record[:email], status_if_new: "subscribed", merge_fields: { FNAME: record[:first_name], LNAME: record[:last_name] } }) when "Tags" @client.lists.update_list_member_tags(@list_id, Digest::MD5.hexdigest(record[:email].downcase), { tags: record[:tags].map { |tag| { name: tag, status: "active" } } }) when "Campaigns" campaign = @client.campaigns.create({ type: "regular", recipients: { list_id: @list_id }, settings: { subject_line: record[:subject], from_name: record[:from_name], reply_to: record[:reply_to] } }) if @email_template_id @client.campaigns.set_content(campaign["id"], { template: { id: @email_template_id } }) else @client.campaigns.set_content(campaign["id"], { plain_text: record[:content] }) end @client.campaigns.send(campaign["id"]) else raise "Unsupported stream type: #{stream_name}" end end