adwords4r 0.7 → 11.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. data/Authors.txt +3 -1
  2. data/ChangeLog.txt +18 -1
  3. data/Rakefile +35 -50
  4. data/Readme.txt +28 -11
  5. data/Todo.txt +1 -9
  6. data/adwords.properties +7 -7
  7. data/examples/campaign.rb +7 -5
  8. data/examples/framework.rb +3 -1
  9. data/examples/get_free_usage_this_month.rb +3 -1
  10. data/examples/get_unit_count.rb +7 -2
  11. data/examples/keyword_tool_demo.rb +5 -2
  12. data/examples/traffic_estimator.rb +5 -2
  13. data/lib/adwords4r.rb +157 -147
  14. data/lib/adwords4r/credentials.rb +36 -36
  15. data/lib/adwords4r/services.rb +24 -32
  16. data/lib/adwords4r/v10/AccountService.rb +234 -0
  17. data/lib/adwords4r/v10/AccountServiceDriver.rb +77 -0
  18. data/lib/adwords4r/v10/AccountServiceMappingRegistry.rb +258 -0
  19. data/lib/adwords4r/v10/AdGroupService.rb +257 -0
  20. data/lib/adwords4r/v10/AdGroupServiceDriver.rb +109 -0
  21. data/lib/adwords4r/v10/AdGroupServiceMappingRegistry.rb +276 -0
  22. data/lib/adwords4r/v10/AdService.rb +757 -0
  23. data/lib/adwords4r/v10/AdServiceDriver.rb +125 -0
  24. data/lib/adwords4r/v10/AdServiceMappingRegistry.rb +805 -0
  25. data/lib/adwords4r/v10/CampaignService.rb +443 -0
  26. data/lib/adwords4r/v10/CampaignServiceDriver.rb +125 -0
  27. data/lib/adwords4r/v10/CampaignServiceMappingRegistry.rb +564 -0
  28. data/lib/adwords4r/v10/CriterionService.rb +442 -0
  29. data/lib/adwords4r/v10/CriterionServiceDriver.rb +117 -0
  30. data/lib/adwords4r/v10/CriterionServiceMappingRegistry.rb +507 -0
  31. data/lib/adwords4r/v10/InfoService.rb +242 -0
  32. data/lib/adwords4r/v10/InfoServiceDriver.rb +109 -0
  33. data/lib/adwords4r/v10/InfoServiceMappingRegistry.rb +228 -0
  34. data/lib/adwords4r/v10/KeywordToolService.rb +205 -0
  35. data/lib/adwords4r/{v6 → v10}/KeywordToolServiceDriver.rb +18 -12
  36. data/lib/adwords4r/v10/KeywordToolServiceMappingRegistry.rb +227 -0
  37. data/lib/adwords4r/{v6 → v10}/ReportService.rb +335 -472
  38. data/lib/adwords4r/v10/ReportServiceDriver.rb +93 -0
  39. data/lib/adwords4r/v10/ReportServiceMappingRegistry.rb +559 -0
  40. data/lib/adwords4r/v10/SiteSuggestionService.rb +242 -0
  41. data/lib/adwords4r/v10/SiteSuggestionServiceDriver.rb +77 -0
  42. data/lib/adwords4r/v10/SiteSuggestionServiceMappingRegistry.rb +271 -0
  43. data/lib/adwords4r/v10/TrafficEstimatorService.rb +312 -0
  44. data/lib/adwords4r/v10/TrafficEstimatorServiceDriver.rb +77 -0
  45. data/lib/adwords4r/v10/TrafficEstimatorServiceMappingRegistry.rb +483 -0
  46. data/lib/adwords4r/v11/AccountService.rb +215 -0
  47. data/lib/adwords4r/v11/AccountServiceDriver.rb +69 -0
  48. data/lib/adwords4r/v11/AccountServiceMappingRegistry.rb +243 -0
  49. data/lib/adwords4r/v11/AdGroupService.rb +257 -0
  50. data/lib/adwords4r/v11/AdGroupServiceDriver.rb +109 -0
  51. data/lib/adwords4r/v11/AdGroupServiceMappingRegistry.rb +276 -0
  52. data/lib/adwords4r/v11/AdService.rb +760 -0
  53. data/lib/adwords4r/v11/AdServiceDriver.rb +125 -0
  54. data/lib/adwords4r/v11/AdServiceMappingRegistry.rb +807 -0
  55. data/lib/adwords4r/v11/CampaignService.rb +443 -0
  56. data/lib/adwords4r/v11/CampaignServiceDriver.rb +125 -0
  57. data/lib/adwords4r/v11/CampaignServiceMappingRegistry.rb +564 -0
  58. data/lib/adwords4r/v11/CriterionService.rb +442 -0
  59. data/lib/adwords4r/v11/CriterionServiceDriver.rb +117 -0
  60. data/lib/adwords4r/v11/CriterionServiceMappingRegistry.rb +507 -0
  61. data/lib/adwords4r/v11/InfoService.rb +242 -0
  62. data/lib/adwords4r/v11/InfoServiceDriver.rb +109 -0
  63. data/lib/adwords4r/v11/InfoServiceMappingRegistry.rb +228 -0
  64. data/lib/adwords4r/v11/KeywordToolService.rb +205 -0
  65. data/lib/adwords4r/{v5 → v11}/KeywordToolServiceDriver.rb +18 -12
  66. data/lib/adwords4r/v11/KeywordToolServiceMappingRegistry.rb +227 -0
  67. data/lib/adwords4r/v11/ReportService.rb +322 -0
  68. data/lib/adwords4r/v11/ReportServiceDriver.rb +101 -0
  69. data/lib/adwords4r/v11/ReportServiceMappingRegistry.rb +298 -0
  70. data/lib/adwords4r/v11/SiteSuggestionService.rb +242 -0
  71. data/lib/adwords4r/v11/SiteSuggestionServiceDriver.rb +77 -0
  72. data/lib/adwords4r/v11/SiteSuggestionServiceMappingRegistry.rb +271 -0
  73. data/lib/adwords4r/v11/TrafficEstimatorService.rb +312 -0
  74. data/lib/adwords4r/v11/TrafficEstimatorServiceDriver.rb +77 -0
  75. data/lib/adwords4r/v11/TrafficEstimatorServiceMappingRegistry.rb +483 -0
  76. metadata +96 -74
  77. data/lib/adwords4r/v4/AccountService.rb +0 -709
  78. data/lib/adwords4r/v4/AccountServiceDriver.rb +0 -174
  79. data/lib/adwords4r/v4/AdGroupService.rb +0 -316
  80. data/lib/adwords4r/v4/AdGroupServiceDriver.rb +0 -97
  81. data/lib/adwords4r/v4/CampaignService.rb +0 -527
  82. data/lib/adwords4r/v4/CampaignServiceDriver.rb +0 -111
  83. data/lib/adwords4r/v4/CreativeService.rb +0 -368
  84. data/lib/adwords4r/v4/CreativeServiceDriver.rb +0 -104
  85. data/lib/adwords4r/v4/CriterionService.rb +0 -411
  86. data/lib/adwords4r/v4/CriterionServiceDriver.rb +0 -97
  87. data/lib/adwords4r/v4/InfoService.rb +0 -260
  88. data/lib/adwords4r/v4/InfoServiceDriver.rb +0 -90
  89. data/lib/adwords4r/v4/KeywordService.rb +0 -543
  90. data/lib/adwords4r/v4/KeywordServiceDriver.rb +0 -125
  91. data/lib/adwords4r/v4/KeywordToolService.rb +0 -227
  92. data/lib/adwords4r/v4/KeywordToolServiceDriver.rb +0 -55
  93. data/lib/adwords4r/v4/ReportService.rb +0 -575
  94. data/lib/adwords4r/v4/ReportServiceDriver.rb +0 -83
  95. data/lib/adwords4r/v4/TrafficEstimatorService.rb +0 -274
  96. data/lib/adwords4r/v4/TrafficEstimatorServiceDriver.rb +0 -62
  97. data/lib/adwords4r/v5/AccountService.rb +0 -853
  98. data/lib/adwords4r/v5/AccountServiceDriver.rb +0 -188
  99. data/lib/adwords4r/v5/AdGroupService.rb +0 -352
  100. data/lib/adwords4r/v5/AdGroupServiceDriver.rb +0 -97
  101. data/lib/adwords4r/v5/CampaignService.rb +0 -563
  102. data/lib/adwords4r/v5/CampaignServiceDriver.rb +0 -111
  103. data/lib/adwords4r/v5/CreativeService.rb +0 -404
  104. data/lib/adwords4r/v5/CreativeServiceDriver.rb +0 -104
  105. data/lib/adwords4r/v5/CriterionService.rb +0 -447
  106. data/lib/adwords4r/v5/CriterionServiceDriver.rb +0 -97
  107. data/lib/adwords4r/v5/InfoService.rb +0 -296
  108. data/lib/adwords4r/v5/InfoServiceDriver.rb +0 -90
  109. data/lib/adwords4r/v5/KeywordToolService.rb +0 -263
  110. data/lib/adwords4r/v5/ReportService.rb +0 -788
  111. data/lib/adwords4r/v5/ReportServiceDriver.rb +0 -83
  112. data/lib/adwords4r/v5/TrafficEstimatorService.rb +0 -310
  113. data/lib/adwords4r/v5/TrafficEstimatorServiceDriver.rb +0 -62
  114. data/lib/adwords4r/v6/AccountService.rb +0 -853
  115. data/lib/adwords4r/v6/AccountServiceDriver.rb +0 -188
  116. data/lib/adwords4r/v6/AdGroupService.rb +0 -352
  117. data/lib/adwords4r/v6/AdGroupServiceDriver.rb +0 -97
  118. data/lib/adwords4r/v6/CampaignService.rb +0 -563
  119. data/lib/adwords4r/v6/CampaignServiceDriver.rb +0 -111
  120. data/lib/adwords4r/v6/CreativeService.rb +0 -472
  121. data/lib/adwords4r/v6/CreativeServiceDriver.rb +0 -111
  122. data/lib/adwords4r/v6/CriterionService.rb +0 -447
  123. data/lib/adwords4r/v6/CriterionServiceDriver.rb +0 -97
  124. data/lib/adwords4r/v6/InfoService.rb +0 -343
  125. data/lib/adwords4r/v6/InfoServiceDriver.rb +0 -97
  126. data/lib/adwords4r/v6/KeywordToolService.rb +0 -263
  127. data/lib/adwords4r/v6/ReportServiceDriver.rb +0 -83
  128. data/lib/adwords4r/v6/TrafficEstimatorService.rb +0 -310
  129. data/lib/adwords4r/v6/TrafficEstimatorServiceDriver.rb +0 -62
