gnumarcelo-campaigning 0.8.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -46,9 +46,9 @@ Sample use of the Client class:
46
46
  #Here is how to create a brand new subscriber list for an Client
47
47
  client = Campaigning::Client.find_by_name("Client One Company")
48
48
  list = Campaigning::List.create(
49
- :client_id => client.clientID,
49
+ :clientID => client.clientID,
50
50
  :title => "List of people from Brazil",
51
- :comfirm_opt_in => false
51
+ :confirmOptIn => false
52
52
  )
53
53
 
54
54
  For further examples please check at the *sample* directory.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
- :minor: 8
4
- :patch: 2
3
+ :minor: 10
4
+ :patch: 1
@@ -14,23 +14,27 @@ module Campaigning
14
14
  #allowing you accurately determine the time on our server when you carry out the synchronization.
15
15
  def self.system_date
16
16
  response = Campaigning::SOAPDriver.instance.get_driver.getSystemDate(:apiKey => CAMPAIGN_MONITOR_API_KEY)
17
- dateTime = Helpers.handle_request response.user_GetSystemDateResult
17
+ dateTime = handle_response response.user_GetSystemDateResult
18
18
  end
19
19
 
20
20
  #This method returns an Array of Strings representing all the available timezones.
21
- def self.time_zones
22
- Helpers.handle_request Campaigning::SOAPDriver.instance.get_driver.getTimezones(:apiKey => CAMPAIGN_MONITOR_API_KEY).user_GetTimezonesResult
21
+ def self.timezones
22
+ handle_response Campaigning::SOAPDriver.instance.get_driver.getTimezones(:apiKey => CAMPAIGN_MONITOR_API_KEY).user_GetTimezonesResult
23
23
  end
24
24
 
25
25
  #This method returns an Array of Strings representing all the available countries.
26
26
  def self.countries
27
27
  response = Campaigning::SOAPDriver.instance.get_driver.getCountries(:apiKey => CAMPAIGN_MONITOR_API_KEY)
28
- dateTime = Helpers.handle_request response.user_GetCountriesResult
28
+ dateTime = handle_response response.user_GetCountriesResult
29
29
  end
30
30
 
31
31
  #This method turns on and off the API debug mode, which will display at the console all SOAP requests made to the API server.
32
32
  #
33
33
  def self.setup_debug_mode(dev)
34
34
  Campaigning::SOAPDriver.instance.setup_debug_mode dev
35
- end
35
+ end
36
+
37
+ def self.set_endpoint_url(endpoint_url)
38
+ Campaigning::SOAPDriver.instance.set_endpoint_url endpoint_url
39
+ end
36
40
  end
@@ -1,19 +1,27 @@
1
1
  module Campaigning
2
- module Helpers #:nodoc:
3
- #Method responsable to handle all response from the API server and raising an exception when
4
- #the API returns an error code (different from 0 (zero) ).
5
- def handle_request(response)
6
- Helpers.handle_request response
7
- end
8
-
9
- #Method responsable to handle all response from the API server and raising an exception when
10
- #the API returns an error code (different from 0 (zero) ).
11
- def Helpers.handle_request(response)
12
- if (response.class == Campaigning::Result && response.code != 0)
13
- raise response.code.to_s + " - " + response.message
2
+ module Helpers #:nodoc:
3
+ def self.included(base)
4
+ base.extend(ClassMethods) # Make all ClassMethods methods avaiable to the object including this module.
5
+ private :handle_response
6
+ end
7
+
8
+ def handle_response(response)
9
+ self.class.handle_response(response)
10
+ end
11
+
12
+ # All methods above will became Object methods
13
+ module ClassMethods #:nodoc:
14
+
15
+ #Method responsable to handle all response from the API server and raising an exception when
16
+ #the API returns an error code (different from 0 (zero) ).
17
+ def handle_response(response)
18
+ if (response.class == Campaigning::Result && response.code != 0)
19
+ raise response.code.to_s + " - " + response.message
20
+ end
21
+ response
22
+ end
23
+
14
24
  end
15
- response
25
+
16
26
  end
17
-
18
- end
19
27
  end
@@ -19,8 +19,12 @@ module Campaigning
19
19
  #SOAP requests made to the API server.
20
20
  def setup_debug_mode(dev)
21
21
  dev = STDERR if dev == true
22
+ get_driver
22
23
  @driver.wiredump_dev = dev
23
24
  end
24
25
 
26
+ def set_endpoint_url(endpoint_url)
27
+ @driver = Campaigning::ApiSoap.new(endpoint_url)
28
+ end
25
29
  end
26
30
  end
@@ -58,7 +58,7 @@ module Campaigning
58
58
  :listSegments => params[:listSegments]
59
59
  )
60
60
 
61
- campaign_id = Helpers.handle_request response.campaign_CreateResult
61
+ campaign_id = handle_response response.campaign_CreateResult
62
62
  Campaign.new campaign_id
63
63
  end
64
64
 
@@ -73,7 +73,7 @@ module Campaigning
73
73
  #*Error*: An Exception containing the cause of the error will be raised.
74
74
  def bounces
