Class: CreateSend::Client
- Inherits:
-
CreateSend
- Object
- CreateSend
- CreateSend::Client
- Defined in:
- lib/createsend/client.rb
Overview
Represents a client and associated functionality.
Constant Summary
Constants included from CreateSend
Instance Attribute Summary collapse
-
#client_id ⇒ Object
readonly
Returns the value of attribute client_id.
Class Method Summary collapse
-
.create(auth, 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(auth, 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(auth, client_id) ⇒ Client
Returns a new instance of Client.
6 7 8 9 |
# File 'lib/createsend/client.rb', line 6 def initialize(auth, client_id) @client_id = client_id super end |
Instance Attribute Details
#client_id ⇒ Object (readonly)
Returns the value of attribute client_id.
4 5 6 |
# File 'lib/createsend/client.rb', line 4 def client_id @client_id end |
Class Method Details
.create(auth, company, timezone, country) ⇒ Object
Creates a client.
12 13 14 15 16 17 18 19 |
# File 'lib/createsend/client.rb', line 12 def self.create(auth, company, timezone, country) = { :body => { :CompanyName => company, :TimeZone => timezone, :Country => country }.to_json } cs = CreateSend.new auth cs.post "/clients.json", end |
Instance Method Details
#campaigns ⇒ Object
Gets the sent campaigns belonging to this client.
28 29 30 31 |
# File 'lib/createsend/client.rb', line 28 def campaigns response = get 'campaigns' response.map{|item| Hashie::Mash.new(item)} end |
#delete ⇒ Object
Deletes this client.
180 181 182 |
# File 'lib/createsend/client.rb', line 180 def delete super "/clients/#{client_id}.json", {} end |
#details ⇒ Object
Gets the details of this client.
22 23 24 25 |
# File 'lib/createsend/client.rb', line 22 def details response = cs_get "/clients/#{client_id}.json", {} Hashie::Mash.new(response) end |
#drafts ⇒ Object
Gets the draft campaigns belonging to this client.
40 41 42 43 |
# File 'lib/createsend/client.rb', line 40 def drafts response = get 'drafts' response.map{|item| Hashie::Mash.new(item)} end |
#get_primary_contact ⇒ Object
72 73 74 75 |
# File 'lib/createsend/client.rb', line 72 def get_primary_contact response = get "primarycontact" Hashie::Mash.new(response) end |
#lists ⇒ Object
Gets the subscriber lists belonging to this client.
46 47 48 49 |
# File 'lib/createsend/client.rb', line 46 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
54 55 56 57 58 |
# File 'lib/createsend/client.rb', line 54 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
67 68 69 70 |
# File 'lib/createsend/client.rb', line 67 def people response = get "people" response.map{|item| Hashie::Mash.new(item)} end |
#scheduled ⇒ Object
Gets the currently scheduled campaigns belonging to this client.
34 35 36 37 |
# File 'lib/createsend/client.rb', line 34 def scheduled response = get 'scheduled' response.map{|item| Hashie::Mash.new(item)} end |
#segments ⇒ Object
Gets the segments belonging to this client.
61 62 63 64 |
# File 'lib/createsend/client.rb', line 61 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.
117 118 119 120 121 122 123 |
# File 'lib/createsend/client.rb', line 117 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
142 143 144 145 146 147 148 149 150 |
# File 'lib/createsend/client.rb', line 142 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.
126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/createsend/client.rb', line 126 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
77 78 79 80 81 |
# File 'lib/createsend/client.rb', line 77 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
96 97 98 99 100 101 |
# File 'lib/createsend/client.rb', line 96 def suppress(emails) = { :body => { :EmailAddresses => emails.kind_of?(String) ? [ emails ] : emails }.to_json } post "suppress", end |
#suppressionlist(page = 1, page_size = 1000, order_field = "email", order_direction = "asc") ⇒ Object
Gets this client’s suppression list.
84 85 86 87 88 89 90 91 92 93 |
# File 'lib/createsend/client.rb', line 84 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.
111 112 113 114 |
# File 'lib/createsend/client.rb', line 111 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
170 171 172 173 174 175 176 177 |
# File 'lib/createsend/client.rb', line 170 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
105 106 107 108 |
# File 'lib/createsend/client.rb', line 105 def unsuppress(email) = { :query => { :email => email }, :body => '' } put "unsuppress", end |