class Catapult::Subscription

Public Class Methods

create_subscription(campaign, phone) click to toggle source

returns:

true on success
hash on false
# File lib/catapult/subscription.rb, line 15
def self.create_subscription(campaign, phone)
  http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions.xml", "POST")
  xml = Nokogiri::XML::Builder.new do |x|
    x.subscription{
     x.user{
      x.send(:'mobile-phone', phone)
     }
    }
  end
  request.body = xml.to_xml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML | Nokogiri::XML::Node::SaveOptions::NO_DECLARATION).strip
  response = http.request(request)
  handle_response(response)
end
delete_subscriber(campaign, phone, suppress_message = false) click to toggle source

returns:

true on success
hash on false
# File lib/catapult/subscription.rb, line 43
def self.delete_subscriber(campaign, phone, suppress_message = false)
  http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions/#{phone}.xml?suppress_message=#{suppress_message}", "DELETE")
  response = http.request(request)
  handle_response(response)
end
list_subscribers(campaign) click to toggle source
# File lib/catapult/subscription.rb, line 5
def self.list_subscribers(campaign)
  http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions.xml")
  response = http.request(request)
  Hash.from_xml(response.body)
end
read_subscription(campaign, phone) click to toggle source

returns:

true on success
hash on false
# File lib/catapult/subscription.rb, line 33
def self.read_subscription(campaign, phone)
  http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions/#{phone}.xml", "GET")
  response = http.request(request)
  handle_response(response)
end
update_subscriber(campaign, phone, options = {}) click to toggle source

options = {

'birthday-on' => '02/18/1978',
'email' => 'fake@fake.co',
'gender' => "M"

}

# File lib/catapult/subscription.rb, line 54
def self.update_subscriber(campaign, phone, options = {})
  http, request = build_request("/api/subscription_campaigns/#{campaign}/subscriptions/#{phone}.xml", "PUT")
  xml = Nokogiri::XML::Builder.new do |x|
    x.subscription{
     x.user{
      x.send(:'mobile-phone', phone)
      x.send(:'carrier_id', options['carrier_id']) if options['carrier_id']
      x.send(:'first-name', options['first-name']) if options['first-name']
      x.send(:'last-name', options['last-name']) if options['last-name']
      x.send(:'birthday-on', options['birthday-on']) if options['birthday-on']
      x.send(:'email', options['email']) if options['email']
      x.send(:'gender', options['gender']) if options['gender']
      x.send(:'postal-code', options['postal-code']) if options['postal-code']
      x.send(:'timezone-id', options['timezone-id']) if options['timezone-id']
     }
    }
  end
  request.body = xml.to_xml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML | Nokogiri::XML::Node::SaveOptions::NO_DECLARATION).strip
  response = http.request(request)
  handle_response(response)
end