75
75
  response = @soap.getCampaignBounces(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
76
- handle_request response.campaign_GetBouncesResult
76
+ handle_response response.campaign_GetBouncesResult
77
77
  end
78
78
 
79
79
  #Returns an array of Campaigning::List objects that a given campaign was sent to.
@@ -85,8 +85,7 @@ module Campaigning
85
85
  #*Error*: An Exception containing the cause of the error will be raised.
86
86
  def lists
87
87
  response = @soap.getCampaignLists(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
88
- lists = handle_request response.campaign_GetListsResult
89
- puts "LISTAS!!!!!!!!!!" + lists.inspect
88
+ lists = handle_response response.campaign_GetListsResult
90
89
  lists.collect do |list|
91
90
  List.new(list.listID, list.name)
92
91
  end
@@ -103,7 +102,7 @@ module Campaigning
103
102
  #*Error*: An Exception containing the cause of the error will be raised.
104
103
  def opens
105
104
  response = @soap.getCampaignOpens(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
106
- handle_request response.campaign_GetOpensResult
105
+ handle_response response.campaign_GetOpensResult
107
106
  end
108
107
 
109
108
  #Gets a list of all subscribers who clicked a link for a given campaign, the ID of the list they belong to,
@@ -128,7 +127,7 @@ module Campaigning
128
127
  #*Error*: An Exception containing the cause of the error will be raised.
129
128
  def subscriber_clicks
130
129
  response = @soap.getSubscriberClicks(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
131
- handle_request response.campaign_GetSubscriberClicksResult
130
+ handle_response response.campaign_GetSubscriberClicksResult
132
131
  end
133
132
 
134
133
  #Gets a statistical summary, including number of recipients and open count, for a given campaign.
@@ -142,7 +141,7 @@ module Campaigning
142
141
  #*Error*: An Exception containing the cause of the error will be raised.
143
142
  def summary
144
143
  response = @soap.getCampaignSummary(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
145
- handle_request response.campaign_GetSummaryResult
144
+ handle_response response.campaign_GetSummaryResult
146
145
  end
147
146
 
148
147
  #Gets a list of all subscribers who unsubscribed for a given campaign.
@@ -155,7 +154,7 @@ module Campaigning
155
154
  #*Error*: An Exception containing the cause of the error will be raised.
156
155
  def unsubscribes
157
156
  response = @soap.getCampaignUnsubscribes(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
158
- handle_request response.campaign_GetUnsubscribesResult
157
+ handle_response response.campaign_GetUnsubscribesResult
159
158
  end
160
159
 
161
160
  #Schedules an existing campaign for sending.
@@ -166,8 +165,8 @@ module Campaigning
166
165
  #For further information about credits for campaigns please check at: http://www.campaignmonitor.com/api/method/campaign-send/
167
166
  #
168
167
  #Available _params_ argument are:
169
- # * :confirmation_email - The email address that the confirmation email that the campaign has been sent will go to.
170
- # * :send_date - The date the campaign should be scheduled to be sent. To send a campaign immediately pass in "Immediately".
168
+ # * :confirmationEmail - The email address that the confirmation email that the campaign has been sent will go to.
169
+ # * :sendDate - The date the campaign should be scheduled to be sent. To send a campaign immediately pass in "Immediately".
171
170
  # This date should be in the users timezone and formatted as YYYY-MM-DD HH:MM:SS.
172
171
  #
173
172
  #*Return*:
@@ -178,10 +177,10 @@ module Campaigning
178
177
  response = @soap.sendCampaign(
179
178
  :apiKey => CAMPAIGN_MONITOR_API_KEY,
180
179
  :campaignID => @campaignID,
181
- :confirmationEmail => params[:confirmation_email],
182
- :sendDate => params[:send_date]
180
+ :confirmationEmail => params[:confirmationEmail],
181
+ :sendDate => params[:sendDate]
183
182
  )
184
- handle_request response.campaign_SendResult
183
+ handle_response response.campaign_SendResult
185
184
  end
186
185
 
187
186
  end
@@ -24,7 +24,7 @@ class Client
24
24
  #*Error*: An Exception containing the cause of the error will be raised.
25
25
  def lists
26
26
  response = @soap.getClientLists(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID)
27
- lists = handle_request response.client_GetListsResult
27
+ lists = handle_response response.client_GetListsResult
28
28
  lists.collect {|list| List.new(list.listID, list.name)}
29
29
  end
30
30
 
@@ -69,7 +69,7 @@ class Client
69
69
  #*Error*: An Exception containing the cause of the error will be raised.
70
70
  def self.get_all_clients
71
71
  response = Campaigning::SOAPDriver.instance.get_driver.getClients(:apiKey => CAMPAIGN_MONITOR_API_KEY)
72
- clients = Helpers.handle_request response.user_GetClientsResult
72
+ clients = handle_response response.user_GetClientsResult
73
73
  clients.collect {|client| Client.new(client.clientID, client.name)}
74
74
  end
75
75
 
@@ -78,13 +78,13 @@ class Client
78
78
  #means of a subsequent call to Campaigning::Client#update_access_and_billing.
79
79
  #
80
80
  #Available _params_ argument are:
81
- # * :company_name - The client company name.
82
- # * :contact_name - The personal name of the principle contact for this client.
83
- # * :email_address - An email address to which this client will be sent application-related emails.
81
+ # * :companyName - The client company name.
82
+ # * :contactName - The personal name of the principle contact for this client.
83
+ # * :emailAddress - An email address to which this client will be sent application-related emails.
84
84
  # * :country - This client's country. A valid country list is available in http://www.campaignmonitor.com/api/countries/ or by
85
85
  # using the API procedure Campaigning.countries
86
- # * :time_zone - Client timezone for tracking and reporting data. A valid timezone list is available here or by using the API
87
- # procedure Campaigning.time_zones.
86
+ # * :timezone - Client timezone for tracking and reporting data. A valid timezone list is available here or by using the API
87
+ # procedure Campaigning.timezones.
88
88
  #*Return*:
89
89
  #
90
90
  #*Success*: Upon a successful call, this method will return a Campaigning::Client object representing the newly created client.
@@ -93,13 +93,13 @@ class Client
93
93
  def self.create(params)
94
94
  response = Campaigning::SOAPDriver.instance.get_driver.createClient(
95
95
  :apiKey => CAMPAIGN_MONITOR_API_KEY,
96
- :companyName => params[:company_name],
97
- :contactName => params[:contact_name],
98
- :emailAddress => params[:email_address],
96
+ :companyName => params[:companyName],
97
+ :contactName => params[:contactName],
98
+ :emailAddress => params[:emailAddress],
99
99
  :country => params[:country],
100
- :timezone => params[:time_zone]
100
+ :timezone => params[:timezone]
101
101
  )
102
- Client.new( Helpers.handle_request(response.client_CreateResult), params[:company_name] )
102
+ Client.new( handle_response(response.client_CreateResult), params[:companyName] )
103
103
  end
104
104
 
105
105
  #Deletes a client from your account.
@@ -126,7 +126,7 @@ class Client
126
126
  #*Error*: An Exception containing the cause of the error will be raised.
127
127
  def self.delete(client_id)
128
128
  response = Campaigning::SOAPDriver.instance.get_driver.deleteClient(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => client_id)
129
- Helpers.handle_request response.client_DeleteResult
129
+ handle_response response.client_DeleteResult
130
130
  end
131
131
 
132
132
  #Gets a list of all subscriber segments for a client.
@@ -139,7 +139,7 @@ class Client
139
139
  #*Error*: An Exception containing the cause of the error will be raised.
140
140
  def segments # TODO: Verify the type return for this method.
141
141
  response = @soap.getClientSegments(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID )
142
- handle_request response.client_GetSegmentsResult
142
+ handle_response response.client_GetSegmentsResult
143
143
  end
144
144
 
145
145
  #This method finds campaigns by a given subject, since the subject isn't unique, it returns an collection of
@@ -170,7 +170,7 @@ class Client
170
170
  #*Error*: An Exception containing the cause of the error will be raised.
171
171
  def campaigns
172
172
  response = @soap.getClientCampaigns(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID )
173
- campaign_list = handle_request response.client_GetCampaignsResult
173
+ campaign_list = handle_response response.client_GetCampaignsResult
174
174
  campaign_list.collect do |campaign|
175
175
  Campaign.new(campaign.campaignID, campaign.subject, campaign.sentDate, campaign.totalRecipients)
176
176
  end
@@ -207,7 +207,7 @@ class Client
207
207
  #*Error*: An Exception containing the cause of the error will be raised.
208
208
  def details
209
209
  response = @soap.getClientDetail(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID )
210
- handle_request response.client_GetDetailResult
210
+ handle_response response.client_GetDetailResult
211
211
  end
212
212
 
213
213
  #Gets all subscribers in the client-wide suppression list.
@@ -219,7 +219,7 @@ class Client
219
219
  #*Error*: An Exception containing the cause of the error will be raised.
220
220
  def suppression_list
221
221
  response = @soap.getClientSuppressionList(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID )
222
- handle_request response.client_GetSuppressionListResult
222
+ handle_response response.client_GetSuppressionListResult
223
223
  end
224
224
 
225
225
  #Update the access and billing settings of an existing client, leaving the basic details untouched.
@@ -229,23 +229,23 @@ class Client
229
229
  #and will be fully described along with each parameter.
230
230
  #
231
231
  #Available _params_ argument are:
232
- # * :access_level - An integer describing the client's ability to access different areas of the application. Influences the significance
232
+ # * :accessLevel - An integer describing the client's ability to access different areas of the application. Influences the significance
233
233
  # and requirements of the following parameters. See http://www.campaignmonitor.com/api/method/client-updateaccessandbilling/#accesslevels
234
234
  # for a full description of available levels.
235
235
  # * :username - Client login username. Not required and ignored if AccessLevel is set to 0.
236
236
  # * :password - Client login password. Not required and ignored if AccessLevel is set to 0.
237
- # * :billing_type - Client billing type, only required if :access_level is set to allow the client to create and send campaigns
238
- # * :currency - Billing currency for this client, only required if :billing_type is set to either ClientPaysAtStandardRate or
237
+ # * :billingType - Client billing type, only required if :accessLevel is set to allow the client to create and send campaigns
238
+ # * :currency - Billing currency for this client, only required if :billingType is set to either ClientPaysAtStandardRate or
239
239
  # ClientPaysWithMarkup. See full details: http://www.campaignmonitor.com/api/method/client-updateaccessandbilling/#currencies.
240
- # * :delivery_fee - Flat rate delivery fee to be charged to the client for each campaign sent, expressed in the chosen currency's
240
+ # * :deliveryFee - Flat rate delivery fee to be charged to the client for each campaign sent, expressed in the chosen currency's
241
241
  # major unit, but without the currency symbol (for example, sending "6.5" means "$6.50" if USD is used). Only
242
242
  # required if BillingType is set to ClientPaysWithMarkup, in which case it should be at least equal to the standard rate.
243
243
  # Further detail is available at http://help.campaignmonitor.com/topic.aspx?t=118.
244
- # * :cost_per_recipient - Additional cost added to the campaign for each email address the campaign is sent to, expressed in the chosen
244
+ # * :costPerRecipient - Additional cost added to the campaign for each email address the campaign is sent to, expressed in the chosen
245
245
  # currency's minor unit (for example, sending "1.5" means 1.5 cents per email address if USD is used). Only required
246
246
  # if BillingType is set to ClientPaysWithMarkup, in which case it should be at least equal to the standard cost/recipient
247
247
  # rate. Further detail is available at http://help.campaignmonitor.com/topic.aspx?t=118.
248
- # * :design_and_spam_test_fee - Expressed in the chosen currency's major unit (for example, sending "10" means "$10" if USD is used). Only required
248
+ # * :designAndSpamTestFee - Expressed in the chosen currency's major unit (for example, sending "10" means "$10" if USD is used). Only required
249
249
  # if BillingType is set to ClientPaysWithMarkup and client has access to design and spam tests, in which case the fee
250
250
  # should be equal to or higher than the standard rate (identical to the standard DeliveryFee for that currency).
251
251
  #
@@ -263,16 +263,16 @@ class Client
263
263
  response = @soap.updateClientAccessAndBilling(
264
264
  :apiKey => CAMPAIGN_MONITOR_API_KEY,
265
265
  :clientID => @clientID,
266
- :accessLevel => params[:access_level],
266
+ :accessLevel => params[:accessLevel],
267
267
  :username => params.fetch(:username, ""),
268
268
  :password => params.fetch(:password, ""),
269
- :billingType => params.fetch(:billing_type, ""),
269
+ :billingType => params.fetch(:billingType, ""),
270
270
  :currency => params.fetch(:currency, ""),
271
- :deliveryFee => params.fetch(:delivery_fee, ""),
272
- :costPerRecipient => params.fetch(:cost_per_recipient, ""),
273
- :designAndSpamTestFee => params.fetch(:design_and_spam_test_fee, "")
271
+ :deliveryFee => params.fetch(:deliveryFee, ""),
272
+ :costPerRecipient => params.fetch(:costPerRecipient, ""),
273
+ :designAndSpamTestFee => params.fetch(:designAndSpamTestFee, "")
274
274
  )
275
- handle_request response.client_UpdateAccessAndBillingResult
275
+ handle_response response.client_UpdateAccessAndBillingResult
276
276
  end
277
277
 
278
278
  #Updates the basic details of an existing client.
@@ -280,12 +280,12 @@ class Client
280
280
  #access and billing details will remain unchanged by a call to this method.
281
281
  #
282
282
  #Available _params_ argument are:
283
- # * :company_name - The client company name.
284
- # * :contact_name - The personal name of the principle contact for this client.
285
- # * :email_address - An email address to which this client will be sent application-related emails.
283
+ # * :companyName - The client company name.
284
+ # * :contactName - The personal name of the principle contact for this client.
285
+ # * :emailAddress - An email address to which this client will be sent application-related emails.
286
286
  # * :country - This client's country.
287
- # * :time_zone - Client timezone for tracking and reporting data. Valid timezone strings are obtainable by means of the
288
- # API procedure Campaigning.time_zones.
287
+ # * :timezone - Client timezone for tracking and reporting data. Valid timezone strings are obtainable by means of the
288
+ # API procedure Campaigning.timezones.
289
289
  #
290
290
  #*Return*:
291
291
  #
@@ -297,13 +297,13 @@ class Client
297
297
  response = @soap.updateClientBasics(
298
298
  :apiKey => CAMPAIGN_MONITOR_API_KEY,
299
299
  :clientID => @clientID,
300
- :companyName => params[:company_name],
301
- :contactName => params[:contact_name],
302
- :emailAddress => params[:email_address],
300
+ :companyName => params[:companyName],
301
+ :contactName => params[:contactName],
302
+ :emailAddress => params[:emailAddress],
303
303
  :country => params[:country],
304
- :timezone => params[:time_zone]
304
+ :timezone => params[:timezone]
305
305
  )
306
- handle_request response.client_UpdateBasicsResult
306
+ handle_response response.client_UpdateBasicsResult
307
307
  end
308
308
 
309
309
 
@@ -19,13 +19,13 @@ module Campaigning
19
19
  #Creates a brand new subscriber list
20
20
  #
21
21
  #Available _params_ argument are:
22
- # * :client_id - The ID of the client who will owner of the list.
22
+ # * :clientID - The ID of the client who will owner of the list.
23
23
  # * :title - The list title. Must be unique for this client.
24
- # * :unsubscribe_page - The URL to which subscribers will be directed when unsubscribing from the list.
24
+ # * :unsubscribePage - The URL to which subscribers will be directed when unsubscribing from the list.
25
25
  # If left blank or omitted a generic unsubscribe page is used.
26
- # * :comfirm_opt_in - Either true or false depending on whether the list requires email confirmation or not. Please see
26
+ # * :confirmOptIn - Either true or false depending on whether the list requires email confirmation or not. Please see
27
27
  # the help documentation for more details of what this means.
28
- # * :confirmation_success_page - Successful email confirmations will be redirected to this URL. Ignored if ConfirmOptIn
28
+ # * :confirmationSuccessPage - Successful email confirmations will be redirected to this URL. Ignored if ConfirmOptIn
29
29
  # is false. If left blank or omitted a generic confirmation page is used.
30
30
  #*Return*:
31
31
  #
@@ -35,21 +35,21 @@ module Campaigning
35
35
  def self.create(params)
36
36
  response = Campaigning::SOAPDriver.instance.get_driver.createList(
37
37
  :apiKey => CAMPAIGN_MONITOR_API_KEY,
38
- :clientID => params[:client_id],
38
+ :clientID => params[:clientID],
39
39
  :title => params[:title],
40
- :unsubscribePage => params.fetch(:unsubscribe_page, ""),
41
- :confirmOptIn => params[:comfirm_opt_in],
42
- :confirmationSuccessPage => params.fetch(:confirmation_success_page, "")
40
+ :unsubscribePage => params.fetch(:unsubscribePage, ""),
41
+ :confirmOptIn => params[:confirmOptIn],
42
+ :confirmationSuccessPage => params.fetch(:confirmationSuccessPage, "")
43
43
  )
44
- new_list_id = Helpers.handle_request response.list_CreateResult
44
+ new_list_id = handle_response response.list_CreateResult
45
45
  List.new(new_list_id, params[:title])
46
46
  end
47
47
 
48
48
  #Creates a new custom field for a list
49
49
  #
50
50
  #Available _params_ argument are:
51
- # * :field_name - The Name for the new Custom Field. This will be used to generate the custom fields Key.
52
- # * :data_type - The Data Type for the new Custom Field. This must be one of Text, Number, MultiSelectOne, or MultiSelectMany
51
+ # * :fieldName - The Name for the new Custom Field. This will be used to generate the custom fields Key.
52
+ # * :dataType - The Data Type for the new Custom Field. This must be one of Text, Number, MultiSelectOne, or MultiSelectMany
53
53
  # * :options - The available options for a multi-valued custom field. Options should be an Array of Strings, like: %w[Brazil Ireland England].
54
54
  # You can't pass this field for Text and Number custom fields
55
55
  #
@@ -63,11 +63,11 @@ module Campaigning
63
63
  response = @soap.createListCustomField(
64
64
  :apiKey => CAMPAIGN_MONITOR_API_KEY,
65
65
  :listID => @listID,
66
- :fieldName => params[:field_name],
67
- :dataType => params[:data_type],
66
+ :fieldName => params[:fieldName],
67
+ :dataType => params[:dataType],
68
68
  :options => params.fetch(:options, "")
69
69
  )
70
- handle_request response.list_CreateCustomFieldResult
70
+ handle_response response.list_CreateCustomFieldResult
71
71
  end
72
72
 
73
73
  #Deletes a list
@@ -93,7 +93,7 @@ module Campaigning
93
93
  #*Error*: An Exception containing the cause of the error will be raised.
94
94
  def self.delete(list_id)
95
95
  response = Campaigning::SOAPDriver.instance.get_driver.deleteList(:apiKey => CAMPAIGN_MONITOR_API_KEY, :listID => list_id)
96
- Helpers.handle_request response.list_DeleteResult
96
+ handle_response response.list_DeleteResult
97
97
  end
98
98
 
99
99
  #Deletes a custom field from a list
@@ -106,7 +106,7 @@ module Campaigning
106
106
  #*Error*: An Exception containing the cause of the error will be raised.
107
107
  def delete_custom_field(key)
108
108
  response = @soap.deleteListCustomField(:apiKey => CAMPAIGN_MONITOR_API_KEY, :listID => @listID, :key => '['+key+']')
109
- handle_request response.list_DeleteCustomFieldResult
109
+ handle_response response.list_DeleteCustomFieldResult
110
110
  end
111
111
 
112
112
  #Gets all the Custom Fields available for a list
@@ -119,7 +119,7 @@ module Campaigning
119
119
  #*Error*: An Exception containing the cause of the error will be raised.
120
120
  def custom_fields
121
121
  response = @soap.getListCustomFields(:apiKey => CAMPAIGN_MONITOR_API_KEY, :listID => @listID)
122
- handle_request response.list_GetCustomFieldsResult
122
+ handle_response response.list_GetCustomFieldsResult
123
123
  end
124
124
 
125
125
  #Gets a list's configuration detail
@@ -132,7 +132,7 @@ module Campaigning
132
132
  #*Error*: An Exception containing the cause of the error will be raised.
133
133
  def details
134
134
  response = @soap.getListDetail(:apiKey => CAMPAIGN_MONITOR_API_KEY, :listID => @listID)
135
- handle_request response.list_GetDetailResult
135
+ handle_response response.list_GetDetailResult
136
136
  end
137
137
 
138
138
  #Gets a list of all active subscribers for a list.
@@ -162,7 +162,7 @@ module Campaigning
162
162
  :listID => @listID,
163
163
  :date =>joined_at.strftime('%Y-%m-%d %H:%M:%S')
164
164
  )
165
- handle_request response.subscribers_GetActiveResult
165
+ handle_response response.subscribers_GetActiveResult
166
166
  end
167
167
 
168
168
  #Gets a list of all subscribers for a list that have unsubscribed since the specified date.
@@ -182,7 +182,7 @@ module Campaigning
182
182
  :listID => @listID,
183
183
  :date => unjoined_at.strftime('%Y-%m-%d %H:%M:%S') # TODO: Move that to a helper method
184
184
  )
185
- handle_request response.subscribers_GetUnsubscribedResult
185
+ handle_response response.subscribers_GetUnsubscribedResult
186
186
  end
187
187
 
188
188
  #This method returns all of a particular subscribers details, including email address, name, active/inactive
@@ -199,18 +199,18 @@ module Campaigning
199
199
  :listID => @listID,
200
200
  :emailAddress => email_address
201
201
  )
202
- handle_request response.subscribers_GetSingleSubscriberResult
202
+ handle_response response.subscribers_GetSingleSubscriberResult
203
203
  end
204
204
 
205
205
  #Update a subscriber list’s details
206
206
  #
207
207
  #Available _params_ argument are:
208
208
  # * :title - The list title, as it will be shown in the application and through the API.
209
- # * :unsubscribe_page - The URL to which subscribers will be directed when unsubscribing from the list.
209
+ # * :unsubscribePage - The URL to which subscribers will be directed when unsubscribing from the list.
210
210
  # If left blank or omitted a generic unsubscribe page is used.
211
- # * :comfirm_opt_in - Either true or false depending on whether the list requires email confirmation or not. Please see
211
+ # * :confirmOptIn - Either true or false depending on whether the list requires email confirmation or not. Please see
212
212
  # the help documentation for more details of what this means.
213
- # * :confirmation_success_page - Successful email confirmations will be redirected to this URL. Ignored if ConfirmOptIn
213
+ # * :confirmationSuccessPage - Successful email confirmations will be redirected to this URL. Ignored if ConfirmOptIn
214
214
  # is false. If left blank or omitted a generic confirmation page is used.
215
215
  #
216
216
  #*Return*:
@@ -224,11 +224,11 @@ module Campaigning
224
224
  :apiKey => CAMPAIGN_MONITOR_API_KEY,
225
225
  :listID => @listID,
226
226
  :title => params[:title],
227
- :unsubscribePage => params.fetch(:unsubscribe_page, ""),
228
- :confirmOptIn => params[:comfirm_opt_in],
229
- :confirmationSuccessPage => params.fetch(:confirmation_success_page, "")
227
+ :unsubscribePage => params.fetch(:unsubscribePage, ""),
228
+ :confirmOptIn => params[:confirmOptIn],
229
+ :confirmationSuccessPage => params.fetch(:confirmationSuccessPage, "")
230
230
  )
231
- handle_request response.list_UpdateResult
231
+ handle_response response.list_UpdateResult
232
232
  end
233
233
 
234
234
  protected
@@ -43,7 +43,7 @@ class Subscriber
43
43
  :email => @emailAddress,
44
44
  :name => @name
45
45
  )
46
- handle_request response.subscriber_AddResult
46
+ handle_response response.subscriber_AddResult
47
47
  end
48
48
 
49
49
  #Adds a subscriber (email address, name) to an existing subscriber list. If the subscriber (email address) already exists,
@@ -68,7 +68,7 @@ class Subscriber
68
68
  :email => @emailAddress,
69
69
  :name => @name
70
70
  )
