class Admitad::Client
Attributes
access_token[R]
Public Class Methods
new(access_token = nil)
click to toggle source
# File lib/admitad/client.rb, line 10 def initialize(access_token = nil) @client_id = Admitad.configuration.client_id @client_secret = Admitad.configuration.client_secret @scope = Admitad.configuration.scope || Constants::SCOPES.join(' ') @access_token = access_token end
Public Instance Methods
advcampaigns(**params)
click to toggle source
# File lib/admitad/client.rb, line 44 def advcampaigns(**params) path = '/advcampaigns/' path << "#{params[:id]}/" if params[:id] get(path, query: params.slice(*Constants::AFFILIATE_PROGRAMS_PARAMS)) end
advcampaigns_website(**params)
click to toggle source
# File lib/admitad/client.rb, line 51 def advcampaigns_website(**params) path = '/advcampaigns/' path << "#{params[:c_id]}/" if params[:c_id] path << 'website/' path << "#{params[:w_id]}/" if params[:w_id] get(path, query: params.slice(*Constants::AFFILIATE_PROGRAMS_PARAMS)) end
categories(**params)
click to toggle source
# File lib/admitad/client.rb, line 87 def categories(**params) get('/categories/', query: params.slice(*Constants::BASE_PARAMS)) end
coupons(**params)
click to toggle source
# File lib/admitad/client.rb, line 23 def coupons(**params) path = '/coupons/' path << "#{params[:id]}/" if params[:id] get(path, query: params.slice(*Constants::BASE_PARAMS)) end
coupons_categories(**params)
click to toggle source
# File lib/admitad/client.rb, line 17 def coupons_categories(**params) path = '/coupons/categories/' path << "#{params[:id]}/" get(path, query: params.slice(*Constants::BASE_PARAMS)) end
coupons_website(**params)
click to toggle source
# File lib/admitad/client.rb, line 29 def coupons_website(**params) path = '/coupons/' path << "#{params[:c_id]}/" if params[:c_id] path << 'website/' path << "#{params[:w_id]}/" if params[:w_id] get(path, query: params.slice(*Constants::COUPONS_PARAMS)) end
currencies(**params)
click to toggle source
# File lib/admitad/client.rb, line 91 def currencies(**params) get('/currencies/', query: params.slice(*Constants::BASE_PARAMS)) end
currencies_rate(**params)
click to toggle source
# File lib/admitad/client.rb, line 95 def currencies_rate(**params) get('/currencies/rate/', query: params.slice(:base, :target, :date)) end
deeplink(**params)
click to toggle source
# File lib/admitad/client.rb, line 79 def deeplink(**params) get("/deeplink/#{params[:w_id]}/advcampaign/#{params[:c_id]}/", query: params.slice(:subid, :ulp)) end
statistics_actions(**params)
click to toggle source
# File lib/admitad/client.rb, line 75 def statistics_actions(**params) get('/statistics/actions/', query: params.slice(*Constants::STATISTIC_ACTIONS_PARAMS)) end
token(**params)
click to toggle source
# File lib/admitad/client.rb, line 71 def token(**params) self.class.post('/token/', body: token_body(params), headers: token_headers(params)) end
websites(**params)
click to toggle source
# File lib/admitad/client.rb, line 38 def websites(**params) path = '/websites/' path << "#{params[:id]}/" if params[:id] get(path, query: params.slice(*Constants::AD_SPACE_PARAMS)) end
websites_regions(**params)
click to toggle source
# File lib/admitad/client.rb, line 83 def websites_regions(**params) get('/websites/regions/', query: params.slice(*Constants::BASE_PARAMS)) end
Private Instance Methods
get(path, options = {}, &block)
click to toggle source
# File lib/admitad/client.rb, line 106 def get(path, options = {}, &block) options[:headers] = { Authorization: "Bearer #{access_token}" } self.class.get(path, options, &block) end
post(path, options = {}, &block)
click to toggle source
# File lib/admitad/client.rb, line 101 def post(path, options = {}, &block) options[:headers] = { Authorization: "Bearer #{access_token}" } self.class.post(path, options, &block) end
token_body(params)
click to toggle source
# File lib/admitad/client.rb, line 111 def token_body(params) if params[:grant_type] == :client_credentials params.slice(:grant_type).merge(client_id: @client_id, scope: @scope) else params.slice(:refresh_token, :grant_type).merge(client_id: @client_id, client_secret: @client_secret) end end
token_headers(params)
click to toggle source
# File lib/admitad/client.rb, line 119 def token_headers(params) if params[:grant_type] == :client_credentials { Authorization: "Basic #{Base64.strict_encode64("#{@client_id}:#{@client_secret}")}" } else self.class.headers end end