Class: SoapyCake::Admin

Inherits:
Client
  • Object
show all
Includes:
Helper
Defined in:
lib/soapy_cake/admin.rb

Overview

rubocop:disable Metrics/ClassLength

Constant Summary

Constants inherited from Client

Client::HEADERS

Instance Method Summary collapse

Methods included from Helper

#const_lookup, #future_expiration_date, #require_params, #translate_booleans, #translate_values, #validate_id, #walk_tree

Methods inherited from Client

#initialize, #read_only?, #xml_response?

Constructor Details

This class inherits a constructor from SoapyCake::Client

Instance Method Details

#add_blacklist(opts) ⇒ Object



110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/soapy_cake/admin.rb', line 110

def add_blacklist(opts)
  require_params(opts, %i(blacklist_date))

  blacklist_date = opts[:blacklist_date].to_date
  # CAKE applies the blacklisting at 00:00 of the specified day, so add one more day.
  # Unless it is the current day, then blacklisting should take effect immediately.
  blacklist_date += 1.day if blacklist_date > Date.today

  run Request.new(
    :admin,
    :addedit,
    :blacklist,
    opts.merge(blacklist_date: blacklist_date)
  )
end

#advertiser_bills(opts = {}) ⇒ Object



11
12
13
# File 'lib/soapy_cake/admin.rb', line 11

def advertiser_bills(opts = {})
  run Request.new(:admin, :accounting, :export_advertiser_bills, opts)
end

#advertiser_summary(opts = {}) ⇒ Object



57
58
59
# File 'lib/soapy_cake/admin.rb', line 57

def advertiser_summary(opts = {})
  run Request.new(:admin, :reports, :advertiser_summary, opts)
end

#advertisers(opts = {}) ⇒ Object



23
24
25
# File 'lib/soapy_cake/admin.rb', line 23

def advertisers(opts = {})
  run Request.new(:admin, :export, :advertisers, opts)
end

#affiliate_bills(opts = {}) ⇒ Object



7
8
9
# File 'lib/soapy_cake/admin.rb', line 7

def affiliate_bills(opts = {})
  run Request.new(:admin, :accounting, :export_affiliate_bills, opts)
end

#affiliate_signup(opts = {}) ⇒ Object



135
136
137
# File 'lib/soapy_cake/admin.rb', line 135

def (opts = {})
  run Request.new(:admin, :signup, :affiliate, opts)
end

#affiliate_summary(opts = {}) ⇒ Object



53
54
55
# File 'lib/soapy_cake/admin.rb', line 53

def affiliate_summary(opts = {})
  run Request.new(:admin, :reports, :affiliate_summary, opts)
end

#affiliates(opts = {}) ⇒ Object



27
28
29
# File 'lib/soapy_cake/admin.rb', line 27

def affiliates(opts = {})
  run Request.new(:admin, :export, :affiliates, opts)
end

#blacklist_reasonsObject



156
157
158
# File 'lib/soapy_cake/admin.rb', line 156

def blacklist_reasons
  run Request.new(:admin, :get, :blacklist_reasons, {})
end

#blacklists(opts = {}) ⇒ Object



126
127
128
# File 'lib/soapy_cake/admin.rb', line 126

def blacklists(opts = {})
  run Request.new(:admin, :export, :blacklists, opts)
end

#campaign_summary(opts = {}) ⇒ Object



45
46
47
# File 'lib/soapy_cake/admin.rb', line 45

def campaign_summary(opts = {})
  run Request.new(:admin, :reports, :campaign_summary, opts)
end

#campaigns(opts = {}) ⇒ Object



31
32
33
# File 'lib/soapy_cake/admin.rb', line 31

def campaigns(opts = {})
  run Request.new(:admin, :export, :campaigns, opts)
end

#caps(opts) ⇒ Object



81
82
83
84
85
86
# File 'lib/soapy_cake/admin.rb', line 81

def caps(opts)
  require_params(opts, %i(start_date end_date))
  opts = translate_values(opts, %i(cap_type_id))

  run Request.new(:admin, :reports, :caps, opts)
end

#clicks(opts = {}) ⇒ Object



61
62
63
# File 'lib/soapy_cake/admin.rb', line 61

def clicks(opts = {})
  run Request.new(:admin, :reports, :clicks, opts)
end

#conversion_changes(opts = {}) ⇒ Object



65
66
67
# File 'lib/soapy_cake/admin.rb', line 65