71
- handle_request response.subscriber_AddAndResubscribeResult
71
+ handle_response response.subscriber_AddAndResubscribeResult
72
72
  end
73
73
 
74
74
 
@@ -95,7 +95,7 @@ class Subscriber
95
95
  :name => @name,
96
96
  :customFields => custom_fields_array(custom_fields)
97
97
  )
98
- handle_request response.subscriber_AddAndResubscribeWithCustomFieldsResult
98
+ handle_response response.subscriber_AddAndResubscribeWithCustomFieldsResult
99
99
  end
100
100
 
101
101
  #Adds a subscriber to a subscriber list, including adding custom field data for the subscriber. If the subscriber (email address)
@@ -121,7 +121,7 @@ class Subscriber
121
121
  :name => @name,
122
122
  :customFields => custom_fields_array(custom_fields)
123
123
  )
124
- handle_request response.subscriber_AddWithCustomFieldsResult
124
+ handle_response response.subscriber_AddWithCustomFieldsResult
125
125
  end
126
126
 
127
127
  #Changes the status of an Active Subscriber to an Unsubscribed Subscriber who will no longer receive
@@ -148,7 +148,7 @@ class Subscriber
148
148
  :listID => list_id,
149
149
  :email => email
150
150
  )
151
- Helpers.handle_request response.subscriber_UnsubscribeResult
151
+ handle_response response.subscriber_UnsubscribeResult
152
152
  end
