Class: Mailbuild

Inherits:
Object
  • Object
show all
Includes:
MailbuildError
Defined in:
lib/mailbuild/mailbuild.rb

Overview

Implementation of the Mailbuild API.

Class Method Summary collapse

Class Method Details

.add(email, name, list_id = @@default_list_id) ⇒ Object

Implements Subscriber.Add www.mailbuild.com/api/subscriber.add.aspx



17
18
19
20
21
22
# File 'lib/mailbuild/mailbuild.rb', line 17

def self.add(email, name, list_id = @@default_list_id)
  self.connect
  result = @@service.AddSubscriber({:ApiKey=>@@api_key, :ListID=>list_id, :Email=>email, :Name=>name})
  response = result.subscriber_AddResult
  self.parse_response(response, 'Subscriber.Add')
end

.add_with_custom_field(email, name, custom_fields = {}, list_id = @@default_list_id) ⇒ Object

Implements Subscriber.AddWithCustomFields www.mailbuild.com/api/subscriber.addwithcustomfields.aspx



27
28
29
30
31
32
33
34
35
36
# File 'lib/mailbuild/mailbuild.rb', line 27

def self.add_with_custom_field(email, name, custom_fields = {}, list_id = @@default_list_id)
  self.connect
  
  # Convert custom fields to an array of hashes
  custom = custom_fields.collect{|key, value| {:Key => key.to_s, :Value => value}}    

  result = @@service.AddSubscriberWithCustomFields({:ApiKey=>@@api_key, :ListID=>list_id, :Email=>email, :Name=>name, :CustomFields=>{:SubscriberCustomField =>custom}})
  response = result.subscriber_AddWithCustomFieldsResult
  self.parse_response(response, 'Subscriber.AddWithCustomFields')
end

.bounced(date, list_id = @@default_list_id) ⇒ Object

Implements Subscribers.GetBounced www.mailbuild.com/api/Subscribers.GetBounced.aspx



85
86
87
88
89
90
# File 'lib/mailbuild/mailbuild.rb', line 85

def self.bounced(date, list_id = @@default_list_id)
  self.connect
  result = @@service.GetBounced({:ApiKey=>@@api_key, :ListID=>list_id, :Date=>date})
  bounced = result.subscribers_GetBouncedResult
  self.parse_response(bounced, 'Subscribers.GetBounced')
end

.subscriber(email, list_id = @@default_list_id) ⇒ Object

This method is undocumented.

Implements Subscribers.GetSingleSubscriber



52
53
54
55
56
57
# File 'lib/mailbuild/mailbuild.rb', line 52

def self.subscriber(email, list_id = @@default_list_id)
  self.connect
  result = @@service.GetSingleSubscriber({:ApiKey=>@@api_key, :ListID=>list_id, :EmailAddress=>email})
  subscriber = result.subscribers_GetSingleSubscriberResult    
  self.parse_response(subscriber, 'Subscribers.GetSingleSubscriber')
end

.subscribers(date, list_id = @@default_list_id) ⇒ Object

The Mailbuild API documentation is currently out of date. This method is actually implemented as Subscribers.GetSubscribers

Implements Subscribers.GetActive www.mailbuild.com/api/Subscribers.GetActive.aspx



65
66
67
68
69
70
# File 'lib/mailbuild/mailbuild.rb', line 65

def self.subscribers(date, list_id = @@default_list_id)
  self.connect
  result = @@service.GetSubscribers({:ApiKey=>@@api_key, :ListID=>list_id, :Date=>date})
  subscribers = result.subscribers_GetActiveResult
  self.parse_response(subscribers, 'Subscribers.GetSubscribers')
end

.unsubscribe(email, list_id = @@default_list_id) ⇒ Object

Implements Subscriber.Unsubscribe www.mailbuild.com/api/subscriber.unsubscribe.aspx



41
42
43
44
45
46
# File 'lib/mailbuild/mailbuild.rb', line 41

def self.unsubscribe(email, list_id = @@default_list_id)
  self.connect
  result = @@service.Unsubscribe({:ApiKey=>@@api_key, :ListID=>list_id, :Email=>email})
  response = result.subscriber_UnsubscribeResult
  self.parse_response(response, 'Subscriber.Unsubscribe')
end

.unsubscribed(date, list_id = @@default_list_id) ⇒ Object

Implements Subscribers.GetUnsubscribed www.mailbuild.com/api/Subscribers.GetUnsubscribed.aspx



75
76
77
78
79
80
# File 'lib/mailbuild/mailbuild.rb', line 75

def self.unsubscribed(date, list_id = @@default_list_id)
  self.connect
  result = @@service.GetUnsubscribed({:ApiKey=>@@api_key, :ListID=>list_id, :Date=>date})
  unsubscribed = result.subscribers_GetUnsubscribedResult
  self.parse_response(unsubscribed, 'Subscribers.GetUnsubscribed')
end