Class: Papapi::Merchant::Commission
- Inherits:
-
Object
- Object
- Papapi::Merchant::Commission
- Defined in:
- lib/papapi/merchant_commision.rb
Instance Method Summary collapse
- #by_orders(order_ids, affiliate_id = nil) ⇒ Object
- #create(affiliate_id, campaign_id, commission, commtypeid, payoutstatus = '', fields = {}) ⇒ Object
-
#create_raw(affiliate_id, campaign_id, commtypeid, multitier, fields = {}) ⇒ Object
commtypeid Can be found in Merchant panel: Campaigns -> Campaign manager -> edit campaign (pencil icon) -> Commission settings.
-
#initialize(session) ⇒ Commission
constructor
A new instance of Commission.
- #remove(commission_ids) ⇒ Object
Constructor Details
#initialize(session) ⇒ Commission
Returns a new instance of Commission.
8 9 10 11 |
# File 'lib/papapi/merchant_commision.rb', line 8 def initialize(session) @session = session raise "Merchant session is required" if !@session.is_merchant? end |
Instance Method Details
#by_orders(order_ids, affiliate_id = nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# 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 = {}) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# 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 = {}) ⇒ Object
commtypeid Can be found in Merchant panel: Campaigns -> Campaign manager -> edit campaign (pencil icon) -> Commission settings
52 53 54 55 56 57 58 59 60 61 62 63 64 |
# 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) ⇒ Object
66 67 68 69 70 71 |
# 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 |