153
153
 
154
154
  #Returns True or False as to the existence of the given email address in the list supplied.
@@ -163,7 +163,7 @@ class Subscriber
163
163
  :listID => list_id,
164
164
  :email => email
165
165
  )
166
- response = Helpers.handle_request response.subscribers_GetIsSubscribedResult
166
+ response = handle_response response.subscribers_GetIsSubscribedResult
167
167
  response == 'True' ? true : false
168
168
  end
169
169
 
@@ -1,51 +1,54 @@
1
1
  require 'test_helper'
2
2
 
3
3
  # Replace this API key with your own (http://www.campaignmonitor.com/api/)
4
- CAMPAIGN_MONITOR_API_KEY = '54cae7f3aa1f35cb3bb5bc41756d8b7f'
5
- #CLIENT_ID = 'd7acfd4cd2ffffc2d86b8903d18a1276'
6
- #CLIENT_TWO_ID = '730acd1e8d27d56bdb87e88685613d72'
4
+ CAMPAIGN_MONITOR_API_KEY = '__PUT_YOUR_API_KEY_HERE__'
7
5
 
8
6
  class CampaigningTest < Test::Unit::TestCase
9
-
10
-
11
- def test_campaigning_system_date
12
- date = Campaigning.system_date
13
- assert !date.nil?
14
- end
15
-
16
- def test_user_get_time_zones
17
- time_zones = Campaigning.time_zones
18
- assert !time_zones.nil?
19
- end
20
-
21
- def test_user_countries
22
- countries = Campaigning.countries
23
- assert !countries.nil?
24
- end
25
-
7
+
8
+
9
+ def setup
10
+ #Campaigning.set_endpoint_url "http://127.0.0.1:8088/mockapiSoap"
11
+ #Campaigning.setup_debug_mode(true)
12
+ end
13
+
14
+ def test_campaigning_system_date
15
+ date = Campaigning.system_date
16
+ assert !date.nil?
17
+ end
18
+
19
+ def test_user_get_timezones
20
+ timezones = Campaigning.timezones
21
+ assert !timezones.nil?
22
+ end
23
+
24
+ def test_user_countries
25
+ countries = Campaigning.countries
26
+ assert !countries.nil?
27
+ end
28
+
26
29
  def test_client_get_all_clients
