adwords4r 0.4 → 0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ 0.5 Now supports AdWords API v4. Got rid of yaml dependency. Changed properties file name for default credentials to adwords.properties. Enhanced the readme.txt a bit. Added a few samples.
1
2
  0.4 Now all generated classes are within the Adwords module. Will make it easier to use that in Rails. Support for gen classes in a module is not implemented in soap4r for doc/literal style (it works for rpc/encoded). I logged a bug for soap4r. In the meantime I had to fix adwords4r from my module using module_eval to patch the Mapping class.
2
3
  0.3 fixed the bug in InfoService and many others. I fix the wsdl before generation.
3
4
  0.2 added packaging, made it a gem, and added a setup program, for easy installation in all configurations (gem and non gem).
data/Rakefile CHANGED
@@ -20,7 +20,7 @@ end
20
20
 
21
21
  CLOBBER.include('pkg')
22
22
 
23
- CURRENT_VERSION = '0.4'
23
+ CURRENT_VERSION = '0.5'
24
24
  PKG_VERSION = ENV['REL'] ? ENV['REL'] : CURRENT_VERSION
25
25
 
26
26
  SRC_RB = FileList['lib/**/*.rb']
@@ -32,9 +32,15 @@ SRC_RB = FileList['lib/**/*.rb']
32
32
 
33
33
  WSDLDIR = 'wsdl'
34
34
  LIBDIR = 'lib'
35
+ GENDIR = LIBDIR + '/adwords4r'
36
+
35
37
  logger = Logger.new(STDERR)
36
38
 
37
- #CLEAN.include(WSDLDIR)
39
+ CLEAN.include(WSDLDIR)
40
+ AdWords::Service.getVersions.each do |v|
41
+ vname = "v#{v}"
42
+ CLEAN.include(File.join(GENDIR, vname))
43
+ end
38
44
 
39
45
  desc "gets the wsdl and generates the classes"
40
46
  task :default => [:getwsdl, :generate]
@@ -189,6 +195,7 @@ Currently the following AdWords API versions are supported:
189
195
  s.email = "patrick@chanezon.com"
190
196
  s.homepage = "http://rubyforge.org/projects/adwords4r/"
191
197
  s.requirements << 'soap4r v 1.5.4 or greater'
198
+ s.requirements << 'http-access2 v 2.0.5 or greater'
192
199
  s.rubyforge_project = 'adwords4r'
193
200
  end
194
201
 
data/Readme.txt CHANGED
@@ -25,8 +25,17 @@ Then
25
25
  require 'adwords4r'
26
26
 
27
27
  adwords = AdWords::API.new
28
- creates a driver for the latest version of AdWords API using credentials provided in ~/.adwords.yaml
29
- If you want something more specific, use the optional paramters of the constructor
28
+ creates a driver for the latest version of AdWords API using credentials provided in ~/adwords.properties
29
+ There is an example in the root adwords4r directory.
30
+ You can also pass API a manually constructed AdWordsCredentials object like:
31
+ adwords = AdWords::API.new(AdWords::AdWordsCredentials.new(
32
+ { 'token' => 'mytoken',
33
+ 'useragent' => 'P@ playing with the API from ruby',
34
+ 'password' => 'mypasswd',
35
+ 'email' => 'em...@example.com'}
36
+ ))
37
+
38
+ If you want something more specific, use the optional parameters of the constructor
30
39
  adwords = AdWords::API.new(credentials, version)
31
40
 
32
41
  Then just use methods of the API against your driver.
@@ -34,6 +43,11 @@ adwords.getAllAdWordsCampaigns(123).each {|c| puts c.name}
34
43
 
35
44
  See sample code in examples.
36
45
 
46
+ The client code will generate warnings in the console:
47
+ Many: warning: already initialized constant XXX
48
+ A few: at depth 0 - 20: unable to get local issuer certificate
49
+ These are not serious: I need to make them go but they do not affect the correctness of the program.
50
+
37
51
  docs for developers
38
52
  -------------------
39
53
  rake getwsdl
data/Todo.txt CHANGED
@@ -1,12 +1,16 @@
1
1
  adwords4r todo list
2
2
  ---
3
3
  - use XSD::CodeGen::GenSupport.capitalize and unCapitalize instead of my own methods
4
+ - fix the bug in reports
4
5
  - handling quota management in the driver
5
6
  - pass in a hash for complex objects
6
7
  - comments everywhere, rdoc
7
8
  - documentation
8
- - more samples
9
+ - more samples: traffic_estimator, report,
9
10
 
11
+ OK- generate v4
12
+ OK- get rid of yaml dependency
13
+ OK- change the property file name to adwords.properties
10
14
  OK- make it work with all generated classes in their own module