@@ -0,0 +1,442 @@
1
+ require 'xsd/qname'
2
+
3
+ module AdWords; module CriterionService
4
+
5
+
6
+ # {https://adwords.google.com/api/adwords/v10}ApiError
7
+ # code - SOAP::SOAPInt
8
+ # detail - SOAP::SOAPString
9
+ # field - SOAP::SOAPString
10
+ # index - SOAP::SOAPInt
11
+ # isExemptable - SOAP::SOAPBoolean
12
+ # textIndex - SOAP::SOAPInt
13
+ # textLength - SOAP::SOAPInt
14
+ # trigger - SOAP::SOAPString
15
+ class ApiError
16
+ attr_accessor :code
17
+ attr_accessor :detail
18
+ attr_accessor :field
19
+ attr_accessor :index
20
+ attr_accessor :isExemptable
21
+ attr_accessor :textIndex
22
+ attr_accessor :textLength
23
+ attr_accessor :trigger
24
+
25
+ def initialize(code = nil, detail = nil, field = nil, index = nil, isExemptable = nil, textIndex = nil, textLength = nil, trigger = nil)
26
+ @code = code
27
+ @detail = detail
28
+ @field = field
29
+ @index = index
30
+ @isExemptable = isExemptable
31
+ @textIndex = textIndex
32
+ @textLength = textLength
33
+ @trigger = trigger
34
+ end
35
+ end
36
+
37
+ # {https://adwords.google.com/api/adwords/v10}ApiException
38
+ # code - SOAP::SOAPInt
39
+ # errors - AdWords::CriterionService::ApiError
40
+ # internal - SOAP::SOAPBoolean
41
+ # message - SOAP::SOAPString
42
+ # trigger - SOAP::SOAPString
43
+ class ApiException
44
+ attr_accessor :code
45
+ attr_accessor :errors
46
+ attr_accessor :internal
47
+ attr_accessor :message
48
+ attr_accessor :trigger
49
+
50
+ def initialize(code = nil, errors = [], internal = nil, message = nil, trigger = nil)
51
+ @code = code
52
+ @errors = errors
53
+ @internal = internal
54
+ @message = message
55
+ @trigger = trigger
56
+ end
57
+ end
58
+
59
+ # {https://adwords.google.com/api/adwords/v10}Circle
60
+ # latitudeMicroDegrees - SOAP::SOAPInt
61
+ # longitudeMicroDegrees - SOAP::SOAPInt
62
+ # radiusMeters - SOAP::SOAPInt
63
+ class Circle
64
+ attr_accessor :latitudeMicroDegrees
65
+ attr_accessor :longitudeMicroDegrees
66
+ attr_accessor :radiusMeters
67
+
68
+ def initialize(latitudeMicroDegrees = nil, longitudeMicroDegrees = nil, radiusMeters = nil)
69
+ @latitudeMicroDegrees = latitudeMicroDegrees
70
+ @longitudeMicroDegrees = longitudeMicroDegrees
71
+ @radiusMeters = radiusMeters
72
+ end
73
+ end
74
+
75
+ # {https://adwords.google.com/api/adwords/v10}CityTargets
76
+ class CityTargets < ::Array
77
+ end
78
+
79
+ # {https://adwords.google.com/api/adwords/v10}CountryTargets
80
+ class CountryTargets < ::Array
81
+ end
82
+
83
+ # {https://adwords.google.com/api/adwords/v10}Criterion
84
+ # abstract
85
+ # adGroupId - SOAP::SOAPInt
86
+ # criterionType - AdWords::CriterionService::CriterionType
87
+ # destinationUrl - SOAP::SOAPString
88
+ # exemptionRequest - SOAP::SOAPString
89
+ # id - SOAP::SOAPLong
90
+ # language - SOAP::SOAPString
91
+ # negative - SOAP::SOAPBoolean
92
+ # paused - SOAP::SOAPBoolean
93
+ # status - AdWords::CriterionService::CriterionStatus
94
+ class Criterion
95
+ attr_accessor :adGroupId
96
+ attr_accessor :criterionType
97
+ attr_accessor :destinationUrl
98
+ attr_accessor :exemptionRequest
99
+ attr_accessor :id
100
+ attr_accessor :language
101
+ attr_accessor :negative
102
+ attr_accessor :paused
103
+ attr_accessor :status
104
+
105
+ def initialize(adGroupId = nil, criterionType = nil, destinationUrl = nil, exemptionRequest = nil, id = nil, language = nil, negative = nil, paused = nil, status = nil)
106
+ @adGroupId = adGroupId
107
+ @criterionType = criterionType
108
+ @destinationUrl = destinationUrl
109
+ @exemptionRequest = exemptionRequest
110
+ @id = id
111
+ @language = language
112
+ @negative = negative
113
+ @paused = paused
114
+ @status = status
115
+ end
116
+ end
117
+
118
+ # {https://adwords.google.com/api/adwords/v10}Keyword
119
+ # adGroupId - SOAP::SOAPInt
120
+ # criterionType - AdWords::CriterionService::CriterionType
121
+ # destinationUrl - SOAP::SOAPString
122
+ # exemptionRequest - SOAP::SOAPString
123
+ # id - SOAP::SOAPLong
124
+ # language - SOAP::SOAPString
125
+ # negative - SOAP::SOAPBoolean
126
+ # paused - SOAP::SOAPBoolean
127
+ # status - AdWords::CriterionService::CriterionStatus
128
+ # maxCpc - SOAP::SOAPLong
129
+ # minCpc - SOAP::SOAPLong
130
+ # proxyMaxCpc - SOAP::SOAPLong
131
+ # text - SOAP::SOAPString
132
+ # type - AdWords::CriterionService::KeywordType
133
+ class Keyword < Criterion
134
+ attr_accessor :adGroupId
135
+ attr_accessor :criterionType
136
+ attr_accessor :destinationUrl
137
+ attr_accessor :exemptionRequest
138
+ attr_accessor :id
139
+ attr_accessor :language
140
+ attr_accessor :negative
141
+ attr_accessor :paused
142
+ attr_accessor :status
143
+ attr_accessor :maxCpc
144
+ attr_accessor :minCpc
145
+ attr_accessor :proxyMaxCpc
146
+ attr_accessor :text
147
+ attr_accessor :type
148
+
149
+ def initialize(adGroupId = nil, criterionType = nil, destinationUrl = nil, exemptionRequest = nil, id = nil, language = nil, negative = nil, paused = nil, status = nil, maxCpc = nil, minCpc = nil, proxyMaxCpc = nil, text = nil, type = nil)
150
+ @adGroupId = adGroupId
151
+ @criterionType = criterionType
152
+ @destinationUrl = destinationUrl
153
+ @exemptionRequest = exemptionRequest
154
+ @id = id
155
+ @language = language
156
+ @negative = negative
157
+ @paused = paused
158
+ @status = status
159
+ @maxCpc = maxCpc
160
+ @minCpc = minCpc
161
+ @proxyMaxCpc = proxyMaxCpc
162
+ @text = text
163
+ @type = type
164
+ end
165
+ end
166
+
167
+ # {https://adwords.google.com/api/adwords/v10}Website
168
+ # adGroupId - SOAP::SOAPInt
169
+ # criterionType - AdWords::CriterionService::CriterionType
170
+ # destinationUrl - SOAP::SOAPString
171
+ # exemptionRequest - SOAP::SOAPString
172
+ # id - SOAP::SOAPLong
173
+ # language - SOAP::SOAPString
174
+ # negative - SOAP::SOAPBoolean
175
+ # paused - SOAP::SOAPBoolean
176
+ # status - AdWords::CriterionService::CriterionStatus
177
+ # maxCpm - SOAP::SOAPLong
178
+ # url - SOAP::SOAPString
179
+ class Website < Criterion
180
+ attr_accessor :adGroupId
181
+ attr_accessor :criterionType
182
+ attr_accessor :destinationUrl
183
+ attr_accessor :exemptionRequest
184
+ attr_accessor :id
185
+ attr_accessor :language
186
+ attr_accessor :negative
187
+ attr_accessor :paused
188
+ attr_accessor :status
189
+ attr_accessor :maxCpm
190
+ attr_accessor :url
191
+
192
+ def initialize(adGroupId = nil, criterionType = nil, destinationUrl = nil, exemptionRequest = nil, id = nil, language = nil, negative = nil, paused = nil, status = nil, maxCpm = nil, url = nil)
193
+ @adGroupId = adGroupId
194
+ @criterionType = criterionType
195
+ @destinationUrl = destinationUrl
196
+ @exemptionRequest = exemptionRequest
197
+ @id = id
198
+ @language = language
199
+ @negative = negative
200
+ @paused = paused
201
+ @status = status
202
+ @maxCpm = maxCpm
203
+ @url = url
204
+ end
205
+ end
206
+
207
+ # {https://adwords.google.com/api/adwords/v10}GeoTarget
208
+ # cityTargets - AdWords::CriterionService::CityTargets
209
+ # countryTargets - AdWords::CriterionService::CountryTargets
210
+ # metroTargets - AdWords::CriterionService::MetroTargets
211
+ # proximityTargets - AdWords::CriterionService::ProximityTargets
212
+ # regionTargets - AdWords::CriterionService::RegionTargets
213
+ # targetAll - SOAP::SOAPBoolean
214
+ class GeoTarget
215
+ attr_accessor :cityTargets
216
+ attr_accessor :countryTargets
217
+ attr_accessor :metroTargets
218
+ attr_accessor :proximityTargets
219
+ attr_accessor :regionTargets
220
+ attr_accessor :targetAll
221
+
222
+ def initialize(cityTargets = nil, countryTargets = nil, metroTargets = nil, proximityTargets = nil, regionTargets = nil, targetAll = nil)
223
+ @cityTargets = cityTargets
224
+ @countryTargets = countryTargets
225
+ @metroTargets = metroTargets
226
+ @proximityTargets = proximityTargets
227
+ @regionTargets = regionTargets
228
+ @targetAll = targetAll
229
+ end
230
+ end
231
+
232
+ # {https://adwords.google.com/api/adwords/v10}LanguageTarget
233
+ class LanguageTarget < ::Array
234
+ end
235
+
236
+ # {https://adwords.google.com/api/adwords/v10}MetroTargets
237
+ class MetroTargets < ::Array
238
+ end
239
+
240
+ # {https://adwords.google.com/api/adwords/v10}ProximityTargets
241
+ class ProximityTargets < ::Array
242
+ end
243
+
244
+ # {https://adwords.google.com/api/adwords/v10}RegionTargets
245
+ class RegionTargets < ::Array
246
+ end
247
+
248
+ # {https://adwords.google.com/api/adwords/v10}StatsRecord
249
+ # averagePosition - SOAP::SOAPDouble
250
+ # clicks - SOAP::SOAPLong
251
+ # conversionRate - SOAP::SOAPDouble
252
+ # conversions - SOAP::SOAPLong
253
+ # cost - SOAP::SOAPLong
254
+ # id - SOAP::SOAPLong
255
+ # impressions - SOAP::SOAPLong
256
+ class StatsRecord
257
+ attr_accessor :averagePosition
258
+ attr_accessor :clicks
259
+ attr_accessor :conversionRate
260
+ attr_accessor :conversions
261
+ attr_accessor :cost
262
+ attr_accessor :id
263
+ attr_accessor :impressions
264
+
265
+ def initialize(averagePosition = nil, clicks = nil, conversionRate = nil, conversions = nil, cost = nil, id = nil, impressions = nil)
266
+ @averagePosition = averagePosition
267
+ @clicks = clicks
268
+ @conversionRate = conversionRate
269
+ @conversions = conversions
270
+ @cost = cost
271
+ @id = id
272
+ @impressions = impressions
273
+ end
274
+ end
275
+
276
+ # {https://adwords.google.com/api/adwords/v10}CriterionStatus
277
+ class CriterionStatus < ::String
278
+ Active = CriterionStatus.new("Active")
279
+ Deleted = CriterionStatus.new("Deleted")
280
+ Disapproved = CriterionStatus.new("Disapproved")
281
+ InActive = CriterionStatus.new("InActive")
282
+ end
283
+
284
+ # {https://adwords.google.com/api/adwords/v10}CriterionType
285
+ class CriterionType < ::String
286
+ Keyword = CriterionType.new("Keyword")
287
+ Website = CriterionType.new("Website")
288
+ end
289
+
290
+ # {https://adwords.google.com/api/adwords/v10}KeywordType
291
+ class KeywordType < ::String
292
+ Broad = KeywordType.new("Broad")
293
+ Exact = KeywordType.new("Exact")
294
+ Phrase = KeywordType.new("Phrase")
295
+ end
296
+
297
+ # {https://adwords.google.com/api/adwords/v10}addCriteria
298
+ class AddCriteria < ::Array
299
+ end
300
+
301
+ # {https://adwords.google.com/api/adwords/v10}addCriteriaResponse
302
+ class AddCriteriaResponse < ::Array
303
+ end
304
+
305
+ # {https://adwords.google.com/api/adwords/v10}checkCriteria
306
+ # criteria - AdWords::CriterionService::Criterion
307
+ # languageTarget - AdWords::CriterionService::LanguageTarget
308
+ # geoTarget - AdWords::CriterionService::GeoTarget
309
+ class CheckCriteria
310
+ attr_accessor :criteria
311
+ attr_accessor :languageTarget
312
+ attr_accessor :geoTarget
313
+
314
+ def initialize(criteria = [], languageTarget = nil, geoTarget = nil)
315
+ @criteria = criteria
316
+ @languageTarget = languageTarget
317
+ @geoTarget = geoTarget
318
+ end
319
+ end
320
+
321
+ # {https://adwords.google.com/api/adwords/v10}checkCriteriaResponse
322
+ class CheckCriteriaResponse < ::Array
323
+ end
324
+
325
+ # {https://adwords.google.com/api/adwords/v10}getAllCriteria
326
+ # adGroupId - SOAP::SOAPInt
327
+ class GetAllCriteria
328
+ attr_accessor :adGroupId
329
+
330
+ def initialize(adGroupId = nil)
331
+ @adGroupId = adGroupId
332
+ end
333
+ end
334
+
335
+ # {https://adwords.google.com/api/adwords/v10}getAllCriteriaResponse
336
+ class GetAllCriteriaResponse < ::Array
337
+ end
338
+
339
+ # {https://adwords.google.com/api/adwords/v10}getCampaignNegativeCriteria
340
+ # campaignId - SOAP::SOAPInt
341
+ class GetCampaignNegativeCriteria
342
+ attr_accessor :campaignId
343
+
344
+ def initialize(campaignId = nil)
345
+ @campaignId = campaignId
346
+ end
347
+ end
348
+
349
+ # {https://adwords.google.com/api/adwords/v10}getCampaignNegativeCriteriaResponse
350
+ class GetCampaignNegativeCriteriaResponse < ::Array
351
+ end
352
+
353
+ # {https://adwords.google.com/api/adwords/v10}getCriteria
354
+ # adGroupId - SOAP::SOAPInt
355
+ # criterionIds - SOAP::SOAPLong
356
+ class GetCriteria
357
+ attr_accessor :adGroupId
358
+ attr_accessor :criterionIds
359
+
360
+ def initialize(adGroupId = nil, criterionIds = [])
361
+ @adGroupId = adGroupId
362
+ @criterionIds = criterionIds
363
+ end
364
+ end
365
+
366
+ # {https://adwords.google.com/api/adwords/v10}getCriteriaResponse
367
+ class GetCriteriaResponse < ::Array
368
+ end
369
+
370
+ # {https://adwords.google.com/api/adwords/v10}getCriterionStats
371
+ # adGroupId - SOAP::SOAPInt
372
+ # criterionIds - SOAP::SOAPLong
373
+ # startDay - SOAP::SOAPDate
374
+ # endDay - SOAP::SOAPDate
375
+ class GetCriterionStats
376
+ attr_accessor :adGroupId
377
+ attr_accessor :criterionIds
378
+ attr_accessor :startDay
379
+ attr_accessor :endDay
380
+
381
+ def initialize(adGroupId = nil, criterionIds = [], startDay = nil, endDay = nil)
382
+ @adGroupId = adGroupId
383
+ @criterionIds = criterionIds
384
+ @startDay = startDay
385
+ @endDay = endDay
386
+ end
387
+ end
388
+
389
+ # {https://adwords.google.com/api/adwords/v10}getCriterionStatsResponse
390
+ class GetCriterionStatsResponse < ::Array
391
+ end
392
+
393
+ # {https://adwords.google.com/api/adwords/v10}removeCriteria
394
+ # adGroupId - SOAP::SOAPInt
395
+ # criterionIds - SOAP::SOAPLong
396
+ class RemoveCriteria
397
+ attr_accessor :adGroupId
398
+ attr_accessor :criterionIds
399
+
400
+ def initialize(adGroupId = nil, criterionIds = [])
401
+ @adGroupId = adGroupId
402
+ @criterionIds = criterionIds
403
+ end
404
+ end
405
+
406
+ # {https://adwords.google.com/api/adwords/v10}removeCriteriaResponse
407
+ class RemoveCriteriaResponse
408
+ def initialize
409
+ end
410
+ end
411
+
412
+ # {https://adwords.google.com/api/adwords/v10}setCampaignNegativeCriteria
413
+ # campaignId - SOAP::SOAPInt
414
+ # criteria - AdWords::CriterionService::Criterion
415
+ class SetCampaignNegativeCriteria
416
+ attr_accessor :campaignId
417
+ attr_accessor :criteria
418
+
419
+ def initialize(campaignId = nil, criteria = [])
420
+ @campaignId = campaignId
421
+ @criteria = criteria
422
+ end
423
+ end
424
+
425
+ # {https://adwords.google.com/api/adwords/v10}setCampaignNegativeCriteriaResponse
426
+ class SetCampaignNegativeCriteriaResponse
427
+ def initialize
428
+ end
429
+ end
430
+
431
+ # {https://adwords.google.com/api/adwords/v10}updateCriteria
432
+ class UpdateCriteria < ::Array
433
+ end
434
+
435
+ # {https://adwords.google.com/api/adwords/v10}updateCriteriaResponse
436
+ class UpdateCriteriaResponse
437
+ def initialize
438
+ end
439
+ end
440
+
441
+
442
+ end; end
@@ -0,0 +1,117 @@
1
+ require 'adwords4r/v10/CriterionService'
2
+ require 'adwords4r/v10/CriterionServiceMappingRegistry'
3
+ require 'soap/rpc/driver'
4
+
5
+ module AdWords
6
+ module CriterionService
7
+
8
+ class CriterionInterface < ::SOAP::RPC::Driver
9
+ DefaultEndpointUrl = "https://adwords.google.com/api/adwords/v10/CriterionService"
10
+
11
+ Methods = [
12
+ [ "",
13
+ "addCriteria",
14
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "addCriteria"]],
15
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "addCriteriaResponse"]] ],
16
+ { :request_style => :document, :request_use => :literal,
17
+ :response_style => :document, :response_use => :literal,
18
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
19
+ ],
20
+ [ "",
21
+ "checkCriteria",
22
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "checkCriteria"]],
23
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "checkCriteriaResponse"]] ],
24
+ { :request_style => :document, :request_use => :literal,
25
+ :response_style => :document, :response_use => :literal,
26
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
27
+ ],
28
+ [ "",
29
+ "getAllCriteria",
30
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getAllCriteria"]],
31
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getAllCriteriaResponse"]] ],
32
+ { :request_style => :document, :request_use => :literal,
33
+ :response_style => :document, :response_use => :literal,
34
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
35
+ ],
36
+ [ "",
37
+ "getCampaignNegativeCriteria",
38
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getCampaignNegativeCriteria"]],
39
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getCampaignNegativeCriteriaResponse"]] ],
40
+ { :request_style => :document, :request_use => :literal,
41
+ :response_style => :document, :response_use => :literal,
42
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
43
+ ],
44
+ [ "",
45
+ "getCriteria",
46
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getCriteria"]],
47
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getCriteriaResponse"]] ],
48
+ { :request_style => :document, :request_use => :literal,
49
+ :response_style => :document, :response_use => :literal,
50
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
51
+ ],
52
+ [ "",
53
+ "getCriterionStats",
54
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getCriterionStats"]],
55
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "getCriterionStatsResponse"]] ],
56
+ { :request_style => :document, :request_use => :literal,
57
+ :response_style => :document, :response_use => :literal,
58
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
59
+ ],
60
+ [ "",
61
+ "removeCriteria",
62
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "removeCriteria"]],
63
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "removeCriteriaResponse"]] ],
64
+ { :request_style => :document, :request_use => :literal,
65
+ :response_style => :document, :response_use => :literal,
66
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
67
+ ],
68
+ [ "",
69
+ "setCampaignNegativeCriteria",
70
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "setCampaignNegativeCriteria"]],
71
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "setCampaignNegativeCriteriaResponse"]] ],
72
+ { :request_style => :document, :request_use => :literal,
73
+ :response_style => :document, :response_use => :literal,
74
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
75
+ ],
76
+ [ "",
77
+ "updateCriteria",
78
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "updateCriteria"]],
79
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v10", "updateCriteriaResponse"]] ],
80
+ { :request_style => :document, :request_use => :literal,
81
+ :response_style => :document, :response_use => :literal,
82
+ :faults => {"AdWords::CriterionService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v10", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
83
+ ]
84
+ ]
85
+
86
+ def initialize(endpoint_url = nil)
87
+ endpoint_url ||= DefaultEndpointUrl
88
+ super(endpoint_url, nil)
89
+ self.mapping_registry = DefaultMappingRegistry::EncodedRegistry
90
+ self.literal_mapping_registry = DefaultMappingRegistry::LiteralRegistry
91
+ init_methods
92
+ end
93
+
94
+ private
95
+
96
+ def init_methods
97
+ Methods.each do |definitions|
98
+ opt = definitions.last
99
+ if opt[:request_style] == :document
100
+ add_document_operation(*definitions)
101
+ else
102
+ add_rpc_operation(*definitions)
103
+ qname = definitions[0]
104
+ name = definitions[2]
105
+ if qname.name != name and qname.name.capitalize == name.capitalize
106
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
107
+ __send__(name, *arg)
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+
115
+
116
+ end
117
+ end