27
30
  clients = Campaigning::Client.get_all_clients
28
31
  assert clients.length > 0
29
32
  #clients.each{ |c| puts c.clientID + " - " + c.name }
30
33
  end
31
-
34
+
32
35
  def test_client_lists
33
36
  client = Campaigning::Client.find_by_name("Client One Company")
34
37
  assert client.lists.length > 0
35
38
  end
36
-
37
-
38
- def test_client_create
39
- client_created = Campaigning::Client.create(
40
- :company_name => "My test client",
41
- :contact_name => "Oswald Green15",
42
- :email_address => "og15@user.com",
43
- :country => "Ireland",
44
- :time_zone => Campaigning.time_zones[1]
45
- )
46
- assert !client_created.clientID.nil?
47
- end
48
-
39
+
40
+ #
41
+ # def test_client_create
42
+ # client_created = Campaigning::Client.create(
43
+ # :companyName => "My test client",
44
+ # :contactName => "Oswald Green15",
45
+ # :emailAddress => "og15@user.com",
46
+ # :country => "Ireland",
47
+ # :timezone => Campaigning.timezones[1]
48
+ # )
49
+ # assert !client_created.clientID.nil?
50
+ # end
51
+ #
49
52
  # def test_client_delete
50
53
  # response = Campaigning::Client.delete(client_created.clientID)