def conversion_changes(opts = {})
  run Request.new(:admin, :reports, :conversion_changes, opts)
end

#conversions(opts = {}) ⇒ Object



69
70
71
# File 'lib/soapy_cake/admin.rb', line 69

def conversions(opts = {})
  run Request.new(:admin, :reports, :conversions, opts.merge(conversion_type: 'conversions'))
end

#countries(opts = {}) ⇒ Object



148
149
150
# File 'lib/soapy_cake/admin.rb', line 148

def countries(opts = {})
  run Request.new(:admin, :get, :countries, opts)
end

#creatives(opts = {}) ⇒ Object



39
40
41
42
43
# File 'lib/soapy_cake/admin.rb', line 39

def creatives(opts = {})
  opts = translate_values(opts, %i(creative_type_id creative_status_id))

  run Request.new(:admin, :export, :creatives, opts)
end

#currenciesObject



94
95
96
# File 'lib/soapy_cake/admin.rb', line 94

def currencies
  run Request.new(:admin, :get, :currencies, {})
end

#events(opts = {}) ⇒ Object



73
74
75
# File 'lib/soapy_cake/admin.rb', line 73

def events(opts = {})
  run Request.new(:admin, :reports, :conversions, opts.merge(conversion_type: 'events'))
end

#exchange_rates(opts) ⇒ Object



88
89
90
91
92
# File 'lib/soapy_cake/admin.rb', line 88

def exchange_rates(opts)
  require_params(opts, %i(start_date end_date))

  run Request.new(:admin, :get, :exchange_rates, opts)
end

#mark_affiliate_bill_as_paid(opts = {}) ⇒ Object



19
20
21
# File 'lib/soapy_cake/admin.rb', line 19

def mark_affiliate_bill_as_paid(opts = {})
  run Request.new(:admin, :accounting, :mark_affiliate_bill_as_paid, opts)
end

#mark_affiliate_bill_as_received(opts = {}) ⇒ Object



15
16
17
# File 'lib/soapy_cake/admin.rb', line 15

def mark_affiliate_bill_as_received(opts = {})
  run Request.new(:admin, :accounting, :mark_affiliate_bill_as_received, opts)
end

#media_types(opts = {}) ⇒ Object



139
140
141
142
# File 'lib/soapy_cake/admin.rb', line 139

def media_types(opts = {})
  result = run(Request.new(:admin, :signup, :get_media_types, opts))
  xml_response? ? result : result.try(:[], :MediaType)
end

#offer_summary(opts = {}) ⇒ Object



49
50
51
# File 'lib/soapy_cake/admin.rb', line 49

def offer_summary(opts = {})
  run Request.new(:admin, :reports, :offer_summary, opts)
end

#offers(opts = {}) ⇒ Object



35
36
37
# File 'lib/soapy_cake/admin.rb', line 35

def offers(opts = {})
  run Request.new(:admin, :export, :offers, opts)
end

#payment_typesObject



152
153
154
# File 'lib/soapy_cake/admin.rb', line 152

def payment_types
  run Request.new(:admin, :get, :payment_types, {})
end

#remove_blacklist(opts = {}) ⇒ Object



130
131
132
133
# File 'lib/soapy_cake/admin.rb', line 130

def remove_blacklist(opts = {})
  require_params(opts, %i(blacklist_id))
  run Request.new(:admin, :addedit, :remove_blacklist, opts)
end

#tiersObject



98
99
100
# File 'lib/soapy_cake/admin.rb', line 98

def tiers
  run Request.new(:admin, :get, :affiliate_tiers, {})
end

#traffic(opts = {}) ⇒ Object



77
78
79
# File 'lib/soapy_cake/admin.rb', line 77

def traffic(opts = {})
  run Request.new(:admin, :reports, :traffic_export, opts)
end

#update_campaign(opts = {}) ⇒ Object



106
107
108
# File 'lib/soapy_cake/admin.rb', line 106

def update_campaign(opts = {})
  run Request.new(:admin, :addedit, :campaign, opts)
end

#update_creative(opts = {}) ⇒ Object



102
103
104
# File 'lib/soapy_cake/admin.rb', line 102

def update_creative(opts = {})
  run Request.new(:admin, :addedit, :creative, opts)
end

#verticalsObject



144
145
146
# File 'lib/soapy_cake/admin.rb', line 144

def verticals
  run Request.new(:admin, :get, :verticals, {})
end