adwords4r 0.2

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.
Files changed (55) hide show
  1. data/Authors.txt +2 -0
  2. data/ChangeLog.txt +4 -0
  3. data/Copying.txt +28 -0
  4. data/Licence.txt +10 -0
  5. data/Rakefile +190 -0
  6. data/Readme.txt +61 -0
  7. data/Todo.txt +9 -0
  8. data/examples/campaign.rb +36 -0
  9. data/examples/framework.rb +6 -0
  10. data/lib/adwords4r.rb +136 -0
  11. data/lib/adwords4r/credentials.rb +37 -0
  12. data/lib/adwords4r/services.rb +41 -0
  13. data/lib/adwords4r/v2/AccountService.rb +626 -0
  14. data/lib/adwords4r/v2/AccountServiceDriver.rb +153 -0
  15. data/lib/adwords4r/v2/AdGroupService.rb +315 -0
  16. data/lib/adwords4r/v2/AdGroupServiceDriver.rb +97 -0
  17. data/lib/adwords4r/v2/CampaignService.rb +515 -0
  18. data/lib/adwords4r/v2/CampaignServiceDriver.rb +111 -0
  19. data/lib/adwords4r/v2/CreativeService.rb +399 -0
  20. data/lib/adwords4r/v2/CreativeServiceDriver.rb +104 -0
  21. data/lib/adwords4r/v2/CriterionService.rb +413 -0
  22. data/lib/adwords4r/v2/CriterionServiceDriver.rb +97 -0
  23. data/lib/adwords4r/v2/InfoService.rb +258 -0
  24. data/lib/adwords4r/v2/InfoServiceDriver.rb +90 -0
  25. data/lib/adwords4r/v2/KeywordService.rb +541 -0
  26. data/lib/adwords4r/v2/KeywordServiceDriver.rb +125 -0
  27. data/lib/adwords4r/v2/ReportService.rb +567 -0
  28. data/lib/adwords4r/v2/ReportServiceDriver.rb +83 -0
  29. data/lib/adwords4r/v2/TrafficEstimatorService.rb +249 -0
  30. data/lib/adwords4r/v2/TrafficEstimatorServiceDriver.rb +62 -0
  31. data/lib/adwords4r/v2/default.rb +364 -0
  32. data/lib/adwords4r/v2/defaultDriver.rb +102 -0
  33. data/lib/adwords4r/v3/AccountService.rb +626 -0
  34. data/lib/adwords4r/v3/AccountServiceDriver.rb +153 -0
  35. data/lib/adwords4r/v3/AdGroupService.rb +318 -0
  36. data/lib/adwords4r/v3/AdGroupServiceDriver.rb +97 -0
  37. data/lib/adwords4r/v3/CampaignService.rb +529 -0
  38. data/lib/adwords4r/v3/CampaignServiceDriver.rb +111 -0
  39. data/lib/adwords4r/v3/CreativeService.rb +399 -0
  40. data/lib/adwords4r/v3/CreativeServiceDriver.rb +104 -0
  41. data/lib/adwords4r/v3/CriterionService.rb +413 -0
  42. data/lib/adwords4r/v3/CriterionServiceDriver.rb +97 -0
  43. data/lib/adwords4r/v3/InfoService.rb +258 -0
  44. data/lib/adwords4r/v3/InfoServiceDriver.rb +90 -0
  45. data/lib/adwords4r/v3/KeywordService.rb +541 -0
  46. data/lib/adwords4r/v3/KeywordServiceDriver.rb +125 -0
  47. data/lib/adwords4r/v3/KeywordToolService.rb +225 -0
  48. data/lib/adwords4r/v3/KeywordToolServiceDriver.rb +55 -0
  49. data/lib/adwords4r/v3/ReportService.rb +567 -0
  50. data/lib/adwords4r/v3/ReportServiceDriver.rb +83 -0
  51. data/lib/adwords4r/v3/TrafficEstimatorService.rb +263 -0
  52. data/lib/adwords4r/v3/TrafficEstimatorServiceDriver.rb +62 -0
  53. data/scripts/publish.rb +16 -0
  54. data/setup.rb +1585 -0
  55. metadata +92 -0
