Class: CreateSend::Client
- Inherits:
-
Object
- Object
- CreateSend::Client
- Defined in:
- lib/createsend/client.rb
Overview
Represents a client and associated functionality.
Instance Attribute Summary collapse
-
#client_id ⇒ Object
readonly
Returns the value of attribute client_id.
Class Method Summary collapse
-
.create(company, timezone, country) ⇒ Object
Creates a client.
Instance Method Summary collapse
-
#campaigns ⇒ Object
Gets the sent campaigns belonging to this client.
-
#delete ⇒ Object
Deletes this client.
-
#details ⇒ Object
Gets the details of this client.
-
#drafts ⇒ Object
Gets the draft campaigns belonging to this client.
- #get_primary_contact ⇒ Object
-
#initialize(client_id) ⇒ Client
constructor
A new instance of Client.
-
#lists ⇒ Object
Gets the subscriber lists belonging to this client.
-
#lists_for_email(email_address) ⇒ Object
Gets the lists across a client, to which a subscriber with a particular email address belongs.
-
#people ⇒ Object
Gets the people associated with this client.
-
#scheduled ⇒ Object
Gets the currently scheduled campaigns belonging to this client.
-
#segments ⇒ Object
Gets the segments belonging to this client.
-
#set_basics(company, timezone, country) ⇒ Object
Sets the basic details for this client.
-
#set_monthly_billing(currency, client_pays, markup_percentage, monthly_scheme = nil) ⇒ Object
Sets the monthly billing settings for this client.
-
#set_payg_billing(currency, can_purchase_credits, client_pays, markup_percentage, markup_on_delivery = 0, markup_per_recipient = 0, markup_on_design_spam_test = 0) ⇒ Object
Sets the PAYG billing settings for this client.
- #set_primary_contact(email) ⇒ Object
-
#suppress(emails) ⇒ Object
Adds email addresses to a client’s suppression list.
-
#suppressionlist(page = 1, page_size = 1000, order_field = "email", order_direction = "asc") ⇒ Object
Gets this client’s suppression list.
-
#templates ⇒ Object
Gets the templates belonging to this client.
-
#transfer_credits(credits, can_use_my_credits_when_they_run_out) ⇒ Object
Transfer credits to or from this client.
-
#unsuppress(email) ⇒ Object
Unsuppresses an email address by removing it from the the client’s suppression list.
Constructor Details
#initialize(client_id) ⇒ Client
Returns a new instance of Client.
9 10 11 |
# File 'lib/createsend/client.rb', line 9 def initialize(client_id) @client_id = client_id end |
Instance Attribute Details
#client_id ⇒ Object (readonly)
Returns the value of attribute client_id.
7 8 9 |
# File 'lib/createsend/client.rb', line 7 def client_id @client_id end |
Class Method Details
.create(company, timezone, country) ⇒ Object
Creates a client.
14 15 16 17 18 19 20 |
# File 'lib/createsend/client.rb', line 14 def self.create(company, timezone, country) = { :body => { :CompanyName => company, :TimeZone => timezone, :Country => country }.to_json } CreateSend.post "/clients.json", end |
Instance Method Details
#campaigns ⇒ Object
Gets the sent campaigns belonging to this client.
29 30 31 32 |
# File 'lib/createsend/client.rb', line 29 def campaigns response = get 'campaigns' response.map{|item| Hashie::Mash.new(item)} end |
#delete ⇒ Object
Deletes this client.
181 182 183 |
# File 'lib/createsend/client.rb', line 181 def delete CreateSend.delete "/clients/#{client_id}.json", {} end |
#details ⇒ Object
Gets the details of this client.
23 24 25 26 |
# File 'lib/createsend/client.rb', line 23 def details response = CreateSend.get "/clients/#{client_id}.json", {} Hashie::Mash.new(response) end |
#drafts ⇒ Object
Gets the draft campaigns belonging to this client.
41 42 43 44 |
# File 'lib/createsend/client.rb', line 41 def drafts response = get 'drafts' response.map{|item| Hashie::Mash.new(item)} end |
#get_primary_contact ⇒ Object
73 74 75 76 |
# File 'lib/createsend/client.rb', line 73 def get_primary_contact response = get "primarycontact" Hashie::Mash.new(response) end |
#lists ⇒ Object
Gets the subscriber lists belonging to this client.
47 48 49 50 |
# File 'lib/createsend/client.rb', line 47 def lists response = get 'lists' response.map{|item| Hashie::Mash.new(item)} end |
#lists_for_email(email_address) ⇒ Object
Gets the lists across a client, to which a subscriber with a particular email address belongs. email_address - A String representing the subcriber’s email address
55 56 57 58 59 |
# File 'lib/createsend/client.rb', line 55 def lists_for_email(email_address) = { :query => { :email => email_address } } response = get 'listsforemail', response.map{|item| Hashie::Mash.new(item)} end |
#people ⇒ Object
Gets the people associated with this client
68 69 70 71 |
# File 'lib/createsend/client.rb', line 68 def people response = get "people" response.map{|item| Hashie::Mash.new(item)} end |
#scheduled ⇒ Object
Gets the currently scheduled campaigns belonging to this client.
35 36 37 38 |
# File 'lib/createsend/client.rb', line 35 def scheduled response = get 'scheduled' response.map{|item| Hashie::Mash.new(item)} end |
#segments ⇒ Object
Gets the segments belonging to this client.
62 63 64 65 |
# File 'lib/createsend/client.rb', line 62 def segments response = get 'segments' response.map{|item| Hashie::Mash.new(item)} end |
#set_basics(company, timezone, country) ⇒ Object
Sets the basic details for this client.
118 119 120 121 122 123 124 |
# File 'lib/createsend/client.rb', line 118 def set_basics(company, timezone, country) = { :body => { :CompanyName => company, :TimeZone => timezone, :Country => country }.to_json } put 'setbasics', end |
#set_monthly_billing(currency, client_pays, markup_percentage, monthly_scheme = nil) ⇒ Object
Sets the monthly billing settings for this client. monthly_scheme must be nil, Basic or Unlimited
143 144 145 146 147 148 149 150 151 |
# File 'lib/createsend/client.rb', line 143 def set_monthly_billing(currency, client_pays, markup_percentage, monthly_scheme = nil) = { :body => { :Currency => currency, :ClientPays => client_pays, :MarkupPercentage => markup_percentage, :MonthlyScheme => monthly_scheme }.to_json } put 'setmonthlybilling', end |
#set_payg_billing(currency, can_purchase_credits, client_pays, markup_percentage, markup_on_delivery = 0, markup_per_recipient = 0, markup_on_design_spam_test = 0) ⇒ Object
Sets the PAYG billing settings for this client.
127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/createsend/client.rb', line 127 def set_payg_billing(currency, can_purchase_credits, client_pays, markup_percentage, markup_on_delivery=0, markup_per_recipient=0, markup_on_design_spam_test=0) = { :body => { :Currency => currency, :CanPurchaseCredits => can_purchase_credits, :ClientPays => client_pays, :MarkupPercentage => markup_percentage, :MarkupOnDelivery => markup_on_delivery, :MarkupPerRecipient => markup_per_recipient, :MarkupOnDesignSpamTest => markup_on_design_spam_test }.to_json } put 'setpaygbilling', end |
#set_primary_contact(email) ⇒ Object
78 79 80 81 82 |
# File 'lib/createsend/client.rb', line 78 def set_primary_contact(email) = { :query => { :email => email } } response = put "primarycontact", Hashie::Mash.new(response) end |
#suppress(emails) ⇒ Object
Adds email addresses to a client’s suppression list
97 98 99 100 101 102 |
# File 'lib/createsend/client.rb', line 97 def suppress(emails) = { :body => { :EmailAddresses => emails.kind_of?(String) ? [ emails ] : emails }.to_json } response = post "suppress", end |
#suppressionlist(page = 1, page_size = 1000, order_field = "email", order_direction = "asc") ⇒ Object
Gets this client’s suppression list.
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/createsend/client.rb', line 85 def suppressionlist(page=1, page_size=1000, order_field="email", order_direction="asc") = { :query => { :page => page, :pagesize => page_size, :orderfield => order_field, :orderdirection => order_direction } } response = get 'suppressionlist', Hashie::Mash.new(response) end |
#templates ⇒ Object
Gets the templates belonging to this client.
112 113 114 115 |
# File 'lib/createsend/client.rb', line 112 def templates response = get 'templates' response.map{|item| Hashie::Mash.new(item)} end |
#transfer_credits(credits, can_use_my_credits_when_they_run_out) ⇒ Object
Transfer credits to or from this client.
credits - An Integer representing the number of credits to transfer.
This value may be either positive if you want to allocate credits from
your account to the client, or negative if you want to deduct credits
from the client back into your account.
can_use_my_credits_when_they_run_out - A Boolean value representing
which, if set to true, will allow the client to continue sending using
your credits or payment details once they run out of credits, and if
set to false, will prevent the client from using your credits to
continue sending until you allocate more credits to them.
Returns an object of the following form representing the result:
AccountCredits # Integer representing credits in your account now
ClientCredits # Integer representing credits in this client's
account now
171 172 173 174 175 176 177 178 |
# File 'lib/createsend/client.rb', line 171 def transfer_credits(credits, can_use_my_credits_when_they_run_out) = { :body => { :Credits => credits, :CanUseMyCreditsWhenTheyRunOut => can_use_my_credits_when_they_run_out }.to_json } response = post 'credits', Hashie::Mash.new(response) end |
#unsuppress(email) ⇒ Object
Unsuppresses an email address by removing it from the the client’s suppression list
106 107 108 109 |
# File 'lib/createsend/client.rb', line 106 def unsuppress(email) = { :query => { :email => email }, :body => '' } response = put "unsuppress", end |