class AdtekioAdnetworks::Cost::Adcolony
Public Instance Methods
campaign_costs(from, till)
click to toggle source
# File lib/adtekio_adnetworks/importers/cost/adcolony.rb, line 8 def campaign_costs(from, till) uri = Addressable::URI. parse("http://clients.adcolony.com/api/v2/advertiser_summary") uri.query_values = { :user_credentials => credentials.api_key, :date => from.strftime("%m%d%Y"), :end_date => till.strftime("%m%d%Y"), :group_by => [:campaign, :ad_group, :country], :date_group => :day } req = Net::HTTP::Get.new(uri.request_uri) res = Net::HTTP.start(uri.host, uri.port) do |http| http.request(req) end (JSON.parse(res.body, :symbolize_names => true)[:results] || []). map do |campaign| next if campaign[:spend].to_f == 0.0 campaign_name = campaign[:group_name]. encode(Encoding.find('ASCII'), :invalid => :replace, :replace => '', :undef => :replace) { :date => Date.strptime(campaign[:date], "%Y-%m-%d"), :campaign => campaign_name, :adgroup => campaign[:country], :impressions => campaign[:impressions].to_i, :clicks => campaign[:total_clicks].to_i, :conversions => campaign[:installs].to_i, :amount => campaign[:spend].to_f, :target_country => campaign[:country].try(:downcase), } end end