11
15
  OK- fix bug in InfoService
12
16
  OK- gem file
@@ -0,0 +1,5 @@
1
+ token=my_token
2
+ useragent=P@ playing with the API from ruby
3
+ password=my_very_secret_password
4
+ email=toto@example.com
5
+ #clientEmail=titi@example.com
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'adwords4r'
4
+ require 'pp'
5
+
6
+ begin
7
+ adwords = AdWords::API.new
8
+ puts "result = #{adwords.getFreeUsageQuotaThisMonth().getFreeUsageQuotaThisMonthReturn}"
9
+
10
+ rescue AdWords::Error::UnknownAPICall => e
11
+ puts e
12
+ rescue AdWords::Error::ApiError => e
13
+ puts e.code
14
+ puts e.message
15
+ end
16
+
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'adwords4r'
4
+ require 'open-uri'
5
+
6
+ service = AdWords::API.new
7
+
8
+ job = AdWords::KeywordReportJob.new
9
+ job.aggregationType = AdWords::AggregationType::Summary
10
+ job.startDay = Date.new(2006,1,1)
11
+ job.endDay = Date.today
12
+ job.name = "Report1"
13
+
14
+ begin
15
+ myJobId = service.scheduleReportJob(job)
16
+
17
+ status = service.getReportJobStatus(myJobId);
18
+
19
+ while (status != "Completed" && status != "Failed")
20
+ sleep 15
21
+ status = service.getReportJobStatus(myJobId)
22
+ puts "Report job status is " + status
23
+ end
24
+
25
+ if(status == "Failed")
26
+ puts("Job failed!")
27
+ else
28
+ # report is ready; download it
29
+ puts "The report is ready!"
30
+ url = service.getReportDownloadUrl(myJobId)
31
+ puts "Report Url: " + url
32
+ for line in open(url)
33
+ puts line
34
+ end
35
+ end
36
+ rescue AdWords::Error::UnknownAPICall => e
37
+ puts e
38
+ rescue AdWords::Error::ApiError => e
39
+ puts e.code
40
+ puts e.message
41
+ end
42
+
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'adwords4r'
4
+ require 'pp'
5
+
6
+ SEP = "---"
7
+
8
+ def dumpObj(o)
9
+ str = ""
10
+ o.instance_variables.each { |v| str << dumpAttr(o, v)}
11
+ return str << SEP
12
+ end
13
+
14
+ def dumpAttr(o, v)
15
+ name = v.sub(/@/,'')
16
+ value = eval("o.#{name}.to_s")
17
+ return "#{name}: #{value}\n"
18
+ end
19
+
20
+ begin
21
+ adwords = AdWords::API.new
22
+
23
+ res = adwords.estimateKeywordList([AdWords::KeywordRequest.new(nil, 50000, false, 'flowers', 'Broad')])
24
+ res.each {|c| puts dumpObj(c)}
25
+
26
+ rescue AdWords::Error::UnknownAPICall => e
27
+ puts e
28
+ rescue AdWords::Error::ApiError => e
29
+ puts e.code
30
+ puts e.message
31
+ end
@@ -1,4 +1,3 @@
1
- require 'yaml'
2
1
  require 'soap/header/simplehandler'
3
2
 
4
3
  module AdWords
@@ -20,8 +19,13 @@ module AdWords
20
19
  attr_reader :handlers
21
20
 
22
21
  def getDefaults()