@@ -0,0 +1,125 @@
1
+ require 'adwords4r/v2/KeywordService'
2
+
3
+ require 'soap/rpc/driver'
4
+ module AdWordsV2
5
+
6
+ class KeywordService < ::SOAP::RPC::Driver
7
+ DefaultEndpointUrl = "https://adwords.google.com:443/api/adwords/v2/KeywordService"
8
+ MappingRegistry = ::SOAP::Mapping::Registry.new
9
+
10
+ Methods = [
11
+ [ "",
12
+ "getAllKeywords",
13
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "getAllKeywords"], true],
14
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "getAllKeywordsResponse"], true] ],
15
+ { :request_style => :document, :request_use => :literal,
16
+ :response_style => :document, :response_use => :literal }
17
+ ],
18
+ [ "",
19
+ "getKeywordList",
20
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "getKeywordList"], true],
21
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "getKeywordListResponse"], true] ],
22
+ { :request_style => :document, :request_use => :literal,
23
+ :response_style => :document, :response_use => :literal }
24
+ ],
25
+ [ "",
26
+ "getActiveKeywords",
27
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "getActiveKeywords"], true],
28
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "getActiveKeywordsResponse"], true] ],
29
+ { :request_style => :document, :request_use => :literal,
30
+ :response_style => :document, :response_use => :literal }
31
+ ],
32
+ [ "",
33
+ "setKeywordListMaxCpc",
34
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "setKeywordListMaxCpc"], true],
35
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "setKeywordListMaxCpcResponse"], true] ],
36
+ { :request_style => :document, :request_use => :literal,
37
+ :response_style => :document, :response_use => :literal }
38
+ ],
39
+ [ "",
40
+ "setKeywordListSingleMaxCpc",
41
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "setKeywordListSingleMaxCpc"], true],
42
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "setKeywordListSingleMaxCpcResponse"], true] ],
43
+ { :request_style => :document, :request_use => :literal,
44
+ :response_style => :document, :response_use => :literal }
45
+ ],
46
+ [ "",
47
+ "updateKeyword",
48
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "updateKeyword"], true],
49
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "updateKeywordResponse"], true] ],
50
+ { :request_style => :document, :request_use => :literal,
51
+ :response_style => :document, :response_use => :literal }
52
+ ],
53
+ [ "",
54
+ "updateKeywordList",
55
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "updateKeywordList"], true],
56
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "updateKeywordListResponse"], true] ],
57
+ { :request_style => :document, :request_use => :literal,
58
+ :response_style => :document, :response_use => :literal }
59
+ ],
60
+ [ "",
61
+ "addKeyword",
62
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "addKeyword"], true],
63
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "addKeywordResponse"], true] ],
64
+ { :request_style => :document, :request_use => :literal,
65
+ :response_style => :document, :response_use => :literal }
66
+ ],
67
+ [ "",
68
+ "addKeywordList",
69
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "addKeywordList"], true],
70
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "addKeywordListResponse"], true] ],
71
+ { :request_style => :document, :request_use => :literal,
72
+ :response_style => :document, :response_use => :literal }
73
+ ],
74
+ [ "",
75
+ "removeKeywordList",
76
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "removeKeywordList"], true],
77
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "removeKeywordListResponse"], true] ],
78
+ { :request_style => :document, :request_use => :literal,
79
+ :response_style => :document, :response_use => :literal }
80
+ ],
81
+ [ "",
82
+ "removeKeyword",
83
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "removeKeyword"], true],
84
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "removeKeywordResponse"], true] ],
85
+ { :request_style => :document, :request_use => :literal,
86
+ :response_style => :document, :response_use => :literal }
87
+ ],
88
+ [ "",
89
+ "getKeywordStats",
90
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "getKeywordStats"], true],
91
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v2", "getKeywordStatsResponse"], true] ],
92
+ { :request_style => :document, :request_use => :literal,
93
+ :response_style => :document, :response_use => :literal }
94
+ ]
95
+ ]
96
+
97
+ def initialize(endpoint_url = nil)
98
+ endpoint_url ||= DefaultEndpointUrl
99
+ super(endpoint_url, nil)
100
+ self.mapping_registry = MappingRegistry
101
+ init_methods
102
+ end
103
+
104
+ private
105
+
106
+ def init_methods
107
+ Methods.each do |definitions|
108
+ opt = definitions.last
109
+ if opt[:request_style] == :document
110
+ add_document_operation(*definitions)
111
+ else
112
+ add_rpc_operation(*definitions)
113
+ qname = definitions[0]
114
+ name = definitions[2]
115
+ if qname.name != name and qname.name.capitalize == name.capitalize
116
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
117
+ __send__(name, *arg)
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
124
+
125
+ end
@@ -0,0 +1,567 @@
1
+ require 'xsd/qname'
2
+
3
+ # {https://adwords.google.com/api/adwords/v2}scheduleReportJob
4
+ class ScheduleReportJob
5
+ @@schema_type = "scheduleReportJob"
6
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
7
+ @@schema_qualified = "true"
8
+ @@schema_element = [
9
+ ["job", "ReportJob"]
10
+ ]
11
+
12
+ attr_accessor :job
13
+
14
+ def initialize(job = nil)
15
+ @job = job
16
+ end
17
+ end
18
+
19
+ # {https://adwords.google.com/api/adwords/v2}scheduleReportJobResponse
20
+ class ScheduleReportJobResponse
21
+ @@schema_type = "scheduleReportJobResponse"
22
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
23
+ @@schema_qualified = "true"
24
+ @@schema_element = [
25
+ ["scheduleReportJobReturn", "Long"]
26
+ ]
27
+
28
+ attr_accessor :scheduleReportJobReturn
29
+
30
+ def initialize(scheduleReportJobReturn = nil)
31
+ @scheduleReportJobReturn = scheduleReportJobReturn
32
+ end
33
+ end
34
+
35
+ # {https://adwords.google.com/api/adwords/v2}getReportJobStatus
36
+ class GetReportJobStatus
37
+ @@schema_type = "getReportJobStatus"
38
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
39
+ @@schema_qualified = "true"
40
+ @@schema_element = [
41
+ ["reportJobId", "Long"]
42
+ ]
43
+
44
+ attr_accessor :reportJobId
45
+
46
+ def initialize(reportJobId = nil)
47
+ @reportJobId = reportJobId
48
+ end
49
+ end
50
+
51
+ # {https://adwords.google.com/api/adwords/v2}getReportJobStatusResponse
52
+ class GetReportJobStatusResponse
53
+ @@schema_type = "getReportJobStatusResponse"
54
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
55
+ @@schema_qualified = "true"
56
+ @@schema_element = [
57
+ ["getReportJobStatusReturn", "ReportJobStatus"]
58
+ ]
59
+
60
+ attr_accessor :getReportJobStatusReturn
61
+
62
+ def initialize(getReportJobStatusReturn = nil)
63
+ @getReportJobStatusReturn = getReportJobStatusReturn
64
+ end
65
+ end
66
+
67
+ # {https://adwords.google.com/api/adwords/v2}getReportDownloadUrl
68
+ class GetReportDownloadUrl
69
+ @@schema_type = "getReportDownloadUrl"
70
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
71
+ @@schema_qualified = "true"
72
+ @@schema_element = [
73
+ ["reportJobId", "Long"]
74
+ ]
75
+
76
+ attr_accessor :reportJobId
77
+
78
+ def initialize(reportJobId = nil)
79
+ @reportJobId = reportJobId
80
+ end
81
+ end
82
+
83
+ # {https://adwords.google.com/api/adwords/v2}getReportDownloadUrlResponse
84
+ class GetReportDownloadUrlResponse
85
+ @@schema_type = "getReportDownloadUrlResponse"
86
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
87
+ @@schema_qualified = "true"
88
+ @@schema_element = [
89
+ ["getReportDownloadUrlReturn", "String"]
90
+ ]
91
+
92
+ attr_accessor :getReportDownloadUrlReturn
93
+
94
+ def initialize(getReportDownloadUrlReturn = nil)
95
+ @getReportDownloadUrlReturn = getReportDownloadUrlReturn
96
+ end
97
+ end
98
+
99
+ # {https://adwords.google.com/api/adwords/v2}getGzipReportDownloadUrl
100
+ class GetGzipReportDownloadUrl
101
+ @@schema_type = "getGzipReportDownloadUrl"
102
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
103
+ @@schema_qualified = "true"
104
+ @@schema_element = [
105
+ ["reportJobId", "Long"]
106
+ ]
107
+
108
+ attr_accessor :reportJobId
109
+
110
+ def initialize(reportJobId = nil)
111
+ @reportJobId = reportJobId
112
+ end
113
+ end
114
+
115
+ # {https://adwords.google.com/api/adwords/v2}getGzipReportDownloadUrlResponse
116
+ class GetGzipReportDownloadUrlResponse
117
+ @@schema_type = "getGzipReportDownloadUrlResponse"
118
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
119
+ @@schema_qualified = "true"
120
+ @@schema_element = [
121
+ ["getGzipReportDownloadUrlReturn", "String"]
122
+ ]
123
+
124
+ attr_accessor :getGzipReportDownloadUrlReturn
125
+
126
+ def initialize(getGzipReportDownloadUrlReturn = nil)
127
+ @getGzipReportDownloadUrlReturn = getGzipReportDownloadUrlReturn
128
+ end
129
+ end
130
+
131
+ # {https://adwords.google.com/api/adwords/v2}getAllJobs
132
+ class GetAllJobs
133
+ @@schema_type = "getAllJobs"
134
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
135
+ @@schema_qualified = "true"
136
+ @@schema_element = []
137
+
138
+ def initialize
139
+ end
140
+ end
141
+
142
+ # {https://adwords.google.com/api/adwords/v2}getAllJobsResponse
143
+ class GetAllJobsResponse < ::Array
144
+ @@schema_element = [
145
+ ["getAllJobsReturn", ["ReportJob[]", XSD::QName.new("https://adwords.google.com/api/adwords/v2", "getAllJobsReturn")]]
146
+ ]
147
+ end
148
+
149
+ # {https://adwords.google.com/api/adwords/v2}deleteReport
150
+ class DeleteReport
151
+ @@schema_type = "deleteReport"
152
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
153
+ @@schema_qualified = "true"
154
+ @@schema_element = [
155
+ ["reportJobId", "Long"]
156
+ ]
157
+
158
+ attr_accessor :reportJobId
159
+
160
+ def initialize(reportJobId = nil)
161
+ @reportJobId = reportJobId
162
+ end
163
+ end
164
+
165
+ # {https://adwords.google.com/api/adwords/v2}deleteReportResponse
166
+ class DeleteReportResponse
167
+ @@schema_type = "deleteReportResponse"
168
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
169
+ @@schema_qualified = "true"
170
+ @@schema_element = []
171
+
172
+ def initialize
173
+ end
174
+ end
175
+
176
+ # {https://adwords.google.com/api/adwords/v2}ApiException
177
+ class ApiException
178
+ @@schema_type = "ApiException"
179
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
180
+ @@schema_element = [
181
+ ["code", "Int"],
182
+ ["internal", "Boolean"],
183
+ ["message", "String"],
184
+ ["trigger", "String"],
185
+ ["violations", "String"]
186
+ ]
187
+
188
+ attr_accessor :code
189
+ attr_accessor :internal
190
+ attr_accessor :message
191
+ attr_accessor :trigger
192
+ attr_accessor :violations
193
+
194
+ def initialize(code = nil, internal = nil, message = nil, trigger = nil, violations = nil)
195
+ @code = code
196
+ @internal = internal
197
+ @message = message
198
+ @trigger = trigger
199
+ @violations = violations
200
+ end
201
+ end
202
+
203
+ # {https://adwords.google.com/api/adwords/v2}ReportJob
204
+ class ReportJob
205
+ @@schema_type = "ReportJob"
206
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
207
+ @@schema_element = [
208
+ ["id", "Long"],
209
+ ["name", "String"],
210
+ ["aggregationType", "AggregationType"],
211
+ ["startDate", "DateTime"],
212
+ ["endDate", "DateTime"],
213
+ ["status", "ReportJobStatus"],
214
+ ["crossClient", "Boolean"],
215
+ ["clientAccounts", "Int[]"]
216
+ ]
217
+
218
+ attr_accessor :id
219
+ attr_accessor :name
220
+ attr_accessor :aggregationType
221
+ attr_accessor :startDate
222
+ attr_accessor :endDate
223
+ attr_accessor :status
224
+ attr_accessor :crossClient
225
+ attr_accessor :clientAccounts
226
+
227
+ def initialize(id = nil, name = nil, aggregationType = nil, startDate = nil, endDate = nil, status = nil, crossClient = nil, clientAccounts = [])
228
+ @id = id
229
+ @name = name
230
+ @aggregationType = aggregationType
231
+ @startDate = startDate
232
+ @endDate = endDate
233
+ @status = status
234
+ @crossClient = crossClient
235
+ @clientAccounts = clientAccounts
236
+ end
237
+ end
238
+
239
+ # {https://adwords.google.com/api/adwords/v2}KeywordReportJob
240
+ class KeywordReportJob
241
+ @@schema_type = "KeywordReportJob"
242
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
243
+ @@schema_element = [
244
+ ["id", "Long"],
245
+ ["name", "String"],
246
+ ["aggregationType", "AggregationType"],
247
+ ["startDate", "DateTime"],
248
+ ["endDate", "DateTime"],
249
+ ["status", "ReportJobStatus"],
250
+ ["crossClient", "Boolean"],
251
+ ["clientAccounts", "Int[]"],
252
+ ["adWordsType", "AdWordsType"],
253
+ ["keywordStatuses", "KeywordStatus[]"],
254
+ ["keywordType", "KeywordType"],
255
+ ["campaigns", "Int[]"]
256
+ ]
257
+
258
+ attr_accessor :id
259
+ attr_accessor :name
260
+ attr_accessor :aggregationType
261
+ attr_accessor :startDate
262
+ attr_accessor :endDate
263
+ attr_accessor :status
264
+ attr_accessor :crossClient
265
+ attr_accessor :clientAccounts
266
+ attr_accessor :adWordsType
267
+ attr_accessor :keywordStatuses
268
+ attr_accessor :keywordType
269
+ attr_accessor :campaigns
270
+
271
+ def initialize(id = nil, name = nil, aggregationType = nil, startDate = nil, endDate = nil, status = nil, crossClient = nil, clientAccounts = [], adWordsType = nil, keywordStatuses = [], keywordType = nil, campaigns = [])
272
+ @id = id
273
+ @name = name
274
+ @aggregationType = aggregationType
275
+ @startDate = startDate
276
+ @endDate = endDate
277
+ @status = status
278
+ @crossClient = crossClient
279
+ @clientAccounts = clientAccounts
280
+ @adWordsType = adWordsType
281
+ @keywordStatuses = keywordStatuses
282
+ @keywordType = keywordType
283
+ @campaigns = campaigns
284
+ end
285
+ end
286
+
287
+ # {https://adwords.google.com/api/adwords/v2}AdTextReportJob
288
+ class AdTextReportJob
289
+ @@schema_type = "AdTextReportJob"
290
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
291
+ @@schema_element = [
292
+ ["id", "Long"],
293
+ ["name", "String"],
294
+ ["aggregationType", "AggregationType"],
295
+ ["startDate", "DateTime"],
296
+ ["endDate", "DateTime"],
297
+ ["status", "ReportJobStatus"],
298
+ ["crossClient", "Boolean"],
299
+ ["clientAccounts", "Int[]"],
300
+ ["adWordsType", "AdWordsType"],
301
+ ["campaigns", "Int[]"]
302
+ ]
303
+
304
+ attr_accessor :id
305
+ attr_accessor :name
306
+ attr_accessor :aggregationType
307
+ attr_accessor :startDate
308
+ attr_accessor :endDate
309
+ attr_accessor :status
310
+ attr_accessor :crossClient
311
+ attr_accessor :clientAccounts
312
+ attr_accessor :adWordsType
313
+ attr_accessor :campaigns
314
+
315
+ def initialize(id = nil, name = nil, aggregationType = nil, startDate = nil, endDate = nil, status = nil, crossClient = nil, clientAccounts = [], adWordsType = nil, campaigns = [])
316
+ @id = id
317
+ @name = name
318
+ @aggregationType = aggregationType
319
+ @startDate = startDate
320
+ @endDate = endDate
321
+ @status = status
322
+ @crossClient = crossClient
323
+ @clientAccounts = clientAccounts
324
+ @adWordsType = adWordsType
325
+ @campaigns = campaigns
326
+ end
327
+ end
328
+
329
+ # {https://adwords.google.com/api/adwords/v2}UrlReportJob
330
+ class UrlReportJob
331
+ @@schema_type = "UrlReportJob"
332
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
333
+ @@schema_element = [
334
+ ["id", "Long"],
335
+ ["name", "String"],
336
+ ["aggregationType", "AggregationType"],
337
+ ["startDate", "DateTime"],
338
+ ["endDate", "DateTime"],
339
+ ["status", "ReportJobStatus"],
340
+ ["crossClient", "Boolean"],
341
+ ["clientAccounts", "Int[]"],
342
+ ["adWordsType", "AdWordsType"],
343
+ ["campaigns", "Int[]"]
344
+ ]
345
+
346
+ attr_accessor :id
347
+ attr_accessor :name
348
+ attr_accessor :aggregationType
349
+ attr_accessor :startDate
350
+ attr_accessor :endDate
351
+ attr_accessor :status
352
+ attr_accessor :crossClient
353
+ attr_accessor :clientAccounts
354
+ attr_accessor :adWordsType
355
+ attr_accessor :campaigns
356
+
357
+ def initialize(id = nil, name = nil, aggregationType = nil, startDate = nil, endDate = nil, status = nil, crossClient = nil, clientAccounts = [], adWordsType = nil, campaigns = [])
358
+ @id = id
359
+ @name = name
360
+ @aggregationType = aggregationType
361
+ @startDate = startDate
362
+ @endDate = endDate
363
+ @status = status
364
+ @crossClient = crossClient
365
+ @clientAccounts = clientAccounts
366
+ @adWordsType = adWordsType
367
+ @campaigns = campaigns
368
+ end
369
+ end
370
+
371
+ # {https://adwords.google.com/api/adwords/v2}CustomReportJob
372
+ class CustomReportJob
373
+ @@schema_type = "CustomReportJob"
374
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
375
+ @@schema_element = [
376
+ ["id", "Long"],
377
+ ["name", "String"],
378
+ ["aggregationType", "AggregationType"],
379
+ ["startDate", "DateTime"],
380
+ ["endDate", "DateTime"],
381
+ ["status", "ReportJobStatus"],
382
+ ["crossClient", "Boolean"],
383
+ ["clientAccounts", "Int[]"],
384
+ ["keywords", "String[]"],
385
+ ["keywordStatuses", "KeywordStatus[]"],
386
+ ["keywordType", "KeywordType"],
387
+ ["campaignStatuses", "CampaignStatus[]"],
388
+ ["campaigns", "Int[]"],
389
+ ["adGroupStatuses", "AdGroupStatus[]"],
390
+ ["adGroups", "Int[]"],
391
+ ["adWordsType", "AdWordsType"],
392
+ ["customOptions", "CustomReportOption[]"]
393
+ ]
394
+
395
+ attr_accessor :id
396
+ attr_accessor :name
397
+ attr_accessor :aggregationType
398
+ attr_accessor :startDate
399
+ attr_accessor :endDate
400
+ attr_accessor :status
401
+ attr_accessor :crossClient
402
+ attr_accessor :clientAccounts
403
+ attr_accessor :keywords
404
+ attr_accessor :keywordStatuses
405
+ attr_accessor :keywordType
406
+ attr_accessor :campaignStatuses
407
+ attr_accessor :campaigns
408
+ attr_accessor :adGroupStatuses
409
+ attr_accessor :adGroups
410
+ attr_accessor :adWordsType
411
+ attr_accessor :customOptions
412
+
413
+ def initialize(id = nil, name = nil, aggregationType = nil, startDate = nil, endDate = nil, status = nil, crossClient = nil, clientAccounts = [], keywords = [], keywordStatuses = [], keywordType = nil, campaignStatuses = [], campaigns = [], adGroupStatuses = [], adGroups = [], adWordsType = nil, customOptions = [])
414
+ @id = id
415
+ @name = name
416
+ @aggregationType = aggregationType
417
+ @startDate = startDate
418
+ @endDate = endDate
419
+ @status = status
420
+ @crossClient = crossClient
421
+ @clientAccounts = clientAccounts
422
+ @keywords = keywords
423
+ @keywordStatuses = keywordStatuses
424
+ @keywordType = keywordType
425
+ @campaignStatuses = campaignStatuses
426
+ @campaigns = campaigns
427
+ @adGroupStatuses = adGroupStatuses
428
+ @adGroups = adGroups
429
+ @adWordsType = adWordsType
430
+ @customOptions = customOptions
431
+ end
432
+ end
433
+
434
+ # {https://adwords.google.com/api/adwords/v2}ReportJobStatus
435
+ class ReportJobStatus < ::String
436
+ @@schema_type = "ReportJobStatus"
437
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
438
+
439
+ Completed = ReportJobStatus.new("Completed")
440
+ Failed = ReportJobStatus.new("Failed")
441
+ InProgress = ReportJobStatus.new("InProgress")
442
+ Pending = ReportJobStatus.new("Pending")
443
+ end
444
+
445
+ # {https://adwords.google.com/api/adwords/v2}AggregationType
446
+ class AggregationType < ::String
447
+ @@schema_type = "AggregationType"
448
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
449
+
450
+ Daily = AggregationType.new("Daily")
451
+ Monthly = AggregationType.new("Monthly")
452
+ Quarterly = AggregationType.new("Quarterly")
453
+ Summary = AggregationType.new("Summary")
454
+ Yearly = AggregationType.new("Yearly")
455
+ end
456
+
457
+ # {https://adwords.google.com/api/adwords/v2}AdWordsType
458
+ class AdWordsType < ::String
459
+ @@schema_type = "AdWordsType"
460
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
461
+
462
+ ContentOnly = AdWordsType.new("ContentOnly")
463
+ SearchOnly = AdWordsType.new("SearchOnly")
464
+ end
465
+
466
+ # {https://adwords.google.com/api/adwords/v2}KeywordStatus
467
+ class KeywordStatus < ::String
468
+ @@schema_type = "KeywordStatus"
469
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
470
+
471
+ Deleted = KeywordStatus.new("Deleted")
472
+ Disabled = KeywordStatus.new("Disabled")
473
+ Disapproved = KeywordStatus.new("Disapproved")
474
+ InTrial = KeywordStatus.new("InTrial")
475
+ Normal = KeywordStatus.new("Normal")
476
+ OnHold = KeywordStatus.new("OnHold")
477
+ end
478
+
479
+ # {https://adwords.google.com/api/adwords/v2}KeywordType
480
+ class KeywordType < ::String
481
+ @@schema_type = "KeywordType"
482
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
483
+
484
+ Broad = KeywordType.new("Broad")
485
+ Exact = KeywordType.new("Exact")
486
+ Phrase = KeywordType.new("Phrase")
487
+ end
488
+
489
+ # {https://adwords.google.com/api/adwords/v2}CampaignStatus
490
+ class CampaignStatus < ::String
491
+ @@schema_type = "CampaignStatus"
492
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
493
+
494
+ Active = CampaignStatus.new("Active")
495
+ Deleted = CampaignStatus.new("Deleted")
496
+ Ended = CampaignStatus.new("Ended")
497
+ Paused = CampaignStatus.new("Paused")
498
+ Pending = CampaignStatus.new("Pending")
499
+ Suspended = CampaignStatus.new("Suspended")
500
+ end
501
+
502
+ # {https://adwords.google.com/api/adwords/v2}CustomReportOption
503
+ class CustomReportOption < ::String
504
+ @@schema_type = "CustomReportOption"
505
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
506
+
507
+ AccountName = CustomReportOption.new("AccountName")
508
+ AdGroup = CustomReportOption.new("AdGroup")
509
+ AdGroupId = CustomReportOption.new("AdGroupId")
510
+ AdGroupStatus = CustomReportOption.new("AdGroupStatus")
511
+ AdWordsType = CustomReportOption.new("AdWordsType")
512
+ AverageConversionValue = CustomReportOption.new("AverageConversionValue")
513
+ AveragePosition = CustomReportOption.new("AveragePosition")
514
+ Campaign = CustomReportOption.new("Campaign")
515
+ CampaignEndDate = CustomReportOption.new("CampaignEndDate")
516
+ CampaignId = CustomReportOption.new("CampaignId")
517
+ CampaignStatus = CustomReportOption.new("CampaignStatus")
518
+ Clicks = CustomReportOption.new("Clicks")
519
+ ConversionRate = CustomReportOption.new("ConversionRate")
520
+ ConversionValuePerClick = CustomReportOption.new("ConversionValuePerClick")
521
+ ConversionValuePerCost = CustomReportOption.new("ConversionValuePerCost")
522
+ Conversions = CustomReportOption.new("Conversions")
523
+ Cost = CustomReportOption.new("Cost")
524
+ CostPerConversion = CustomReportOption.new("CostPerConversion")
525
+ CostPerTransaction = CustomReportOption.new("CostPerTransaction")
526
+ Cpc = CustomReportOption.new("Cpc")
527
+ CreativeDestinationUrl = CustomReportOption.new("CreativeDestinationUrl")
528
+ CreativeId = CustomReportOption.new("CreativeId")
529
+ CreativeStatus = CustomReportOption.new("CreativeStatus")
530
+ Ctr = CustomReportOption.new("Ctr")
531
+ DailyBudget = CustomReportOption.new("DailyBudget")
532
+ DefaultConversionCount = CustomReportOption.new("DefaultConversionCount")
533
+ DefaultConversionValue = CustomReportOption.new("DefaultConversionValue")
534
+ DescriptionLine1 = CustomReportOption.new("DescriptionLine1")
535
+ DescriptionLine2 = CustomReportOption.new("DescriptionLine2")
536
+ DescriptionLine3 = CustomReportOption.new("DescriptionLine3")
537
+ DestinationUrl = CustomReportOption.new("DestinationUrl")
538
+ Impressions = CustomReportOption.new("Impressions")
539
+ Keyword = CustomReportOption.new("Keyword")
540
+ KeywordDestinationUrl = CustomReportOption.new("KeywordDestinationUrl")
541
+ KeywordId = CustomReportOption.new("KeywordId")
542
+ KeywordStatus = CustomReportOption.new("KeywordStatus")
543
+ KeywordType = CustomReportOption.new("KeywordType")
544
+ LeadCount = CustomReportOption.new("LeadCount")
545
+ LeadValue = CustomReportOption.new("LeadValue")
546
+ MaximumCpc = CustomReportOption.new("MaximumCpc")
547
+ MinimumCpc = CustomReportOption.new("MinimumCpc")
548
+ PageViewCount = CustomReportOption.new("PageViewCount")
549
+ PageViewValue = CustomReportOption.new("PageViewValue")
550
+ SaleCount = CustomReportOption.new("SaleCount")
551
+ SaleValue = CustomReportOption.new("SaleValue")
552
+ SignupCount = CustomReportOption.new("SignupCount")
553
+ SignupValue = CustomReportOption.new("SignupValue")
554
+ TotalConversionValue = CustomReportOption.new("TotalConversionValue")
555
+ Transactions = CustomReportOption.new("Transactions")
556
+ VisibleUrl = CustomReportOption.new("VisibleUrl")
557
+ end
558
+
559
+ # {https://adwords.google.com/api/adwords/v2}AdGroupStatus
560
+ class AdGroupStatus < ::String
561
+ @@schema_type = "AdGroupStatus"
562
+ @@schema_ns = "https://adwords.google.com/api/adwords/v2"
563
+
564
+ Deleted = AdGroupStatus.new("Deleted")
565
+ Enabled = AdGroupStatus.new("Enabled")
566
+ Paused = AdGroupStatus.new("Paused")
567
+ end