class AdtekioAdnetworks::Cost::Startapp
Constants
- ApiEndpoint
Public Instance Methods
campaign_costs(from, till)
click to toggle source
# File lib/adtekio_adnetworks/importers/cost/startapp.rb, line 28 def campaign_costs(from, till) load_campaigns(from, till).map do |campaign| next if campaign[:spent].to_f == 0.0 country = campaign[:country].try(&:downcase) country = nil if country == 'unknown' { :date => Date.strptime(campaign[:date].to_s, "%Y%m%d"), :campaign => campaign[:campaignName], :adgroup => country, :target_country => country == 'unknown' ? nil : country, :impressions => campaign[:impressions].to_i, :clicks => campaign[:clicks].to_i, :conversions => campaign[:installs].to_i, :amount => campaign[:spent].to_f } end.compact end
load_campaigns(from, till)
click to toggle source
# File lib/adtekio_adnetworks/importers/cost/startapp.rb, line 10 def load_campaigns(from, till) uri = Addressable::URI.parse(ApiEndpoint) uri.query_values = { :partner => credentials.partner, :token => credentials.token, :startDate => from.strftime("%Y%m%d"), :endDate => till.strftime("%Y%m%d"), :dimension => 'date,campaignId,country' } 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)[:data] end