Class: OzonApi::CartService

Inherits:
Object
  • Object
show all
Defined in:
lib/ozon_api/cart_service.rb

Constant Summary collapse

BASE_PATH =
'CartService'

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ CartService

Returns a new instance of CartService.



6
7
8
# File 'lib/ozon_api/cart_service.rb', line 6

def initialize(client)
  @client = client
end

Instance Method Details

#cart_add(partner_client_id:, cart_items:, partner_agent_id: nil, delay_cart_update: false) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/ozon_api/cart_service.rb', line 14

def cart_add(partner_client_id:, cart_items:, partner_agent_id: nil, delay_cart_update: false)
  params = {
    'partnerClientId': partner_client_id,
    'cartItems': Array(cart_items).map { |i| "#{i[:partner_id]}:#{i[:quantity]}" }.join(','),
    'partnerAgentId': partner_agent_id,
    'delayCartUpdate': delay_cart_update
  }

  @client.post([BASE_PATH, 'CartAdd'].join('/'), params)
end

#cart_get(partner_client_id:) ⇒ Object



10
11
12
# File 'lib/ozon_api/cart_service.rb', line 10

def cart_get(partner_client_id:)
  @client.get([BASE_PATH, 'CartGet'].join('/'), 'partnerClientId': partner_client_id)
end

#cart_remove(partner_client_id:, cart_item_ids:) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/ozon_api/cart_service.rb', line 25

def cart_remove(partner_client_id:, cart_item_ids:)
  params = {
    'partnerClientId': partner_client_id,
    'cartItems': Array(cart_item_ids).map(&:to_s).join(',')
  }

  @client.post([BASE_PATH, 'CartRemove'].join('/'), params)
end