23
- prefs = YAML::load( File.open("#{ENV['HOME']}/.adwords-api.yaml", 'r'))
24
- credentials = prefs['credentials']
22
+ cred = Hash.new
23
+ IO.foreach("#{ENV['HOME']}/adwords.properties") {|line| addCredential(cred, line.split('=')) if !(line =~ /^#/)}
24
+ return cred
25
+ end
26
+
27
+ def addCredential(cred, arr)
28
+ cred[arr[0]] = arr[1]
25
29
  end
26
30
 
27
31
  def initialize(*parm)
@@ -1,15 +1,11 @@
1
- require 'yaml'
2
-
3
1
  module AdWords
4
2
 
5
3
  class Service
6
-
7
- SERVICE_YAML = <<PAT
8
- 2: [Creative, Keyword, Criterion, AdGroup, Campaign, TrafficEstimator, Report, Info, Account]
9
- 3: [Creative, Keyword, Criterion, AdGroup, Campaign, TrafficEstimator, Report, Info, Account, KeywordTool]
10
- PAT
11
4
 
12
- @@services = YAML::load(SERVICE_YAML)
5
+ @@services = {
6
+ 3 => ['Creative', 'Keyword', 'Criterion', 'AdGroup', 'Campaign', 'TrafficEstimator', 'Report', 'Info', 'Account', 'KeywordTool'],
7
+ 4 => ['Creative', 'Keyword', 'Criterion', 'AdGroup', 'Campaign', 'TrafficEstimator', 'Report', 'Info', 'Account', 'KeywordTool']
8
+ }
13
9
 
14
10
  def Service.getVersions
15
11
  @@services.keys
@@ -0,0 +1,709 @@
1
+ module AdWords
2
+ require 'xsd/qname'
3
+
4
+ # {https://adwords.google.com/api/adwords/v4}createAdWordsAccount
5
+ class CreateAdWordsAccount
6
+ @@schema_type = "createAdWordsAccount"
7
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
8
+ @@schema_qualified = "true"
9
+ @@schema_element = [
10
+ ["loginEmail", "SOAP::SOAPString"],
11
+ ["password", "SOAP::SOAPString"],
12
+ ["languagePreference", "SOAP::SOAPString"],
13
+ ["emailPrefs", "EmailPromotionsPreferences"],
14
+ ["currencyCode", "SOAP::SOAPString"],
15
+ ["cardInfo", "CreditCard"],
16
+ ["contactInfo", "Address"],
17
+ ["defaultAdsCoverage", "CoverageType"]
18
+ ]
19
+
20
+ attr_accessor :loginEmail
21
+ attr_accessor :password
22
+ attr_accessor :languagePreference
23
+ attr_accessor :emailPrefs
24
+ attr_accessor :currencyCode
25
+ attr_accessor :cardInfo
26
+ attr_accessor :contactInfo
27
+ attr_accessor :defaultAdsCoverage
28
+
29
+ def initialize(loginEmail = nil, password = nil, languagePreference = nil, emailPrefs = nil, currencyCode = nil, cardInfo = nil, contactInfo = nil, defaultAdsCoverage = nil)
30
+ @loginEmail = loginEmail
31
+ @password = password
32
+ @languagePreference = languagePreference
33
+ @emailPrefs = emailPrefs
34
+ @currencyCode = currencyCode
35
+ @cardInfo = cardInfo
36
+ @contactInfo = contactInfo
37
+ @defaultAdsCoverage = defaultAdsCoverage
38
+ end
39
+ end
40
+
41
+ # {https://adwords.google.com/api/adwords/v4}createAdWordsAccountResponse
42
+ class CreateAdWordsAccountResponse
43
+ @@schema_type = "createAdWordsAccountResponse"
44
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
45
+ @@schema_qualified = "true"
46
+ @@schema_element = []
47
+
48
+ def initialize
49
+ end
50
+ end
51
+
52
+ # {https://adwords.google.com/api/adwords/v4}setLoginInfo
53
+ class SetLoginInfo
54
+ @@schema_type = "setLoginInfo"
55
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
56
+ @@schema_qualified = "true"
57
+ @@schema_element = [
58
+ ["login", "SOAP::SOAPString"],
59
+ ["newPassword", "SOAP::SOAPString"]
60
+ ]
61
+
62
+ attr_accessor :login
63
+ attr_accessor :newPassword
64
+
65
+ def initialize(login = nil, newPassword = nil)
66
+ @login = login
67
+ @newPassword = newPassword
68
+ end
69
+ end
70
+
71
+ # {https://adwords.google.com/api/adwords/v4}setLoginInfoResponse
72
+ class SetLoginInfoResponse
73
+ @@schema_type = "setLoginInfoResponse"
74
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
75
+ @@schema_qualified = "true"
76
+ @@schema_element = []
77
+
78
+ def initialize
79
+ end
80
+ end
81
+
82
+ # {https://adwords.google.com/api/adwords/v4}getAccountCurrency
83
+ class GetAccountCurrency
84
+ @@schema_type = "getAccountCurrency"
85
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
86
+ @@schema_qualified = "true"
87
+ @@schema_element = []
88
+
89
+ def initialize
90
+ end
91
+ end
92
+
93
+ # {https://adwords.google.com/api/adwords/v4}getAccountCurrencyResponse
94
+ class GetAccountCurrencyResponse
95
+ @@schema_type = "getAccountCurrencyResponse"
96
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
97
+ @@schema_qualified = "true"
98
+ @@schema_element = [
99
+ ["getAccountCurrencyReturn", "SOAP::SOAPString"]
100
+ ]
101
+
102
+ attr_accessor :getAccountCurrencyReturn
103
+
104
+ def initialize(getAccountCurrencyReturn = nil)
105
+ @getAccountCurrencyReturn = getAccountCurrencyReturn
106
+ end
107
+ end
108
+
109
+ # {https://adwords.google.com/api/adwords/v4}getCreditCard
110
+ class GetCreditCard
111
+ @@schema_type = "getCreditCard"
112
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
113
+ @@schema_qualified = "true"
114
+ @@schema_element = []
115
+
116
+ def initialize
117
+ end
118
+ end
119
+
120
+ # {https://adwords.google.com/api/adwords/v4}getCreditCardResponse
121
+ class GetCreditCardResponse
122
+ @@schema_type = "getCreditCardResponse"
123
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
124
+ @@schema_qualified = "true"
125
+ @@schema_element = [
126
+ ["getCreditCardReturn", "CreditCard"]
127
+ ]
128
+
129
+ attr_accessor :getCreditCardReturn
130
+
131
+ def initialize(getCreditCardReturn = nil)
132
+ @getCreditCardReturn = getCreditCardReturn
133
+ end
134
+ end
135
+
136
+ # {https://adwords.google.com/api/adwords/v4}getBillingAddress
137
+ class GetBillingAddress
138
+ @@schema_type = "getBillingAddress"
139
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
140
+ @@schema_qualified = "true"
141
+ @@schema_element = []
142
+
143
+ def initialize
144
+ end
145
+ end
146
+
147
+ # {https://adwords.google.com/api/adwords/v4}getBillingAddressResponse
148
+ class GetBillingAddressResponse
149
+ @@schema_type = "getBillingAddressResponse"
150
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
151
+ @@schema_qualified = "true"
152
+ @@schema_element = [
153
+ ["getBillingAddressReturn", "Address"]
154
+ ]
155
+
156
+ attr_accessor :getBillingAddressReturn
157
+
158
+ def initialize(getBillingAddressReturn = nil)
159
+ @getBillingAddressReturn = getBillingAddressReturn
160
+ end
161
+ end
162
+
163
+ # {https://adwords.google.com/api/adwords/v4}setCreditCard
164
+ class SetCreditCard
165
+ @@schema_type = "setCreditCard"
166
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
167
+ @@schema_qualified = "true"
168
+ @@schema_element = [
169
+ ["cardInfo", "CreditCard"],
170
+ ["contactInfo", "Address"]
171
+ ]
172
+
173
+ attr_accessor :cardInfo
174
+ attr_accessor :contactInfo
175
+
176
+ def initialize(cardInfo = nil, contactInfo = nil)
177
+ @cardInfo = cardInfo
178
+ @contactInfo = contactInfo
179
+ end
180
+ end
181
+
182
+ # {https://adwords.google.com/api/adwords/v4}setCreditCardResponse
183
+ class SetCreditCardResponse
184
+ @@schema_type = "setCreditCardResponse"
185
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
186
+ @@schema_qualified = "true"
187
+ @@schema_element = []
188
+
189
+ def initialize
190
+ end
191
+ end
192
+
193
+ # {https://adwords.google.com/api/adwords/v4}getDefaultAdsCoverage
194
+ class GetDefaultAdsCoverage
195
+ @@schema_type = "getDefaultAdsCoverage"
196
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
197
+ @@schema_qualified = "true"
198
+ @@schema_element = []
199
+
200
+ def initialize
201
+ end
202
+ end
203
+
204
+ # {https://adwords.google.com/api/adwords/v4}getDefaultAdsCoverageResponse
205
+ class GetDefaultAdsCoverageResponse
206
+ @@schema_type = "getDefaultAdsCoverageResponse"
207
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
208
+ @@schema_qualified = "true"
209
+ @@schema_element = [
210
+ ["getDefaultAdsCoverageReturn", "CoverageType"]
211
+ ]
212
+
213
+ attr_accessor :getDefaultAdsCoverageReturn
214
+
215
+ def initialize(getDefaultAdsCoverageReturn = nil)
216
+ @getDefaultAdsCoverageReturn = getDefaultAdsCoverageReturn
217
+ end
218
+ end
219
+
220
+ # {https://adwords.google.com/api/adwords/v4}setDefaultAdsCoverage
221
+ class SetDefaultAdsCoverage
222
+ @@schema_type = "setDefaultAdsCoverage"
223
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
224
+ @@schema_qualified = "true"
225
+ @@schema_element = [
226
+ ["coverage", "CoverageType"]
227
+ ]
228
+
229
+ attr_accessor :coverage
230
+
231
+ def initialize(coverage = nil)
232
+ @coverage = coverage
233
+ end
234
+ end
235
+
236
+ # {https://adwords.google.com/api/adwords/v4}setDefaultAdsCoverageResponse
237
+ class SetDefaultAdsCoverageResponse
238
+ @@schema_type = "setDefaultAdsCoverageResponse"
239
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
240
+ @@schema_qualified = "true"
241
+ @@schema_element = []
242
+
243
+ def initialize
244
+ end
245
+ end
246
+
247
+ # {https://adwords.google.com/api/adwords/v4}getLanguagePreference
248
+ class GetLanguagePreference
249
+ @@schema_type = "getLanguagePreference"
250
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
251
+ @@schema_qualified = "true"
252
+ @@schema_element = []
253
+
254
+ def initialize
255
+ end
256
+ end
257
+
258
+ # {https://adwords.google.com/api/adwords/v4}getLanguagePreferenceResponse
259
+ class GetLanguagePreferenceResponse
260
+ @@schema_type = "getLanguagePreferenceResponse"
261
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
262
+ @@schema_qualified = "true"
263
+ @@schema_element = [
264
+ ["getLanguagePreferenceReturn", "SOAP::SOAPString"]
265
+ ]
266
+
267
+ attr_accessor :getLanguagePreferenceReturn
268
+
269
+ def initialize(getLanguagePreferenceReturn = nil)
270
+ @getLanguagePreferenceReturn = getLanguagePreferenceReturn
271
+ end
272
+ end
273
+
274
+ # {https://adwords.google.com/api/adwords/v4}setLanguagePreference
275
+ class SetLanguagePreference
276
+ @@schema_type = "setLanguagePreference"
277
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
278
+ @@schema_qualified = "true"
279
+ @@schema_element = [
280
+ ["languagePref", "SOAP::SOAPString"]
281
+ ]
282
+
283
+ attr_accessor :languagePref
284
+
285
+ def initialize(languagePref = nil)
286
+ @languagePref = languagePref
287
+ end
288
+ end
289
+
290
+ # {https://adwords.google.com/api/adwords/v4}setLanguagePreferenceResponse
291
+ class SetLanguagePreferenceResponse
292
+ @@schema_type = "setLanguagePreferenceResponse"
293
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
294
+ @@schema_qualified = "true"
295
+ @@schema_element = []
296
+
297
+ def initialize
298
+ end
299
+ end
300
+
301
+ # {https://adwords.google.com/api/adwords/v4}getEmailPromotionsPreferences
302
+ class GetEmailPromotionsPreferences
303
+ @@schema_type = "getEmailPromotionsPreferences"
304
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
305
+ @@schema_qualified = "true"
306
+ @@schema_element = []
307
+
308
+ def initialize
309
+ end
310
+ end
311
+
312
+ # {https://adwords.google.com/api/adwords/v4}getEmailPromotionsPreferencesResponse
313
+ class GetEmailPromotionsPreferencesResponse
314
+ @@schema_type = "getEmailPromotionsPreferencesResponse"
315
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
316
+ @@schema_qualified = "true"
317
+ @@schema_element = [
318
+ ["getEmailPromotionsPreferencesReturn", "EmailPromotionsPreferences"]
319
+ ]
320
+
321
+ attr_accessor :getEmailPromotionsPreferencesReturn
322
+
323
+ def initialize(getEmailPromotionsPreferencesReturn = nil)
324
+ @getEmailPromotionsPreferencesReturn = getEmailPromotionsPreferencesReturn
325
+ end
326
+ end
327
+
328
+ # {https://adwords.google.com/api/adwords/v4}setEmailPromotionsPreferences
329
+ class SetEmailPromotionsPreferences
330
+ @@schema_type = "setEmailPromotionsPreferences"
331
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
332
+ @@schema_qualified = "true"
333
+ @@schema_element = [
334
+ ["prefs", "EmailPromotionsPreferences"]
335
+ ]
336
+
337
+ attr_accessor :prefs
338
+
339
+ def initialize(prefs = nil)
340
+ @prefs = prefs
341
+ end
342
+ end
343
+
344
+ # {https://adwords.google.com/api/adwords/v4}setEmailPromotionsPreferencesResponse
345
+ class SetEmailPromotionsPreferencesResponse
346
+ @@schema_type = "setEmailPromotionsPreferencesResponse"
347
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
348
+ @@schema_qualified = "true"
349
+ @@schema_element = []
350
+
351
+ def initialize
352
+ end
353
+ end
354
+
355
+ # {https://adwords.google.com/api/adwords/v4}getPrimaryBusinessCategory
356
+ class GetPrimaryBusinessCategory
357
+ @@schema_type = "getPrimaryBusinessCategory"
358
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
359
+ @@schema_qualified = "true"
360
+ @@schema_element = []
361
+
362
+ def initialize
363
+ end
364
+ end
365
+
366
+ # {https://adwords.google.com/api/adwords/v4}getPrimaryBusinessCategoryResponse
367
+ class GetPrimaryBusinessCategoryResponse
368
+ @@schema_type = "getPrimaryBusinessCategoryResponse"
369
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
370
+ @@schema_qualified = "true"
371
+ @@schema_element = [
372
+ ["getPrimaryBusinessCategoryReturn", "SOAP::SOAPString"]
373
+ ]
374
+
375
+ attr_accessor :getPrimaryBusinessCategoryReturn
376
+
377
+ def initialize(getPrimaryBusinessCategoryReturn = nil)
378
+ @getPrimaryBusinessCategoryReturn = getPrimaryBusinessCategoryReturn
379
+ end
380
+ end
381
+
382
+ # {https://adwords.google.com/api/adwords/v4}setPrimaryBusinessCategory
383
+ class SetPrimaryBusinessCategory
384
+ @@schema_type = "setPrimaryBusinessCategory"
385
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
386
+ @@schema_qualified = "true"
387
+ @@schema_element = [
388
+ ["bizType", "SOAP::SOAPString"]
389
+ ]
390
+
391
+ attr_accessor :bizType
392
+
393
+ def initialize(bizType = nil)
394
+ @bizType = bizType
395
+ end
396
+ end
397
+
398
+ # {https://adwords.google.com/api/adwords/v4}setPrimaryBusinessCategoryResponse
399
+ class SetPrimaryBusinessCategoryResponse
400
+ @@schema_type = "setPrimaryBusinessCategoryResponse"
401
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
402
+ @@schema_qualified = "true"
403
+ @@schema_element = []
404
+
405
+ def initialize
406
+ end
407
+ end
408
+
409
+ # {https://adwords.google.com/api/adwords/v4}getTermsAndConditions
410
+ class GetTermsAndConditions
411
+ @@schema_type = "getTermsAndConditions"
412
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
413
+ @@schema_qualified = "true"
414
+ @@schema_element = []
415
+
416
+ def initialize
417
+ end
418
+ end
419
+
420
+ # {https://adwords.google.com/api/adwords/v4}getTermsAndConditionsResponse
421
+ class GetTermsAndConditionsResponse
422
+ @@schema_type = "getTermsAndConditionsResponse"
423
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
424
+ @@schema_qualified = "true"
425
+ @@schema_element = [
426
+ ["getTermsAndConditionsReturn", "SOAP::SOAPString"]
427
+ ]
428
+
429
+ attr_accessor :getTermsAndConditionsReturn
430
+
431
+ def initialize(getTermsAndConditionsReturn = nil)
432
+ @getTermsAndConditionsReturn = getTermsAndConditionsReturn
433
+ end
434
+ end
435
+
436
+ # {https://adwords.google.com/api/adwords/v4}getClientAccounts
437
+ class GetClientAccounts
438
+ @@schema_type = "getClientAccounts"
439
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
440
+ @@schema_qualified = "true"
441
+ @@schema_element = []
442
+
443
+ def initialize
444
+ end
445
+ end
446
+
447
+ # {https://adwords.google.com/api/adwords/v4}getClientAccountsResponse
448
+ class GetClientAccountsResponse < ::Array
449
+ @@schema_element = [
450
+ ["getClientAccountsReturn", ["SOAP::SOAPString[]", XSD::QName.new("https://adwords.google.com/api/adwords/v4", "getClientAccountsReturn")]]
451
+ ]
452
+ end
453
+
454
+ # {https://adwords.google.com/api/adwords/v4}getLocalTimezone
455
+ class GetLocalTimezone
456
+ @@schema_type = "getLocalTimezone"
457
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
458
+ @@schema_qualified = "true"
459
+ @@schema_element = []
460
+
461
+ def initialize
462
+ end
463
+ end
464
+
465
+ # {https://adwords.google.com/api/adwords/v4}getLocalTimezoneResponse
466
+ class GetLocalTimezoneResponse
467
+ @@schema_type = "getLocalTimezoneResponse"
468
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
469
+ @@schema_qualified = "true"
470
+ @@schema_element = [
471
+ ["getLocalTimezoneReturn", "SOAP::SOAPString"]
472
+ ]
473
+
474
+ attr_accessor :getLocalTimezoneReturn
475
+
476
+ def initialize(getLocalTimezoneReturn = nil)
477
+ @getLocalTimezoneReturn = getLocalTimezoneReturn
478
+ end
479
+ end
480
+
481
+ # {https://adwords.google.com/api/adwords/v4}setLocalTimezone
482
+ class SetLocalTimezone
483
+ @@schema_type = "setLocalTimezone"
484
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
485
+ @@schema_qualified = "true"
486
+ @@schema_element = [
487
+ ["timezoneID", "SOAP::SOAPString"]
488
+ ]
489
+
490
+ attr_accessor :timezoneID
491
+
492
+ def initialize(timezoneID = nil)
493
+ @timezoneID = timezoneID
494
+ end
495
+ end
496
+
497
+ # {https://adwords.google.com/api/adwords/v4}setLocalTimezoneResponse
498
+ class SetLocalTimezoneResponse
499
+ @@schema_type = "setLocalTimezoneResponse"
500
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
501
+ @@schema_qualified = "true"
502
+ @@schema_element = []
503
+
504
+ def initialize
505
+ end
506
+ end
507
+
508
+ # {https://adwords.google.com/api/adwords/v4}getTimezoneEffectiveDate
509
+ class GetTimezoneEffectiveDate
510
+ @@schema_type = "getTimezoneEffectiveDate"
511
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
512
+ @@schema_qualified = "true"
513
+ @@schema_element = []
514
+
515
+ def initialize
516
+ end
517
+ end
518
+
519
+ # {https://adwords.google.com/api/adwords/v4}getTimezoneEffectiveDateResponse
520
+ class GetTimezoneEffectiveDateResponse
521
+ @@schema_type = "getTimezoneEffectiveDateResponse"
522
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
523
+ @@schema_qualified = "true"
524
+ @@schema_element = [
525
+ ["getTimezoneEffectiveDateReturn", "SOAP::SOAPLong"]
526
+ ]
527
+
528
+ attr_accessor :getTimezoneEffectiveDateReturn
529
+
530
+ def initialize(getTimezoneEffectiveDateReturn = nil)
531
+ @getTimezoneEffectiveDateReturn = getTimezoneEffectiveDateReturn
532
+ end
533
+ end
534
+
535
+ # {https://adwords.google.com/api/adwords/v4}EmailPromotionsPreferences
536
+ class EmailPromotionsPreferences
537
+ @@schema_type = "EmailPromotionsPreferences"
538
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
539
+ @@schema_element = [
540
+ ["marketResearchEnabled", "SOAP::SOAPBoolean"],
541
+ ["newsletterEnabled", "SOAP::SOAPBoolean"],
542
+ ["promotionsEnabled", "SOAP::SOAPBoolean"]
543
+ ]
544
+
545
+ attr_accessor :marketResearchEnabled
546
+ attr_accessor :newsletterEnabled
547
+ attr_accessor :promotionsEnabled
548
+
549
+ def initialize(marketResearchEnabled = nil, newsletterEnabled = nil, promotionsEnabled = nil)
550
+ @marketResearchEnabled = marketResearchEnabled
551
+ @newsletterEnabled = newsletterEnabled
552
+ @promotionsEnabled = promotionsEnabled
553
+ end
554
+ end
555
+
556
+ # {https://adwords.google.com/api/adwords/v4}CreditCard
557
+ class CreditCard
558
+ @@schema_type = "CreditCard"
559
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
560
+ @@schema_element = [
561
+ ["cardNumber", "SOAP::SOAPString"],
562
+ ["cardType", "SOAP::SOAPString"],
563
+ ["cardVerificationNumber", "SOAP::SOAPString"],
564
+ ["expirationMonth", "SOAP::SOAPInt"],
565
+ ["expirationYear", "SOAP::SOAPInt"],
566
+ ["issueNumber", "SOAP::SOAPString"],
567
+ ["startMonth", "SOAP::SOAPInt"],
568
+ ["startYear", "SOAP::SOAPInt"],
569
+ ["status", "SOAP::SOAPString"],
570
+ ["taxNumber", "SOAP::SOAPString"]
571
+ ]
572
+
573
+ attr_accessor :cardNumber
574
+ attr_accessor :cardType
575
+ attr_accessor :cardVerificationNumber
576
+ attr_accessor :expirationMonth
577
+ attr_accessor :expirationYear
578
+ attr_accessor :issueNumber
579
+ attr_accessor :startMonth
580
+ attr_accessor :startYear
581
+ attr_accessor :status
582
+ attr_accessor :taxNumber
583
+
584
+ def initialize(cardNumber = nil, cardType = nil, cardVerificationNumber = nil, expirationMonth = nil, expirationYear = nil, issueNumber = nil, startMonth = nil, startYear = nil, status = nil, taxNumber = nil)
585
+ @cardNumber = cardNumber
586
+ @cardType = cardType
587
+ @cardVerificationNumber = cardVerificationNumber
588
+ @expirationMonth = expirationMonth
589
+ @expirationYear = expirationYear
590
+ @issueNumber = issueNumber
591
+ @startMonth = startMonth
592
+ @startYear = startYear
593
+ @status = status
594
+ @taxNumber = taxNumber
595
+ end
596
+ end
597
+
598
+ # {https://adwords.google.com/api/adwords/v4}Address
599
+ class Address
600
+ @@schema_type = "Address"
601
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
602
+ @@schema_element = [
603
+ ["addressLine1", "SOAP::SOAPString"],
604
+ ["addressLine2", "SOAP::SOAPString"],
605
+ ["city", "SOAP::SOAPString"],
606
+ ["companyName", "SOAP::SOAPString"],
607
+ ["countryCode", "SOAP::SOAPString"],
608
+ ["faxNumber", "SOAP::SOAPString"],
609
+ ["name", "SOAP::SOAPString"],
610
+ ["phoneNumber", "SOAP::SOAPString"],
611
+ ["postalCode", "SOAP::SOAPString"],
612
+ ["state", "SOAP::SOAPString"]
613
+ ]
614
+
615
+ attr_accessor :addressLine1
616
+ attr_accessor :addressLine2
617
+ attr_accessor :city
618
+ attr_accessor :companyName
619
+ attr_accessor :countryCode
620
+ attr_accessor :faxNumber
621
+ attr_accessor :name
622
+ attr_accessor :phoneNumber
623
+ attr_accessor :postalCode
624
+ attr_accessor :state
625
+
626
+ def initialize(addressLine1 = nil, addressLine2 = nil, city = nil, companyName = nil, countryCode = nil, faxNumber = nil, name = nil, phoneNumber = nil, postalCode = nil, state = nil)
627
+ @addressLine1 = addressLine1
628
+ @addressLine2 = addressLine2
629
+ @city = city
630
+ @companyName = companyName
631
+ @countryCode = countryCode
632
+ @faxNumber = faxNumber
633
+ @name = name
634
+ @phoneNumber = phoneNumber
635
+ @postalCode = postalCode
636
+ @state = state
637
+ end
638
+ end
639
+
640
+ # {https://adwords.google.com/api/adwords/v4}CoverageType
641
+ class CoverageType
642
+ @@schema_type = "CoverageType"
643
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
644
+ @@schema_element = [
645
+ ["optInContentNetwork", "SOAP::SOAPBoolean"],
646
+ ["optInSearchNetwork", "SOAP::SOAPBoolean"]
647
+ ]
648
+
649
+ attr_accessor :optInContentNetwork
650
+ attr_accessor :optInSearchNetwork
651
+
652
+ def initialize(optInContentNetwork = nil, optInSearchNetwork = nil)
653
+ @optInContentNetwork = optInContentNetwork
654
+ @optInSearchNetwork = optInSearchNetwork
655
+ end
656
+ end
657
+
658
+ # {https://adwords.google.com/api/adwords/v4}ApiException
659
+ class ApiException
660
+ @@schema_type = "ApiException"
661
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
662
+ @@schema_element = [
663
+ ["code", "SOAP::SOAPInt"],
664
+ ["internal", "SOAP::SOAPBoolean"],
665
+ ["message", "SOAP::SOAPString"],
666
+ ["trigger", "SOAP::SOAPString"],
667
+ ["violations", "SOAP::SOAPString"]
668
+ ]
669
+
670
+ attr_accessor :code
671
+ attr_accessor :internal
672
+ attr_accessor :message
673
+ attr_accessor :trigger
674
+ attr_accessor :violations
675
+
676
+ def initialize(code = nil, internal = nil, message = nil, trigger = nil, violations = nil)
677
+ @code = code
678
+ @internal = internal
679
+ @message = message
680
+ @trigger = trigger
681
+ @violations = violations
682
+ end
683
+ end
684
+
685
+ # {https://adwords.google.com/api/adwords/v4}CreditCardType
686
+ class CreditCardType < ::String
687
+ @@schema_type = "CreditCardType"
688
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
689
+
690
+ AmericanExpress = CreditCardType.new("AmericanExpress")
691
+ JCB = CreditCardType.new("JCB")
692
+ MasterCard = CreditCardType.new("MasterCard")
693
+ SOLO = CreditCardType.new("SOLO")
694
+ Switch = CreditCardType.new("Switch")
695
+ VISA = CreditCardType.new("VISA")
696
+ end
697
+
698
+ # {https://adwords.google.com/api/adwords/v4}TaxStatus
699
+ class TaxStatus < ::String
700
+ @@schema_type = "TaxStatus"
701
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
702
+
703
+ Charity = TaxStatus.new("Charity")
704
+ ExtraTerritorial = TaxStatus.new("ExtraTerritorial")
705
+ Other = TaxStatus.new("Other")
706
+ SubjectToTax = TaxStatus.new("SubjectToTax")
707
+ ZeroRated = TaxStatus.new("ZeroRated")
708
+ end
709
+ end