51
54
  # assert response.code == 0
@@ -55,26 +58,24 @@ class CampaigningTest < Test::Unit::TestCase
55
58
  # client = Campaigning::Client.find_by_name("Orange Company 7")
56
59
  # client.delete
57
60
  # end
58
-
59
- # def test_client_segments
60
- # client = Campaigning::Client.find_by_name("Client One Company")
61
- # assert client.segments.length > 0
62
- # puts client.segments.inspect
63
- # end
64
-
65
-
61
+
62
+ def test_client_segments
63
+ client = Campaigning::Client.find_by_name("Client One Company")
64
+ assert client.segments.length > 0
65
+ end
66
+
67
+
66
68
  def test_find_client_by_name
67
69
  client = Campaigning::Client.find_by_name("Client One Company")
68
- puts client.inspect
69
70
  assert !client.nil? && client.name == "Client One Company"
70
71
  end
71
-
72
-
73
- # def test_get_client_campaigns
74
- # client = Campaigning::Client.find_by_name("Client One Company")
75
- # puts client.campaigns.inspect
76
- # end
77
-
72
+
73
+
74
+ def test_get_client_campaigns
75
+ client = Campaigning::Client.find_by_name("Client One Company")
76
+ puts client.campaigns.inspect
77
+ end
78
+
78
79
  def test_get_client_details
79
80
  client = Campaigning::Client.find_by_name("Client One Company")
80
81
  # client_details = client.details
@@ -96,64 +97,63 @@ class CampaigningTest < Test::Unit::TestCase
96
97
  # Cost per Recipient: #{access_and_billing_details.costPerRecipient} - \n
97
98
  # Design and Span test Fee: #{access_and_billing_details.designAndSpamTestFee} - \n
98
99
  # Access Level: #{access_and_billing_details.accessLevel}"
99
-
100
+
100
101
  assert !client.details.nil?
101
-
102
+
102
103
  end
103
-
104
- # def test_get_client_suppression_list
105
- # client = Campaigning::Client.find_by_name("Client One Company")
106
- # puts client.suppression_list.inspect
107
- # end
108
-
109
- # def test_client_update_access_and_billing
110
- # client = Campaigning::Client.find_by_name("Client One Company")
111
- # response = client.update_access_and_billing(
112
- # :access_level => 5 ,
113
- # :username => "client_one",
114
- # :password => "1234560",
115
- # :billing_type => "UserPaysOnClientsBehalf",
116
- # :currency => "USD",
117
- # :delivery_fee => 6.5,
118
- # :cost_per_recipient => 1.5 ,
119
- # :design_and_spam_test_fee => 5
120
- # )
121
- # assert response.code == 0
122
- # end
123
- #
124
- # def test_client_update_basics
125
- # client = Campaigning::Client.find_by_name("Client Two ")
126
- # response = client.update_basics(
127
- # :company_name => "My new Company",
128
- # :contact_name => "Mr. Gordon Newman",
129
- # :email_address => "gordon-newman@test.com",
130
- # :country => "Ireland",
131
- # :time_zone => @cm.time_zones[1]
132
- # )
133
- # assert response.code == 0
134
- # end
135
- #
136
- # def test_client_find_list_by_name
137
- # client = Campaigning::Client.find_by_name("Client One Company")
138
- # list = client.find_list_by_name "My Friends"
139
- # puts list.inspect
140
- # assert list.nil? == false
141
- # end
142
104
 
