adwords4r 0.2

Sign up to get free protection for your applications and to get access to all the features.
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/v3/KeywordService'
2
+
3
+ require 'soap/rpc/driver'
4
+ module AdWordsV3
5
+
6
+ class KeywordService < ::SOAP::RPC::Driver
7
+ DefaultEndpointUrl = "https://adwords.google.com:443/api/adwords/v3/KeywordService"
8
+ MappingRegistry = ::SOAP::Mapping::Registry.new
9
+
10
+ Methods = [
11
+ [ "",
12
+ "getAllKeywords",
13
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "getAllKeywords"], true],
14
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "getKeywordList"], true],
21
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "getActiveKeywords"], true],
28
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "setKeywordListMaxCpc"], true],
35
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "setKeywordListSingleMaxCpc"], true],
42
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "updateKeyword"], true],
49
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "updateKeywordList"], true],
56
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "addKeyword"], true],
63
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "addKeywordList"], true],
70
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "removeKeywordList"], true],
77
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "removeKeyword"], true],
84
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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/v3", "getKeywordStats"], true],
91
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "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,225 @@
1
+ require 'xsd/qname'
2
+
3
+ # {https://adwords.google.com/api/adwords/v3}getKeywordVariations
4
+ class GetKeywordVariations
5
+ @@schema_type = "getKeywordVariations"
6
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
7
+ @@schema_qualified = "true"
8
+ @@schema_element = [
9
+ ["seedKeywords", "SeedKeyword[]"],
10
+ ["useSynonyms", "SOAP::SOAPBoolean"],
11
+ ["languages", "SOAP::SOAPString[]"],
12
+ ["countries", "SOAP::SOAPString[]"]
13
+ ]
14
+
15
+ attr_accessor :seedKeywords
16
+ attr_accessor :useSynonyms
17
+ attr_accessor :languages
18
+ attr_accessor :countries
19
+
20
+ def initialize(seedKeywords = [], useSynonyms = nil, languages = [], countries = [])
21
+ @seedKeywords = seedKeywords
22
+ @useSynonyms = useSynonyms
23
+ @languages = languages
24
+ @countries = countries
25
+ end
26
+ end
27
+
28
+ # {https://adwords.google.com/api/adwords/v3}getKeywordVariationsResponse
29
+ class GetKeywordVariationsResponse
30
+ @@schema_type = "getKeywordVariationsResponse"
31
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
32
+ @@schema_qualified = "true"
33
+ @@schema_element = [
34
+ ["getKeywordVariationsReturn", "KeywordVariations"]
35
+ ]
36
+
37
+ attr_accessor :getKeywordVariationsReturn
38
+
39
+ def initialize(getKeywordVariationsReturn = nil)
40
+ @getKeywordVariationsReturn = getKeywordVariationsReturn
41
+ end
42
+ end
43
+
44
+ # {https://adwords.google.com/api/adwords/v3}getKeywordsFromSite
45
+ class GetKeywordsFromSite
46
+ @@schema_type = "getKeywordsFromSite"
47
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
48
+ @@schema_qualified = "true"
49
+ @@schema_element = [
50
+ ["url", "SOAP::SOAPString"],
51
+ ["includeLinkedPages", "SOAP::SOAPBoolean"],
52
+ ["languages", "SOAP::SOAPString[]"],
53
+ ["countries", "SOAP::SOAPString[]"]
54
+ ]
55
+
56
+ attr_accessor :url
57
+ attr_accessor :includeLinkedPages
58
+ attr_accessor :languages
59
+ attr_accessor :countries
60
+
61
+ def initialize(url = nil, includeLinkedPages = nil, languages = [], countries = [])
62
+ @url = url
63
+ @includeLinkedPages = includeLinkedPages
64
+ @languages = languages
65
+ @countries = countries
66
+ end
67
+ end
68
+
69
+ # {https://adwords.google.com/api/adwords/v3}getKeywordsFromSiteResponse
70
+ class GetKeywordsFromSiteResponse
71
+ @@schema_type = "getKeywordsFromSiteResponse"
72
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
73
+ @@schema_qualified = "true"
74
+ @@schema_element = [
75
+ ["getKeywordsFromSiteReturn", "SiteKeywordGroups"]
76
+ ]
77
+
78
+ attr_accessor :getKeywordsFromSiteReturn
79
+
80
+ def initialize(getKeywordsFromSiteReturn = nil)
81
+ @getKeywordsFromSiteReturn = getKeywordsFromSiteReturn
82
+ end
83
+ end
84
+
85
+ # {https://adwords.google.com/api/adwords/v3}ApiException
86
+ class ApiException
87
+ @@schema_type = "ApiException"
88
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
89
+ @@schema_element = [
90
+ ["code", "SOAP::SOAPInt"],
91
+ ["internal", "SOAP::SOAPBoolean"],
92
+ ["message", "SOAP::SOAPString"],
93
+ ["trigger", "SOAP::SOAPString"],
94
+ ["violations", "SOAP::SOAPString"]
95
+ ]
96
+
97
+ attr_accessor :code
98
+ attr_accessor :internal
99
+ attr_accessor :message
100
+ attr_accessor :trigger
101
+ attr_accessor :violations
102
+
103
+ def initialize(code = nil, internal = nil, message = nil, trigger = nil, violations = nil)
104
+ @code = code
105
+ @internal = internal
106
+ @message = message
107
+ @trigger = trigger
108
+ @violations = violations
109
+ end
110
+ end
111
+
112
+ # {https://adwords.google.com/api/adwords/v3}SeedKeyword
113
+ class SeedKeyword
114
+ @@schema_type = "SeedKeyword"
115
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
116
+ @@schema_element = [
117
+ ["negative", "SOAP::SOAPBoolean"],
118
+ ["text", "SOAP::SOAPString"],
119
+ ["type", "KeywordType"]
120
+ ]
121
+
122
+ attr_accessor :negative
123
+ attr_accessor :text
124
+ attr_accessor :type
125
+
126
+ def initialize(negative = nil, text = nil, type = nil)
127
+ @negative = negative
128
+ @text = text
129
+ @type = type
130
+ end
131
+ end
132
+
133
+ # {https://adwords.google.com/api/adwords/v3}KeywordVariations
134
+ class KeywordVariations
135
+ @@schema_type = "KeywordVariations"
136
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
137
+ @@schema_element = [
138
+ ["additionalToConsider", "KeywordVariation[]"],
139
+ ["moreSpecific", "KeywordVariation[]"]
140
+ ]
141
+
142
+ attr_accessor :additionalToConsider
143
+ attr_accessor :moreSpecific
144
+
145
+ def initialize(additionalToConsider = [], moreSpecific = [])
146
+ @additionalToConsider = additionalToConsider
147
+ @moreSpecific = moreSpecific
148
+ end
149
+ end
150
+
151
+ # {https://adwords.google.com/api/adwords/v3}KeywordVariation
152
+ class KeywordVariation
153
+ @@schema_type = "KeywordVariation"
154
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
155
+ @@schema_element = [
156
+ ["advertiserCompetitionScale", "SOAP::SOAPInt"],
157
+ ["language", "SOAP::SOAPString"],
158
+ ["searchVolumeScale", "SOAP::SOAPInt"],
159
+ ["text", "SOAP::SOAPString"]
160
+ ]
161
+
162
+ attr_accessor :advertiserCompetitionScale
163
+ attr_accessor :language
164
+ attr_accessor :searchVolumeScale
165
+ attr_accessor :text
166
+
167
+ def initialize(advertiserCompetitionScale = nil, language = nil, searchVolumeScale = nil, text = nil)
168
+ @advertiserCompetitionScale = advertiserCompetitionScale
169
+ @language = language
170
+ @searchVolumeScale = searchVolumeScale
171
+ @text = text
172
+ end
173
+ end
174
+
175
+ # {https://adwords.google.com/api/adwords/v3}SiteKeywordGroups
176
+ class SiteKeywordGroups
177
+ @@schema_type = "SiteKeywordGroups"
178
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
179
+ @@schema_element = [
180
+ ["groups", "SOAP::SOAPString[]"],
181
+ ["keywords", "SiteKeyword[]"]
182
+ ]
183
+
184
+ attr_accessor :groups
185
+ attr_accessor :keywords
186
+
187
+ def initialize(groups = [], keywords = [])
188
+ @groups = groups
189
+ @keywords = keywords
190
+ end
191
+ end
192
+
193
+ # {https://adwords.google.com/api/adwords/v3}SiteKeyword
194
+ class SiteKeyword
195
+ @@schema_type = "SiteKeyword"
196
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
197
+ @@schema_element = [
198
+ ["advertiserCompetitionScale", "SOAP::SOAPInt"],
199
+ ["groupId", "SOAP::SOAPInt"],
200
+ ["searchVolumeScale", "SOAP::SOAPInt"],
201
+ ["text", "SOAP::SOAPString"]
202
+ ]
203
+
204
+ attr_accessor :advertiserCompetitionScale
205
+ attr_accessor :groupId
206
+ attr_accessor :searchVolumeScale
207
+ attr_accessor :text
208
+
209
+ def initialize(advertiserCompetitionScale = nil, groupId = nil, searchVolumeScale = nil, text = nil)
210
+ @advertiserCompetitionScale = advertiserCompetitionScale
211
+ @groupId = groupId
212
+ @searchVolumeScale = searchVolumeScale
213
+ @text = text
214
+ end
215
+ end
216
+
217
+ # {https://adwords.google.com/api/adwords/v3}KeywordType
218
+ class KeywordType < ::String
219
+ @@schema_type = "KeywordType"
220
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
221
+
222
+ Broad = KeywordType.new("Broad")
223
+ Exact = KeywordType.new("Exact")
224
+ Phrase = KeywordType.new("Phrase")
225
+ end
@@ -0,0 +1,55 @@
1
+ require 'adwords4r/v3/KeywordToolService'
2
+
3
+ require 'soap/rpc/driver'
4
+ module AdWordsV3
5
+
6
+ class KeywordToolInterface < ::SOAP::RPC::Driver
7
+ DefaultEndpointUrl = "https://adwords.google.com:443/api/adwords/v3/KeywordToolService"
8
+ MappingRegistry = ::SOAP::Mapping::Registry.new
9
+
10
+ Methods = [
11
+ [ "",
12
+ "getKeywordVariations",
13
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "getKeywordVariations"], true],
14
+ ["out", "paramteters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "getKeywordVariationsResponse"], true] ],
15
+ { :request_style => :document, :request_use => :literal,
16
+ :response_style => :document, :response_use => :literal }
17
+ ],
18
+ [ "",
19
+ "getKeywordsFromSite",
20
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "getKeywordsFromSite"], true],
21
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v3", "getKeywordsFromSiteResponse"], true] ],
22
+ { :request_style => :document, :request_use => :literal,
23
+ :response_style => :document, :response_use => :literal }
24
+ ]
25
+ ]
26
+
27
+ def initialize(endpoint_url = nil)
28
+ endpoint_url ||= DefaultEndpointUrl
29
+ super(endpoint_url, nil)
30
+ self.mapping_registry = MappingRegistry
31
+ init_methods
32
+ end
33
+
34
+ private
35
+
36
+ def init_methods
37
+ Methods.each do |definitions|
38
+ opt = definitions.last
39
+ if opt[:request_style] == :document
40
+ add_document_operation(*definitions)
41
+ else
42
+ add_rpc_operation(*definitions)
43
+ qname = definitions[0]
44
+ name = definitions[2]
45
+ if qname.name != name and qname.name.capitalize == name.capitalize
46
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
47
+ __send__(name, *arg)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+ end
@@ -0,0 +1,567 @@
1
+ require 'xsd/qname'
2
+
3
+ # {https://adwords.google.com/api/adwords/v3}scheduleReportJob
4
+ class ScheduleReportJob
5
+ @@schema_type = "scheduleReportJob"
6
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}scheduleReportJobResponse
20
+ class ScheduleReportJobResponse
21
+ @@schema_type = "scheduleReportJobResponse"
22
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}getReportJobStatus
36
+ class GetReportJobStatus
37
+ @@schema_type = "getReportJobStatus"
38
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}getReportJobStatusResponse
52
+ class GetReportJobStatusResponse
53
+ @@schema_type = "getReportJobStatusResponse"
54
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}getReportDownloadUrl
68
+ class GetReportDownloadUrl
69
+ @@schema_type = "getReportDownloadUrl"
70
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}getReportDownloadUrlResponse
84
+ class GetReportDownloadUrlResponse
85
+ @@schema_type = "getReportDownloadUrlResponse"
86
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}getGzipReportDownloadUrl
100
+ class GetGzipReportDownloadUrl
101
+ @@schema_type = "getGzipReportDownloadUrl"
102
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}getGzipReportDownloadUrlResponse
116
+ class GetGzipReportDownloadUrlResponse
117
+ @@schema_type = "getGzipReportDownloadUrlResponse"
118
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}getAllJobs
132
+ class GetAllJobs
133
+ @@schema_type = "getAllJobs"
134
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
135
+ @@schema_qualified = "true"
136
+ @@schema_element = []
137
+
138
+ def initialize
139
+ end
140
+ end
141
+
142
+ # {https://adwords.google.com/api/adwords/v3}getAllJobsResponse
143
+ class GetAllJobsResponse < ::Array
144
+ @@schema_element = [
145
+ ["getAllJobsReturn", ["ReportJob[]", XSD::QName.new("https://adwords.google.com/api/adwords/v3", "getAllJobsReturn")]]
146
+ ]
147
+ end
148
+
149
+ # {https://adwords.google.com/api/adwords/v3}deleteReport
150
+ class DeleteReport
151
+ @@schema_type = "deleteReport"
152
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}deleteReportResponse
166
+ class DeleteReportResponse
167
+ @@schema_type = "deleteReportResponse"
168
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
169
+ @@schema_qualified = "true"
170
+ @@schema_element = []
171
+
172
+ def initialize
173
+ end
174
+ end
175
+
176
+ # {https://adwords.google.com/api/adwords/v3}ApiException
177
+ class ApiException
178
+ @@schema_type = "ApiException"
179
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}ReportJob
204
+ class ReportJob
205
+ @@schema_type = "ReportJob"
206
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
207
+ @@schema_element = [
208
+ ["aggregationType", "AggregationType"],
209
+ ["clientAccounts", "Int[]"],
210
+ ["crossClient", "Boolean"],
211
+ ["endDate", "DateTime"],
212
+ ["id", "Long"],
213
+ ["name", "String"],
214
+ ["startDate", "DateTime"],
215
+ ["status", "ReportJobStatus"]
216
+ ]
217
+
218
+ attr_accessor :aggregationType
219
+ attr_accessor :clientAccounts
220
+ attr_accessor :crossClient
221
+ attr_accessor :endDate
222
+ attr_accessor :id
223
+ attr_accessor :name
224
+ attr_accessor :startDate
225
+ attr_accessor :status
226
+
227
+ def initialize(aggregationType = nil, clientAccounts = [], crossClient = nil, endDate = nil, id = nil, name = nil, startDate = nil, status = nil)
228
+ @aggregationType = aggregationType
229
+ @clientAccounts = clientAccounts
230
+ @crossClient = crossClient
231
+ @endDate = endDate
232
+ @id = id
233
+ @name = name
234
+ @startDate = startDate
235
+ @status = status
236
+ end
237
+ end
238
+
239
+ # {https://adwords.google.com/api/adwords/v3}KeywordReportJob
240
+ class KeywordReportJob
241
+ @@schema_type = "KeywordReportJob"
242
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
243
+ @@schema_element = [
244
+ ["aggregationType", "AggregationType"],
245
+ ["clientAccounts", "Int[]"],
246
+ ["crossClient", "Boolean"],
247
+ ["endDate", "DateTime"],
248
+ ["id", "Long"],
249
+ ["name", "String"],
250
+ ["startDate", "DateTime"],
251
+ ["status", "ReportJobStatus"],
252
+ ["adWordsType", "AdWordsType"],
253
+ ["campaigns", "Int[]"],
254
+ ["keywordStatuses", "KeywordStatus[]"],
255
+ ["keywordType", "KeywordType"]
256
+ ]
257
+
258
+ attr_accessor :aggregationType
259
+ attr_accessor :clientAccounts
260
+ attr_accessor :crossClient
261
+ attr_accessor :endDate
262
+ attr_accessor :id
263
+ attr_accessor :name
264
+ attr_accessor :startDate
265
+ attr_accessor :status
266
+ attr_accessor :adWordsType
267
+ attr_accessor :campaigns
268
+ attr_accessor :keywordStatuses
269
+ attr_accessor :keywordType
270
+
271
+ def initialize(aggregationType = nil, clientAccounts = [], crossClient = nil, endDate = nil, id = nil, name = nil, startDate = nil, status = nil, adWordsType = nil, campaigns = [], keywordStatuses = [], keywordType = nil)
272
+ @aggregationType = aggregationType
273
+ @clientAccounts = clientAccounts
274
+ @crossClient = crossClient
275
+ @endDate = endDate
276
+ @id = id
277
+ @name = name
278
+ @startDate = startDate
279
+ @status = status
280
+ @adWordsType = adWordsType
281
+ @campaigns = campaigns
282
+ @keywordStatuses = keywordStatuses
283
+ @keywordType = keywordType
284
+ end
285
+ end
286
+
287
+ # {https://adwords.google.com/api/adwords/v3}AdTextReportJob
288
+ class AdTextReportJob
289
+ @@schema_type = "AdTextReportJob"
290
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
291
+ @@schema_element = [
292
+ ["aggregationType", "AggregationType"],
293
+ ["clientAccounts", "Int[]"],
294
+ ["crossClient", "Boolean"],
295
+ ["endDate", "DateTime"],
296
+ ["id", "Long"],
297
+ ["name", "String"],
298
+ ["startDate", "DateTime"],
299
+ ["status", "ReportJobStatus"],
300
+ ["adWordsType", "AdWordsType"],
301
+ ["campaigns", "Int[]"]
302
+ ]
303
+
304
+ attr_accessor :aggregationType
305
+ attr_accessor :clientAccounts
306
+ attr_accessor :crossClient
307
+ attr_accessor :endDate
308
+ attr_accessor :id
309
+ attr_accessor :name
310
+ attr_accessor :startDate
311
+ attr_accessor :status
312
+ attr_accessor :adWordsType
313
+ attr_accessor :campaigns
314
+
315
+ def initialize(aggregationType = nil, clientAccounts = [], crossClient = nil, endDate = nil, id = nil, name = nil, startDate = nil, status = nil, adWordsType = nil, campaigns = [])
316
+ @aggregationType = aggregationType
317
+ @clientAccounts = clientAccounts
318
+ @crossClient = crossClient
319
+ @endDate = endDate
320
+ @id = id
321
+ @name = name
322
+ @startDate = startDate
323
+ @status = status
324
+ @adWordsType = adWordsType
325
+ @campaigns = campaigns
326
+ end
327
+ end
328
+
329
+ # {https://adwords.google.com/api/adwords/v3}UrlReportJob
330
+ class UrlReportJob
331
+ @@schema_type = "UrlReportJob"
332
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
333
+ @@schema_element = [
334
+ ["aggregationType", "AggregationType"],
335
+ ["clientAccounts", "Int[]"],
336
+ ["crossClient", "Boolean"],
337
+ ["endDate", "DateTime"],
338
+ ["id", "Long"],
339
+ ["name", "String"],
340
+ ["startDate", "DateTime"],
341
+ ["status", "ReportJobStatus"],
342
+ ["adWordsType", "AdWordsType"],
343
+ ["campaigns", "Int[]"]
344
+ ]
345
+
346
+ attr_accessor :aggregationType
347
+ attr_accessor :clientAccounts
348
+ attr_accessor :crossClient
349
+ attr_accessor :endDate
350
+ attr_accessor :id
351
+ attr_accessor :name
352
+ attr_accessor :startDate
353
+ attr_accessor :status
354
+ attr_accessor :adWordsType
355
+ attr_accessor :campaigns
356
+
357
+ def initialize(aggregationType = nil, clientAccounts = [], crossClient = nil, endDate = nil, id = nil, name = nil, startDate = nil, status = nil, adWordsType = nil, campaigns = [])
358
+ @aggregationType = aggregationType
359
+ @clientAccounts = clientAccounts
360
+ @crossClient = crossClient
361
+ @endDate = endDate
362
+ @id = id
363
+ @name = name
364
+ @startDate = startDate
365
+ @status = status
366
+ @adWordsType = adWordsType
367
+ @campaigns = campaigns
368
+ end
369
+ end
370
+
371
+ # {https://adwords.google.com/api/adwords/v3}CustomReportJob
372
+ class CustomReportJob
373
+ @@schema_type = "CustomReportJob"
374
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
375
+ @@schema_element = [
376
+ ["aggregationType", "AggregationType"],
377
+ ["clientAccounts", "Int[]"],
378
+ ["crossClient", "Boolean"],
379
+ ["endDate", "DateTime"],
380
+ ["id", "Long"],
381
+ ["name", "String"],
382
+ ["startDate", "DateTime"],
383
+ ["status", "ReportJobStatus"],
384
+ ["adGroupStatuses", "AdGroupStatus[]"],
385
+ ["adGroups", "Int[]"],
386
+ ["adWordsType", "AdWordsType"],
387
+ ["campaignStatuses", "CampaignStatus[]"],
388
+ ["campaigns", "Int[]"],
389
+ ["customOptions", "CustomReportOption[]"],
390
+ ["keywordStatuses", "KeywordStatus[]"],
391
+ ["keywordType", "KeywordType"],
392
+ ["keywords", "String[]"]
393
+ ]
394
+
395
+ attr_accessor :aggregationType
396
+ attr_accessor :clientAccounts
397
+ attr_accessor :crossClient
398
+ attr_accessor :endDate
399
+ attr_accessor :id
400
+ attr_accessor :name
401
+ attr_accessor :startDate
402
+ attr_accessor :status
403
+ attr_accessor :adGroupStatuses
404
+ attr_accessor :adGroups
405
+ attr_accessor :adWordsType
406
+ attr_accessor :campaignStatuses
407
+ attr_accessor :campaigns
408
+ attr_accessor :customOptions
409
+ attr_accessor :keywordStatuses
410
+ attr_accessor :keywordType
411
+ attr_accessor :keywords
412
+
413
+ def initialize(aggregationType = nil, clientAccounts = [], crossClient = nil, endDate = nil, id = nil, name = nil, startDate = nil, status = nil, adGroupStatuses = [], adGroups = [], adWordsType = nil, campaignStatuses = [], campaigns = [], customOptions = [], keywordStatuses = [], keywordType = nil, keywords = [])
414
+ @aggregationType = aggregationType
415
+ @clientAccounts = clientAccounts
416
+ @crossClient = crossClient
417
+ @endDate = endDate
418
+ @id = id
419
+ @name = name
420
+ @startDate = startDate
421
+ @status = status
422
+ @adGroupStatuses = adGroupStatuses
423
+ @adGroups = adGroups
424
+ @adWordsType = adWordsType
425
+ @campaignStatuses = campaignStatuses
426
+ @campaigns = campaigns
427
+ @customOptions = customOptions
428
+ @keywordStatuses = keywordStatuses
429
+ @keywordType = keywordType
430
+ @keywords = keywords
431
+ end
432
+ end
433
+
434
+ # {https://adwords.google.com/api/adwords/v3}ReportJobStatus
435
+ class ReportJobStatus < ::String
436
+ @@schema_type = "ReportJobStatus"
437
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}AggregationType
446
+ class AggregationType < ::String
447
+ @@schema_type = "AggregationType"
448
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}AdWordsType
458
+ class AdWordsType < ::String
459
+ @@schema_type = "AdWordsType"
460
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
461
+
462
+ ContentOnly = AdWordsType.new("ContentOnly")
463
+ SearchOnly = AdWordsType.new("SearchOnly")
464
+ end
465
+
466
+ # {https://adwords.google.com/api/adwords/v3}KeywordStatus
467
+ class KeywordStatus < ::String
468
+ @@schema_type = "KeywordStatus"
469
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}KeywordType
480
+ class KeywordType < ::String
481
+ @@schema_type = "KeywordType"
482
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}CampaignStatus
490
+ class CampaignStatus < ::String
491
+ @@schema_type = "CampaignStatus"
492
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}CustomReportOption
503
+ class CustomReportOption < ::String
504
+ @@schema_type = "CustomReportOption"
505
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
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/v3}AdGroupStatus
560
+ class AdGroupStatus < ::String
561
+ @@schema_type = "AdGroupStatus"
562
+ @@schema_ns = "https://adwords.google.com/api/adwords/v3"
563
+
564
+ Deleted = AdGroupStatus.new("Deleted")
565
+ Enabled = AdGroupStatus.new("Enabled")
566
+ Paused = AdGroupStatus.new("Paused")
567
+ end