Method: ETAPI::Session#subscriber_add

Defined in:
lib/etapi/calls/subscriber.rb

#subscriber_add(*args) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/etapi/calls/subscriber.rb', line 5

def subscriber_add(*args)
  
  # options
  options           = args.extract_options!
  @list_id          = options[:list_id] ||= nil
  @email            = options[:email]
  @values           = options[:values] ||= {}
  @account_id       = options[:account_id]
  
  # check for required options
  required_options = ["email", "list_id"]
  return false unless check_required(required_options)
  
  # update options
  @values.merge!({"Email Address" => @email, "status" => "active"})
  
  # merge parameters and values
  @parameters = {
    "search_type"   => "listid",
    "search_value"  => @list_id,
    "search_value2" => "",
    "values"        => @values
  }
  
  response = build_call("subscriber", "add")
  response.xpath("//subscriber_description").text.to_i rescue false
  
end