class Papapi::Merchant::Commission
Public Class Methods
new(session)
click to toggle source
# File lib/papapi/merchant_commision.rb, line 8 def initialize(session) @session = session raise "Merchant session is required" if !@session.is_merchant? end
Public Instance Methods
by_orders(order_ids,affiliate_id = nil)
click to toggle source
# File lib/papapi/merchant_commision.rb, line 13 def by_orders(order_ids,affiliate_id = nil) requests = order_ids.map do |order_id| r = GridRequest.new("Pap_Merchants_Transaction_TransactionsGrid", "getRows", @session) r.set_param("isInitRequest","Y") r.set_param("filterType","transaction_filter") r.add_filter("orderid","E",order_id) r.add_filter("userid","E",affiliate_id) if affiliate_id r.add_column("id") r.add_column("userid") r.add_column("commission") r.add_column("orderid") r end commissions = Hash[order_ids.map {|i| [i.to_s, 0.0]}] responses = MultiRequest.new(requests).send responses.each do |resp| resp.each do |row| commissions[row['orderid']] += row['commission'].to_f end end commissions end
create(affiliate_id, campaign_id, commission, commtypeid, payoutstatus = '', fields = {})
click to toggle source
# File lib/papapi/merchant_commision.rb, line 37 def create(affiliate_id, campaign_id, commission, commtypeid, payoutstatus = '', fields = {}) r = FormRequest.new('Pap_Merchants_Transaction_TransactionsForm', 'add', @session) f = { :userid => affiliate_id, :campaignid => campaign_id, :commtypeid => commtypeid, :commission => commission, :payoutstatus => payoutstatus, :multiTier => "N" }.merge(fields) r.set_fields(f) r.send end
create_raw(affiliate_id, campaign_id, commtypeid, multitier, fields = {})
click to toggle source
commtypeid Can be found in Merchant
panel: Campaigns -> Campaign manager -> edit campaign (pencil icon) -> Commission
settings
# File lib/papapi/merchant_commision.rb, line 52 def create_raw(affiliate_id, campaign_id, commtypeid, multitier, fields = {}) r = FormRequest.new('Pap_Merchants_Transaction_TransactionsForm', 'add', @session) f = { :userid => affiliate_id, :campaignid => campaign_id, :commtypeid => commtypeid, :multiTier => multitier, :transid => nil, :Id => nil }.merge(fields) r.set_fields(f) r.send end
remove(commission_ids)
click to toggle source
# File lib/papapi/merchant_commision.rb, line 66 def remove(commission_ids) #{"C":"Pap_Merchants_Transaction_TransactionsForm", "M":"deleteRows", "ids":["00a47a09"] r = Request.new('Pap_Merchants_Transaction_TransactionsForm', 'deleteRows', @session) r.set_param('ids', commission_ids) r.send end