Class: Epom::Banner

Inherits:
EpomElement show all
Defined in:
lib/epom/banner.rb

Class Method Summary collapse

Methods inherited from EpomElement

generic_method, login, method_missing, params_validation, respond_to?

Class Method Details

.extended_methodsObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
# File 'lib/epom/banner.rb', line 9

def self.extended_methods
	{
		:create_banner => {
			:url => '/rest-api/banner/create.do',
			:body_parameters => [:placementType, :campaignId, :active, :name, :allowNewPlacementsAutoLinking, :autolinkCategories, :weight, :adUnitId, :adUnitHeight, :adUnitWidth, :bannerType, :flashBannerLink, :imageBannerLink, :videoFileLink, :flashFile, :imageFile, :videoFile, :templateId, :thirdTrackingCode, :code, :url, :inStreamVideoType, :mobileAdvertisingNetwork, :mobileAdvertisingNetworkParameters, :applicationOperatingSystem, :applicationAdCategory, :applicationAdvertisingNetwork, :applicationAdvertisingNetworkParameters, :hash, :timestamp, :username],
			:method => :post
		},
      :delete_banner => {
          :url => '/rest-api/banner/BANNER_ID/delete.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },
      :get_ad_unit_values_by_banner_type => {
          :url => '/rest-api/banners/BANNER_TYPE/adunit/values.do',
          :url_parameters => [:bannerType],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_banner_ad_unit_values => {
          :url => '/rest-api/banner/adunit/values.do',
          :body_parameters => [:placementType, :hash, :timestamp, :username],
          :method => :get
      },
      :get_banner_pricing => {
          :url => '/rest-api/banner/BANNER_ID/pricing.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_mobile_networks => {
          :url => '/rest-api/banner/mobilenetworks.do',
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_placements_for_banner => {
          :url => '/rest-api/banner/BANNER_ID/placements.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :update_banners_urls_batch => {
          :url => '/rest-api/banner/BANNER_ID/placements.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :post
      },

      #######################
      #Banner Capping API
      #######################

      :get_action_capping => {
          :url => '/rest-api/banner/BANNER_ID/actionCapping.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_click_capping => {
          :url => '/rest-api/banner/BANNER_ID/clickCapping.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_frequency_capping => {
          :url => '/rest-api/banner/BANNER_ID/frequencyCapping.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },

      :remove_action_capping => {
          :url => '/rest-api/banner/BANNER_ID/actionCapping.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },
      :remove_click_capping => {
          :url => '/rest-api/banner/BANNER_ID/clickCapping.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },
      :remove_frequency_capping => {
          :url => '/rest-api/banner/BANNER_ID/frequencyCapping.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },

      :set_action_capping => {
          :url => '/rest-api/banner/BANNER_ID/actionCapping/set.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:amount, :period, :periodType, :evenDistribution, :hash, :timestamp, :username],
          :method => :post
      },
      :set_click_capping => {
          :url => '/rest-api/banner/BANNER_ID/clickCapping/set.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:amount, :period, :periodType, :evenDistribution, :hash, :timestamp, :username],
          :method => :post
      },
      :set_frequency_capping => {
          :url => '/rest-api/banner/BANNER_ID/frequencyCapping/set.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:amount, :period, :periodType, :evenDistribution, :hash, :timestamp, :username],
          :method => :post
      },

      :update_action_capping => {
          :url => '/rest-api/banner/BANNER_ID/actionCapping/update.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:amount, :period, :periodType, :evenDistribution, :hash, :timestamp, :username],
          :method => :post
      },
      :update_click_capping => {
          :url => '/rest-api/banner/BANNER_ID/clickCapping/update.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:amount, :period, :periodType, :evenDistribution, :hash, :timestamp, :username],
          :method => :post
      },
      :update_frequency_capping => {
          :url => '/rest-api/banner/BANNER_ID/frequencyCapping/update.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:amount, :period, :periodType, :evenDistribution, :hash, :timestamp, :username],
          :method => :post
      },

      #######################
      #Banner Limits API
      #######################

      :disable_limits => {
          :url => '/rest-api/banner/BANNER_ID/limits.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },
      :get_limits => {
          :url => '/rest-api/banner/BANNER_ID/limits.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :reset_limits => {
          :url => '/rest-api/banner/BANNER_ID/limits/reset.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:limitCounters, :hash, :timestamp, :username],
          :method => :post
      },
      :set_limits => {
          :url => '/rest-api/banner/BANNER_ID/limits/set.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:totalImpressionsLimit, :totalClicksLimit, :totalBudgetLimit, :dailyImpressionsLimit, :dailyClicksLimit, :dailyBudgetLimit, :totalImpressions, :totalClicks, :totalBudget, :dailyImpressions, :dailyClicks, :startDate, :endDate, :hash, :timestamp, :username],
          :method => :post
      },
      :update_limits => {
          :url => '/rest-api/banner/BANNER_ID/limits/update.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:totalImpressionsLimit, :totalClicksLimit, :totalBudgetLimit, :dailyImpressionsLimit, :dailyClicksLimit, :dailyBudgetLimit, :totalImpressions, :totalClicks, :totalBudget, :dailyImpressions, :dailyClicks, :startDate, :endDate, :hash, :timestamp, :username],
          :method => :post
      },

      #######################
      #Banner Targeting API
      #######################

      :create_browser_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:rule, :browser, :relation, :browserVersion, :hash, :timestamp, :username],
          :method => :post
      },
      :create_channel_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/channel/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:channel, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_cookie_value_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/cookie/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:cookieName, :cookieValue, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_country_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/country/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:countryCode, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_custom_parameter_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/custom/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:expression, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_day_of_week_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/dayofweek/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:dayOfWeek, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_device_format_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/deviceformat/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:deviceFormat, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_device_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/mobilecarrier/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:deviceFormat, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_device_vendor_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/devicevendor/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:deviceVendor, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_domain_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/domain/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:domain, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_ip_range_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/iprange/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:ipFrom, :ipTo, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_language_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/language/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:languageCode, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_location_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/location/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:countryCode, :regionName, :cityName, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_mobile_carrier_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/mobilecarrier/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:mobileCarriers, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_os_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/os/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:operatingSystem, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_screen_resolution_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/os/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:relation, :screenWidth, :screenHeight, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_time_range_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/timerange/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:timeFrom, :timeTo, :rule, :hash, :timestamp, :username],
          :method => :post
      },
      :create_wifi_traffic_target => {
          :url => '/rest-api/banner/BANNER_ID/targeting/wifi/create.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:rule, :hash, :timestamp, :username],
          :method => :post
      },

      :disable_targeting => {
          :url => '/rest-api/banner/BANNER_ID/targeting/disable.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :post
      },
      :enable_targeting => {
          :url => '/rest-api/banner/BANNER_ID/targeting/enable.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :post
      },

      :get_browsers => {
          :url => '/rest-api/banner/BANNER_ID/targeting/browsers/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_chrome_browsers => {
          :url => '/rest-api/banner/BANNER_ID/targeting/browsers/chrome/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_firefox_browsers => {
          :url => '/rest-api/banner/BANNER_ID/targeting/browsers/firefox/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_ie_browsers => {
          :url => '/rest-api/banner/BANNER_ID/targeting/browsers/ie/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_safari_browsers => {
          :url => '/rest-api/banner/BANNER_ID/targeting/browsers/safari/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },

      :get_country_regions => {
          :url => '/rest-api/banner/BANNER_ID/targeting/country/region/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:countryCode, :hash, :timestamp, :username],
          :method => :get
      },
      :get_device_format_values => {
          :url => '/rest-api/banner/BANNER_ID/targeting/device/format/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_device_values => {
          :url => '/rest-api/banner/BANNER_ID/targeting/device/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_device_vendor_values => {
          :url => '/rest-api/banner/BANNER_ID/targeting/device/vendor/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_languages => {
          :url => '/rest-api/banner/BANNER_ID/targeting/language/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_mobile_carriers => {
          :url => '/rest-api/banner/BANNER_ID/targeting/mobilecarriers/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_os_values => {
          :url => '/rest-api/banner/BANNER_ID/targeting/os/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_os_versions_by_os_name => {
          :url => '/rest-api/banner/BANNER_ID/targeting/os/OS_NAME/versions.do',
          :url_parameters => [:bannerId, :osName],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_region_cities => {
          :url => '/rest-api/banner/BANNER_ID/targeting/country/region/city/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:countryCode, :regionName, :hash, :timestamp, :username],
          :method => :get
      },
      :get_screen_resolution_values => {
          :url => '/rest-api/banner/BANNER_ID/targeting/resolution/values.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_targeting => {
          :url => '/rest-api/banner/BANNER_ID/targeting/TARGET_ID.do',
          :url_parameters => [:bannerId, :targetId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_targetings => {
          :url => '/rest-api/banner/BANNER_ID/targetings.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_targeting_types => {
          :url => '/rest-api/banner/BANNER_ID/targeting/types.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },

      :remove_targeting => {
          :url => '/rest-api/banner/BANNER_ID/targeting/TARGET_ID/delete.do',
          :url_parameters => [:bannerId, :targetId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },

      #############################
      #Banner Placement Linking API
      #############################

      :create_or_update_banner_placements => {
          :url => '/rest-api/banners/BANNER_ID/placements.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:ids, :hash, :timestamp, :username],
          :method => :put
      },
      :delete_banner_placements => {
          :url => '/rest-api/banners/BANNER_ID/placements.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:removeIds, :hash, :timestamp, :username],
          :method => :delete
      },
      :get_banner_placements_list => {
          :url => '/rest-api/banners/BANNER_ID/placements.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :disable_banner_country_pricing => {
          :url => '/rest-api/banner/BANNER_ID/pricing/COUNTRY_CODE.do',
          :url_parameters => [:bannerId, :countryCode],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },
      :disable_banner_frequency_capping => {
          :url => '/rest-api/banner/BANNER_ID/capping/frequency.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },
      :disable_banner_pricing => {
          :url => '/rest-api/banner/BANNER_ID/pricing.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :delete
      },

      :get_advertising_categories => {
          :url => '/rest-api/categories/advertising.do',
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_banner => {
          :url => '/rest-api/banner/BANNER_ID.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      },
      :get_banners => {
          :url => '/rest-api/banners.do',
          :body_parameters => [:campaignId, :advertisingCategories, :hash, :timestamp, :username],
          :method => :get
      },
      :get_banners_urls => {
          :url => '/rest-api/banners/urls.do',
          :body_parameters => [:bannerIds, :advertisingCategories, :hash, :timestamp, :username],
          :method => :get
      },
      :update_banner => {
          :url => '/rest-api/banner/BANNER_ID/update.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:active, :allowNewPlacementsAutoLinking, :autolinkCategories, :hash, :timestamp, :username],
          :method => :post
      },
      :update_banner_country_pricing => {
          :url => '/rest-api/banner/{BANNER_ID}/pricing/COUNTRY_CODE.do',
          :url_parameters => [:bannerId, :countryCode],
          :body_parameters => [:active, :allowNewPlacementsAutoLinking, :autolinkCategories, :hash, :timestamp, :username],
          :method => :post
      },
      :update_banner_country_pricing_batch => {
          :url => '/rest-api/banner/BANNER_ID/pricing/batch',
          :url_parameters => [:bannerId],
          :body_parameters => [:countryPrices, :hash, :timestamp, :username],
          :method => :post
      },
      :update_banner_frequency_capping => {
          :url => '/rest-api/banner/BANNER_ID/capping/frequency.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:amount, :periodType, :flat, :period, :hash, :timestamp, :username],
          :method => :post
      },
      :update_banner_pricing => {
          :url => '/rest-api/banner/BANNER_ID/pricing.do',
          :url_parameters => [:bannerId],
          :body_parameters => [:price, :paymentModel, :hash, :timestamp, :username],
          :method => :post
      },
      :get_linked_banners_for_placement => {
          :url => '/rest-api/banner/placement/PLACEMENT_ID/banners.do',
          :url_parameters => [:placementId],
          :body_parameters => [:hash, :timestamp, :username],
          :method => :get
      }
	}
end

.replace_params_in_url(url, url_params) ⇒ Object



516
517
518
519
520
521
522
523
524
# File 'lib/epom/banner.rb', line 516

def self.replace_params_in_url(url, url_params)
  url.gsub!('BANNER_ID', url_params[:bannerId].to_s) if url.include?("BANNER_ID")
  url.gsub!('BANNER_TYPE', url_params[:bannerType]) if url.include?('BANNER_TYPE')
  url.gsub!('OS_NAME', url_params[:osName]) if url.include?('OS_NAME')
  url.gsub!('TARGET_ID', url_params[:targetId]) if url.include?('TARGET_ID')
  url.gsub!('COUNTRY_CODE', url_params[:countryCode]) if url.include?('COUNTRY_CODE')
  url.gsub!('PLACEMENT_ID', url_params[:placementId]) if url.include?('PLACEMENT_ID')
  url
end