adwords4r 0.4 → 0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,174 @@
1
+ module AdWords
2
+ require 'adwords4r/v4/AccountService'
3
+
4
+ require 'soap/rpc/driver'
5
+
6
+ class AccountService < ::SOAP::RPC::Driver
7
+ DefaultEndpointUrl = "https://adwords.google.com/api/adwords/v4/AccountService"
8
+ MappingRegistry = ::SOAP::Mapping::Registry.new
9
+
10
+ Methods = [
11
+ [ "",
12
+ "createAdWordsAccount",
13
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "createAdWordsAccount"], true],
14
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "createAdWordsAccountResponse"], true] ],
15
+ { :request_style => :document, :request_use => :literal,
16
+ :response_style => :document, :response_use => :literal }
17
+ ],
18
+ [ "",
19
+ "setLoginInfo",
20
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setLoginInfo"], true],
21
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setLoginInfoResponse"], true] ],
22
+ { :request_style => :document, :request_use => :literal,
23
+ :response_style => :document, :response_use => :literal }
24
+ ],
25
+ [ "",
26
+ "getAccountCurrency",
27
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getAccountCurrency"], true],
28
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getAccountCurrencyResponse"], true] ],
29
+ { :request_style => :document, :request_use => :literal,
30
+ :response_style => :document, :response_use => :literal }
31
+ ],
32
+ [ "",
33
+ "getCreditCard",
34
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getCreditCard"], true],
35
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getCreditCardResponse"], true] ],
36
+ { :request_style => :document, :request_use => :literal,
37
+ :response_style => :document, :response_use => :literal }
38
+ ],
39
+ [ "",
40
+ "getBillingAddress",
41
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getBillingAddress"], true],
42
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getBillingAddressResponse"], true] ],
43
+ { :request_style => :document, :request_use => :literal,
44
+ :response_style => :document, :response_use => :literal }
45
+ ],
46
+ [ "",
47
+ "setCreditCard",
48
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setCreditCard"], true],
49
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setCreditCardResponse"], true] ],
50
+ { :request_style => :document, :request_use => :literal,
51
+ :response_style => :document, :response_use => :literal }
52
+ ],
53
+ [ "",
54
+ "getDefaultAdsCoverage",
55
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getDefaultAdsCoverage"], true],
56
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getDefaultAdsCoverageResponse"], true] ],
57
+ { :request_style => :document, :request_use => :literal,
58
+ :response_style => :document, :response_use => :literal }
59
+ ],
60
+ [ "",
61
+ "setDefaultAdsCoverage",
62
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setDefaultAdsCoverage"], true],
63
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setDefaultAdsCoverageResponse"], true] ],
64
+ { :request_style => :document, :request_use => :literal,
65
+ :response_style => :document, :response_use => :literal }
66
+ ],
67
+ [ "",
68
+ "getLanguagePreference",
69
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getLanguagePreference"], true],
70
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getLanguagePreferenceResponse"], true] ],
71
+ { :request_style => :document, :request_use => :literal,
72
+ :response_style => :document, :response_use => :literal }
73
+ ],
74
+ [ "",
75
+ "setLanguagePreference",
76
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setLanguagePreference"], true],
77
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setLanguagePreferenceResponse"], true] ],
78
+ { :request_style => :document, :request_use => :literal,
79
+ :response_style => :document, :response_use => :literal }
80
+ ],
81
+ [ "",
82
+ "getEmailPromotionsPreferences",
83
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getEmailPromotionsPreferences"], true],
84
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getEmailPromotionsPreferencesResponse"], true] ],
85
+ { :request_style => :document, :request_use => :literal,
86
+ :response_style => :document, :response_use => :literal }
87
+ ],
88
+ [ "",
89
+ "setEmailPromotionsPreferences",
90
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setEmailPromotionsPreferences"], true],
91
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setEmailPromotionsPreferencesResponse"], true] ],
92
+ { :request_style => :document, :request_use => :literal,
93
+ :response_style => :document, :response_use => :literal }
94
+ ],
95
+ [ "",
96
+ "getPrimaryBusinessCategory",
97
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getPrimaryBusinessCategory"], true],
98
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getPrimaryBusinessCategoryResponse"], true] ],
99
+ { :request_style => :document, :request_use => :literal,
100
+ :response_style => :document, :response_use => :literal }
101
+ ],
102
+ [ "",
103
+ "setPrimaryBusinessCategory",
104
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setPrimaryBusinessCategory"], true],
105
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setPrimaryBusinessCategoryResponse"], true] ],
106
+ { :request_style => :document, :request_use => :literal,
107
+ :response_style => :document, :response_use => :literal }
108
+ ],
109
+ [ "",
110
+ "getTermsAndConditions",
111
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getTermsAndConditions"], true],
112
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getTermsAndConditionsResponse"], true] ],
113
+ { :request_style => :document, :request_use => :literal,
114
+ :response_style => :document, :response_use => :literal }
115
+ ],
116
+ [ "",
117
+ "getClientAccounts",
118
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getClientAccounts"], true],
119
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getClientAccountsResponse"], true] ],
120
+ { :request_style => :document, :request_use => :literal,
121
+ :response_style => :document, :response_use => :literal }
122
+ ],
123
+ [ "",
124
+ "getLocalTimezone",
125
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getLocalTimezone"], true],
126
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getLocalTimezoneResponse"], true] ],
127
+ { :request_style => :document, :request_use => :literal,
128
+ :response_style => :document, :response_use => :literal }
129
+ ],
130
+ [ "",
131
+ "setLocalTimezone",
132
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setLocalTimezone"], true],
133
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "setLocalTimezoneResponse"], true] ],
134
+ { :request_style => :document, :request_use => :literal,
135
+ :response_style => :document, :response_use => :literal }
136
+ ],
137
+ [ "",
138
+ "getTimezoneEffectiveDate",
139
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getTimezoneEffectiveDate"], true],
140
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v4", "getTimezoneEffectiveDateResponse"], true] ],
141
+ { :request_style => :document, :request_use => :literal,
142
+ :response_style => :document, :response_use => :literal }
143
+ ]
144
+ ]
145
+
146
+ def initialize(endpoint_url = nil)
147
+ endpoint_url ||= DefaultEndpointUrl
148
+ super(endpoint_url, nil)
149
+ self.mapping_registry = MappingRegistry
150
+ init_methods
151
+ end
152
+
153
+ private
154
+
155
+ def init_methods
156
+ Methods.each do |definitions|
157
+ opt = definitions.last
158
+ if opt[:request_style] == :document
159
+ add_document_operation(*definitions)
160
+ else
161
+ add_rpc_operation(*definitions)
162
+ qname = definitions[0]
163
+ name = definitions[2]
164
+ if qname.name != name and qname.name.capitalize == name.capitalize
165
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
166
+ __send__(name, *arg)
167
+ end
168
+ end
169
+ end
170
+ end
171
+ end
172
+ end
173
+
174
+ end
@@ -0,0 +1,316 @@
1
+ module AdWords
2
+ require 'xsd/qname'
3
+
4
+ # {https://adwords.google.com/api/adwords/v4}getAdGroupList
5
+ class GetAdGroupList < ::Array
6
+ @@schema_element = [
7
+ ["adgroupIDs", ["SOAP::SOAPInt[]", XSD::QName.new("https://adwords.google.com/api/adwords/v4", "adgroupIDs")]]
8
+ ]
9
+ end
10
+
11
+ # {https://adwords.google.com/api/adwords/v4}getAdGroupListResponse
12
+ class GetAdGroupListResponse < ::Array
13
+ @@schema_element = [
14
+ ["getAdGroupListReturn", ["AdGroup[]", XSD::QName.new("https://adwords.google.com/api/adwords/v4", "getAdGroupListReturn")]]
15
+ ]
16
+ end
17
+
18
+ # {https://adwords.google.com/api/adwords/v4}getAllAdGroups
19
+ class GetAllAdGroups
20
+ @@schema_type = "getAllAdGroups"
21
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
22
+ @@schema_qualified = "true"
23
+ @@schema_element = [
24
+ ["campaignID", "SOAP::SOAPInt"]
25
+ ]
26
+
27
+ attr_accessor :campaignID
28
+
29
+ def initialize(campaignID = nil)
30
+ @campaignID = campaignID
31
+ end
32
+ end
33
+
34
+ # {https://adwords.google.com/api/adwords/v4}getAllAdGroupsResponse
35
+ class GetAllAdGroupsResponse < ::Array
36
+ @@schema_element = [
37
+ ["getAllAdGroupsReturn", ["AdGroup[]", XSD::QName.new("https://adwords.google.com/api/adwords/v4", "getAllAdGroupsReturn")]]
38
+ ]
39
+ end
40
+
41
+ # {https://adwords.google.com/api/adwords/v4}getAdGroup
42
+ class GetAdGroup
43
+ @@schema_type = "getAdGroup"
44
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
45
+ @@schema_qualified = "true"
46
+ @@schema_element = [
47
+ ["adGroupId", "SOAP::SOAPInt"]
48
+ ]
49
+
50
+ attr_accessor :adGroupId
51
+
52
+ def initialize(adGroupId = nil)
53
+ @adGroupId = adGroupId
54
+ end
55
+ end
56
+
57
+ # {https://adwords.google.com/api/adwords/v4}getAdGroupResponse
58
+ class GetAdGroupResponse
59
+ @@schema_type = "getAdGroupResponse"
60
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
61
+ @@schema_qualified = "true"
62
+ @@schema_element = [
63
+ ["getAdGroupReturn", "AdGroup"]
64
+ ]
65
+
66
+ attr_accessor :getAdGroupReturn
67
+
68
+ def initialize(getAdGroupReturn = nil)
69
+ @getAdGroupReturn = getAdGroupReturn
70
+ end
71
+ end
72
+
73
+ # {https://adwords.google.com/api/adwords/v4}addAdGroup
74
+ class AddAdGroup
75
+ @@schema_type = "addAdGroup"
76
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
77
+ @@schema_qualified = "true"
78
+ @@schema_element = [
79
+ ["campaignID", "SOAP::SOAPInt"],
80
+ ["newData", "AdGroup"]
81
+ ]
82
+
83
+ attr_accessor :campaignID
84
+ attr_accessor :newData
85
+
86
+ def initialize(campaignID = nil, newData = nil)
87
+ @campaignID = campaignID
88
+ @newData = newData
89
+ end
90
+ end
91
+
92
+ # {https://adwords.google.com/api/adwords/v4}addAdGroupResponse
93
+ class AddAdGroupResponse
94
+ @@schema_type = "addAdGroupResponse"
95
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
96
+ @@schema_qualified = "true"
97
+ @@schema_element = [
98
+ ["addAdGroupReturn", "AdGroup"]
99
+ ]
100
+
101
+ attr_accessor :addAdGroupReturn
102
+
103
+ def initialize(addAdGroupReturn = nil)
104
+ @addAdGroupReturn = addAdGroupReturn
105
+ end
106
+ end
107
+
108
+ # {https://adwords.google.com/api/adwords/v4}addAdGroupList
109
+ class AddAdGroupList
110
+ @@schema_type = "addAdGroupList"
111
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
112
+ @@schema_qualified = "true"
113
+ @@schema_element = [
114
+ ["campaignID", "SOAP::SOAPInt"],
115
+ ["newData", "AdGroup[]"]
116
+ ]
117
+
118
+ attr_accessor :campaignID
119
+ attr_accessor :newData
120
+
121
+ def initialize(campaignID = nil, newData = [])
122
+ @campaignID = campaignID
123
+ @newData = newData
124
+ end
125
+ end
126
+
127
+ # {https://adwords.google.com/api/adwords/v4}addAdGroupListResponse
128
+ class AddAdGroupListResponse < ::Array
129
+ @@schema_element = [
130
+ ["addAdGroupListReturn", ["AdGroup[]", XSD::QName.new("https://adwords.google.com/api/adwords/v4", "addAdGroupListReturn")]]
131
+ ]
132
+ end
133
+
134
+ # {https://adwords.google.com/api/adwords/v4}updateAdGroup
135
+ class UpdateAdGroup
136
+ @@schema_type = "updateAdGroup"
137
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
138
+ @@schema_qualified = "true"
139
+ @@schema_element = [
140
+ ["changedData", "AdGroup"]
141
+ ]
142
+
143
+ attr_accessor :changedData
144
+
145
+ def initialize(changedData = nil)
146
+ @changedData = changedData
147
+ end
148
+ end
149
+
150
+ # {https://adwords.google.com/api/adwords/v4}updateAdGroupResponse
151
+ class UpdateAdGroupResponse
152
+ @@schema_type = "updateAdGroupResponse"
153
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
154
+ @@schema_qualified = "true"
155
+ @@schema_element = []
156
+
157
+ def initialize
158
+ end
159
+ end
160
+
161
+ # {https://adwords.google.com/api/adwords/v4}updateAdGroupList
162
+ class UpdateAdGroupList < ::Array
163
+ @@schema_element = [
164
+ ["changedData", ["AdGroup[]", XSD::QName.new("https://adwords.google.com/api/adwords/v4", "changedData")]]
165
+ ]
166
+ end
167
+
168
+ # {https://adwords.google.com/api/adwords/v4}updateAdGroupListResponse
169
+ class UpdateAdGroupListResponse
170
+ @@schema_type = "updateAdGroupListResponse"
171
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
172
+ @@schema_qualified = "true"
173
+ @@schema_element = []
174
+
175
+ def initialize
176
+ end
177
+ end
178
+
179
+ # {https://adwords.google.com/api/adwords/v4}getAdGroupStats
180
+ class GetAdGroupStats
181
+ @@schema_type = "getAdGroupStats"
182
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
183
+ @@schema_qualified = "true"
184
+ @@schema_element = [
185
+ ["campaignId", "SOAP::SOAPInt"],
186
+ ["adGroupIds", "SOAP::SOAPInt[]"],
187
+ ["startDay", "SOAP::SOAPDate"],
188
+ ["endDay", "SOAP::SOAPDate"],
189
+ ["inPST", "SOAP::SOAPBoolean"]
190
+ ]
191
+
192
+ attr_accessor :campaignId
193
+ attr_accessor :adGroupIds
194
+ attr_accessor :startDay
195
+ attr_accessor :endDay
196
+ attr_accessor :inPST
197
+
198
+ def initialize(campaignId = nil, adGroupIds = [], startDay = nil, endDay = nil, inPST = nil)
199
+ @campaignId = campaignId
200
+ @adGroupIds = adGroupIds
201
+ @startDay = startDay
202
+ @endDay = endDay
203
+ @inPST = inPST
204
+ end
205
+ end
206
+
207
+ # {https://adwords.google.com/api/adwords/v4}getAdGroupStatsResponse
208
+ class GetAdGroupStatsResponse < ::Array
209
+ @@schema_element = [
210
+ ["getAdGroupStatsReturn", ["StatsRecord[]", XSD::QName.new("https://adwords.google.com/api/adwords/v4", "getAdGroupStatsReturn")]]
211
+ ]
212
+ end
213
+
214
+ # {https://adwords.google.com/api/adwords/v4}ApiException
215
+ class ApiException
216
+ @@schema_type = "ApiException"
217
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
218
+ @@schema_element = [
219
+ ["code", "SOAP::SOAPInt"],
220
+ ["internal", "SOAP::SOAPBoolean"],
221
+ ["message", "SOAP::SOAPString"],
222
+ ["trigger", "SOAP::SOAPString"],
223
+ ["violations", "SOAP::SOAPString"]
224
+ ]
225
+
226
+ attr_accessor :code
227
+ attr_accessor :internal
228
+ attr_accessor :message
229
+ attr_accessor :trigger
230
+ attr_accessor :violations
231
+
232
+ def initialize(code = nil, internal = nil, message = nil, trigger = nil, violations = nil)
233
+ @code = code
234
+ @internal = internal
235
+ @message = message
236
+ @trigger = trigger
237
+ @violations = violations
238
+ end
239
+ end
240
+
241
+ # {https://adwords.google.com/api/adwords/v4}AdGroup
242
+ class AdGroup
243
+ @@schema_type = "AdGroup"
244
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
245
+ @@schema_element = [
246
+ ["campaignId", "SOAP::SOAPInt"],
247
+ ["id", "SOAP::SOAPInt"],
248
+ ["maxContentCpc", "SOAP::SOAPLong"],
249
+ ["maxCpc", "SOAP::SOAPLong"],
250
+ ["maxCpm", "SOAP::SOAPLong"],
251
+ ["name", "SOAP::SOAPString"],
252
+ ["status", "SOAP::SOAPString"]
253
+ ]
254
+
255
+ attr_accessor :campaignId
256
+ attr_accessor :id
257
+ attr_accessor :maxContentCpc
258
+ attr_accessor :maxCpc
259
+ attr_accessor :maxCpm
260
+ attr_accessor :name
261
+ attr_accessor :status
262
+
263
+ def initialize(campaignId = nil, id = nil, maxContentCpc = nil, maxCpc = nil, maxCpm = nil, name = nil, status = nil)
264
+ @campaignId = campaignId
265
+ @id = id
266
+ @maxContentCpc = maxContentCpc
267
+ @maxCpc = maxCpc
268
+ @maxCpm = maxCpm
269
+ @name = name
270
+ @status = status
271
+ end
272
+ end
273
+
274
+ # {https://adwords.google.com/api/adwords/v4}StatsRecord
275
+ class StatsRecord
276
+ @@schema_type = "StatsRecord"
277
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
278
+ @@schema_element = [
279
+ ["averagePosition", "SOAP::SOAPDouble"],
280
+ ["clicks", "SOAP::SOAPLong"],
281
+ ["conversionRate", "SOAP::SOAPDouble"],
282
+ ["conversions", "SOAP::SOAPLong"],
283
+ ["cost", "SOAP::SOAPLong"],
284
+ ["id", "SOAP::SOAPLong"],
285
+ ["impressions", "SOAP::SOAPLong"]
286
+ ]
287
+
288
+ attr_accessor :averagePosition
289
+ attr_accessor :clicks
290
+ attr_accessor :conversionRate
291
+ attr_accessor :conversions
292
+ attr_accessor :cost
293
+ attr_accessor :id
294
+ attr_accessor :impressions
295
+
296
+ def initialize(averagePosition = nil, clicks = nil, conversionRate = nil, conversions = nil, cost = nil, id = nil, impressions = nil)
297
+ @averagePosition = averagePosition
298
+ @clicks = clicks
299
+ @conversionRate = conversionRate
300
+ @conversions = conversions
301
+ @cost = cost
302
+ @id = id
303
+ @impressions = impressions
304
+ end
305
+ end
306
+
307
+ # {https://adwords.google.com/api/adwords/v4}AdGroupStatus
308
+ class AdGroupStatus < ::String
309
+ @@schema_type = "AdGroupStatus"
310
+ @@schema_ns = "https://adwords.google.com/api/adwords/v4"
311
+
312
+ Deleted = AdGroupStatus.new("Deleted")
313
+ Enabled = AdGroupStatus.new("Enabled")
314
+ Paused = AdGroupStatus.new("Paused")
315
+ end
316
+ end