Module: SilverPop::Client::Contact

Included in:
SilverPop::Client
Defined in:
lib/client/contact.rb

Instance Method Summary collapse

Instance Method Details

#add_recipient(fields, list_id, contact_list_id, created_from = 1, options = {}) ⇒ Mash

Adds one new contact to an existing database.

Examples:

Add a new email to the database and contact list

s = SilverPop::Client.new(access_token)
s.add_recipient({email: "[email protected]", firstname: "Hello"}, 12345, [4567])

Parameters:

  • fields (Hash)

    The list of fields to be passed into SilverPop.

  • list_id (Integer)

    The ID of the database which you are adding the contact

  • contact_list_id (Array)

    The id of the contact list.

Returns:

  • (Mash)

    Mashify body from the API call



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/client/contact.rb', line 14

def add_recipient(fields, list_id, contact_list_id, created_from=1, options={})
  builder = Builder::XmlMarkup.new
  xml = builder.Envelope {
    builder.Body {
      builder.AddRecipient {
        builder.LIST_ID list_id
        builder.CREATED_FROM  created_from
        builder.CONTACT_LISTS {
          contact_list_id.each do |id|
            builder.CONTACT_LIST_ID  id
          end
        }
        unless options.empty?
          options.each do |opt|
            builder.tag! opt[0], opt[1]
          end
        end
        fields.each do |field|
          builder.COLUMN {
            builder.NAME field[0].to_s
            builder.VALUE field[1]
          }
        end
        }
      }
    }
  response = post(xml, options)
end