143
-
105
+ def test_get_client_suppression_list
106
+ client = Campaigning::Client.find_by_name("Client One Company")
107
+ puts client.suppression_list.inspect
108
+ end
109
+
110
+ def test_client_update_access_and_billing
111
+ client = Campaigning::Client.find_by_name("Client One Company")
112
+ response = client.update_access_and_billing(
113
+ :accessLevel => 5 ,
114
+ :username => "client_one",
115
+ :password => "1234560",
116
+ :billingType => "UserPaysOnClientsBehalf",
117
+ :currency => "USD",
118
+ :deliveryFee => 6.5,
119
+ :costPerRecipient => 1.5 ,
120
+ :designAndSpamTestFee => 5
121
+ )
122
+ assert response.code == 0
123
+ end
124
+
125
+ def test_client_update_basics
126
+ client = Campaigning::Client.find_by_name("Client Two")
127
+ response = client.update_basics(
128
+ :companyName => "My new Company",
129
+ :contactName => "Mr. Gordon Newman",
130
+ :emailAddress => "gordon-newman@test.com",
131
+ :country => "Ireland",
132
+ :timezone => Campaigning.timezones[1]
133
+ )
134
+ assert response.code == 0
135
+ end
136
+
137
+ def test_client_find_list_by_name
138
+ client = Campaigning::Client.find_by_name("Client One Company")
139
+ list = client.find_list_by_name "My Friends"
140
+ assert list.nil? == false
141
+ end
142
+
143
+
144
144
  # def test_campaign_create
145
145
  # client = Campaigning::Client.find_by_name("Client One Company")
146
146
  # response = Campaigning::Campaign.create(
147
- # :clientID => client.clientID,
148
- # :campaignName => "Campaign by myself RUBY TO DELETE - CODEEEEE",
149
- # :campaignSubject => "Campaign by myself - OK - CODEEEEE",
150
- # :fromName => "Mr. Gordon2",
151
- # :fromEmail => "gordon2@test.com",
152
- # :replyTo => "no-reply@test.com",
153
- # :htmlUrl => "http://www.campaignmonitor.com/api/method/campaign-create/",
154
- # :textUrl => "http://www.google.com.br",
155
- # :subscriberListIDs => ["ac52b645c048888a44c87b5f1ecf6b7d"],
156
- # :listSegments => client.segments
147
+ # :clientID => client.clientID,
148
+ # :campaignName => "Campaign by myself RUBY TO DELETE - CODEEEEE",
149
+ # :campaignSubject => "Campaign by myself - OK - CODEEEEE",
150
+ # :fromName => "Mr. Gordon2",
151
+ # :fromEmail => "gordon2@test.com",
152
+ # :replyTo => "no-reply@test.com",
153
+ # :htmlUrl => "http://www.campaignmonitor.com/api/method/campaign-create/",
154
+ # :textUrl => "http://www.google.com.br",
155
+ # :subscriberListIDs => ["ac52b645c048888a44c87b5f1ecf6b7d"],
156
+ # :listSegments => client.segments
157
157
  # )
158
158
  # puts response.inspect
159
159
  # end
@@ -163,7 +163,7 @@ class CampaigningTest < Test::Unit::TestCase
163
163
  # client = Campaigning::Client.find_by_name("Client One Company")
164
164
  # puts client.campaigns[1].bounces.inspect
165
165
  # end
166
- #
166
+ #
167
167
  # def test_campaign_lists
168
168
  # client = Campaigning::Client.find_by_name("Client One Company")
169
169
  # client.campaigns[0].lists
@@ -189,10 +189,10 @@ class CampaigningTest < Test::Unit::TestCase
189
189
  # # end
190
190
  # assert client.campaigns[2].subscriber_clicks != nil
191
191
  # assert client.campaigns[2].subscriber_clicks != []
192
- #
192
+ #
193
193
  # end
194
194
  #
195
- #
195
+ #
196
196
  # def test_campaign_summary
197
197
  # client = Campaigning::Client.find_by_name("Client One Company")
198
198
  # puts client.campaigns[1].summary
@@ -206,24 +206,24 @@ class CampaigningTest < Test::Unit::TestCase
206
206
  # def test_campaign_send
207
207
  # client = Campaigning::Client.find_by_name("Client One Company")
208
208
  # response = Campaigning::Campaign.create(
209
- # :clientID => client.clientID,
210
- # :campaignName => "Campaign by myself RUBY NEW CREATED",
211
- # :campaignSubject => "Campaign by myself - OK",
212
- # :fromName => "Mr. Gordon2",
213
- # :fromEmail => "gordon2@test.com",
214
- # :replyTo => "no-reply@test.com",
215
- # :htmlUrl => "http://www.campaignmonitor.com/api/method/campaign-create/",
216
- # :textUrl => "http://www.google.com",
217
- # :subscriberListIDs => ["ac52b645c048888a44c87b5f1ecf6b7d"],
218
- # :listSegments => client.segments
209
+ # :clientID => client.clientID,
210
+ # :campaignName => "Campaign by myself RUBY NEW CREATED",
211
+ # :campaignSubject => "Campaign by myself - OK",
212
+ # :fromName => "Mr. Gordon2",
213
+ # :fromEmail => "gordon2@test.com",
214
+ # :replyTo => "no-reply@test.com",
215
+ # :htmlUrl => "http://www.campaignmonitor.com/api/method/campaign-create/",
216
+ # :textUrl => "http://www.google.com",
217
+ # :subscriberListIDs => ["ac52b645c048888a44c87b5f1ecf6b7d"],
218
+ # :listSegments => client.segments
219
219
  # )
220
- #
220
+ #
221
221
  # puts client.campaigns[0].send(
222
- # :confirmation_email => "userhdhd@test.com",
223
- # :send_date => "2009-04-30 11:55:01" # Date format YYYY-MM-DD HH:MM:SS.
222
+ # :confirmationEmail => "userhdhd@test.com",
223
+ # :sendDate => "2009-04-30 11:55:01" # Date format YYYY-MM-DD HH:MM:SS.
224
224
  # )
