class AdtekioAdnetworks::Cost::Unilead
Public Instance Methods
campaign_costs(from, till)
click to toggle source
# File lib/adtekio_adnetworks/importers/cost/unilead.rb, line 8 def campaign_costs(from, till) uri = Addressable::URI. parse("http://my.unileadnetwork.com/stats/stats.json") uri.query_values = { :api_key => credentials.api_key, :start_date => from.to_s, :end_date => till.to_s, :'group[]' => ['Stat.date', 'Offer.name'], :'field[]' => ['Stat.conversions', 'Stat.impressions', 'Stat.clicks', 'Stat.revenue'], } 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)['data'].map do |campaign| costs = campaign['cost'].gsub(/[^\d]/,'').to_f/100 next if costs == 0.0 { :date => Date.strptime(campaign["date"], "%Y-%m-%d"), :campaign => campaign["offer"], :impressions => campaign['impressions'].to_i, :clicks => campaign['clicks'].to_i, :conversions => campaign["conversions"].to_i, :amount => costs, } end end