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/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