225
225
  # end
226
-
226
+ #
227
227
  # def test_subscriber_add
228
228
  # subscriber = Campaigning::Subscriber.new("robertf@test.com", "Robert Franklin")
229
229
  # response = subscriber.add("ac52b645c048888a44c87b5f1ecf6b7d")
@@ -235,8 +235,8 @@ class CampaigningTest < Test::Unit::TestCase
235
235
  # response = subscriber.add_and_resubscribe("ac52b645c048888a44c87b5f1ecf6b7d")
236
236
  # assert response.code == 0
237
237
  # end
238
-
239
-
238
+ #
239
+ #
240
240
  # def test_subscriber_add_and_resubscribe_with_custom_fields
241
241
  # subscriber = Campaigning::Subscriber.new("user_custon@test.com", "Mr. Custon")
242
242
  # response = subscriber.add_and_resubscribe_with_custom_fields("ac52b645c048888a44c87b5f1ecf6b7d", :CityName => "Dublin", :SponsorName => "Some Sponsor")
@@ -287,7 +287,7 @@ class CampaigningTest < Test::Unit::TestCase
287
287
  # subscriber_list = list.find_active_subscribers(DateTime.new(y=2009,m=5,d=01, h=01,min=00,s=00))
288
288
  # assert subscriber_list.length > 0
289
289
  # end
290
-
290
+ #
291
291
  # def test_list_get_all_active_subscribers
292
292
  # client = Campaigning::Client.find_by_name("Client One Company")
293
293
  # list = client.find_list_by_name "My Friends"
@@ -295,17 +295,17 @@ class CampaigningTest < Test::Unit::TestCase
295
295
  # puts subscriber_list.inspect
296
296
  # assert subscriber_list.length > 0
297
297
  # end
298
-
299
-
300
-
298
+ #
299
+ #
300
+ #
301
301
  # def test_list_create
302
302
  # client = Campaigning::Client.find_by_name("Client One Company")
303
303
  # list = Campaigning::List.create(
304
- # :client_id => client.clientID,
305
- # :title => "New list to test",
306
- # :unsubscribe_page => "",
307
- # :comfirm_opt_in => false,
308
- # :confirmation_success_page => ""
304
+ # :clientID => client.clientID,
305
+ # :title => "New list to test",
306
+ # :unsubscribePage => "",
307
+ # :confirmOptIn => false,
308
+ # :confirmationSuccessPage => ""
309
309
  # )
310
310
  # assert list.listID != nil
311
311
  # end
@@ -314,9 +314,9 @@ class CampaigningTest < Test::Unit::TestCase
314
314
  # client = Campaigning::Client.find_by_name("Client One Company")
315
315
  # list = client.find_list_by_name "My Friends"
316
316
  # result = list.create_custom_field(
317
- # :field_name => "Country" ,
318
- # :data_type => "MultiSelectOne",
319
- # :options => %w[Brazil Ireland England]
317
+ # :fieldName => "Country" ,
318
+ # :dataType => "MultiSelectOne",
319
+ # :options => %w[Brazil Ireland England]
320
320
  # )
321
321
  # assert result.code == 0
322
322
  # end
@@ -351,13 +351,13 @@ class CampaigningTest < Test::Unit::TestCase
351
351
  # client = Campaigning::Client.find_by_name("Client One Company")
352
352
  # list = client.find_list_by_name "My Friends"
353
353
  # result = list.update(
354
- # :title => "NEW TITLE : My new list created by ruby list.create",
355
- # :unsubscribe_page => "",
356
- # :comfirm_opt_in => false,
357
- # :confirmation_success_page => ""
354
+ # :title => "NEW TITLE : My new list created by ruby list.create",
355
+ # :unsubscribePage => "",
356
+ # :confirmOptIn => false,
357
+ # :confirmationSuccessPage => ""
358
358
  # )
359
359
  # assert result.code == 0
360
360
  # end
361
-
362
-
361
+
362
+
363
363
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gnumarcelo-campaigning
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcelo Menezes
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-22 00:00:00 -07:00
12
+ date: 2009-06-18 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -35,7 +35,6 @@ files:
35
35
  - LICENSE
36
36
  - README.rdoc
37
37
  - Rakefile
38
- - TODO.txt
39
38
  - VERSION.yml
40
39
  - lib/campaigning.rb
41
40
  - lib/campaigning/campaigning.rb
data/TODO.txt DELETED
@@ -1,48 +0,0 @@
1
- *
2
- Campaigns
3
- o Campaign.Create - OK (Not tested)
4
- o Campaign.GetBounces - OK
5
- o Campaign.GetLists - OK
6
- o Campaign.GetOpens - OK
7
- o Campaign.GetSubscriberClicks - OK
8
- o Campaign.GetSummary - OK
9
- o Campaign.GetUnsubscribes - OK
10
- o Campaign.Send - OK (Not Tested)
11
- *
12
- Clients
13
- o Client.Create - OK
14
- o Client.Delete - OK
15
- o Client.GetCampaigns - OK
16
- o Client.GetDetail - OK
17
- o Client.GetLists - OK
18
- o Client.GetSegments - OK
19
- o Client.GetSuppressionList - OK (Not tested)
20
- o Client.UpdateAccessAndBilling - OK
21
- o Client.UpdateBasics - OK
22
- *
23
- Subscribers
24
- o Subscriber.Add - OK
25
- o Subscriber.AddAndResubscribe - OK
26
- o Subscriber.AddAndResubscribeWithCustomFields - OK
27
- o Subscriber.AddWithCustomFields - OK
28
- o Subscriber.Unsubscribe - OK
29
- o Subscribers.GetActive - OK - Here?
30
- o Subscribers.GetBounced - OK
31
- o Subscribers.GetIsSubscribed - OK
32
- o Subscribers.GetSingleSubscriber - OK
33
- o Subscribers.GetUnsubscribed - OK - Here?
34
- *
35
- Lists
36
- o List.Create - OK
37
- o List.CreateCustomField - OK
38
- o List.Delete - OK
39
- o List.DeleteCustomField - OK
40
- o List.GetCustomFields - OK
41
- o List.GetDetail - OK
42
- o List.Update - OK
43
- *
44
- Users
45
- o User.GetClients - OK
46
- o User.GetCountries - OK
47
- o User.GetSystemDate - OK
48
- o User.GetTimezones - OK