Module: LoyverseApi::Endpoints::Inventory

Included in:
Client
Defined in:
lib/loyverse_api/endpoints/inventory.rb

Instance Method Summary collapse

Instance Method Details

#list_inventory(variant_id: nil, store_id: nil, updated_at_min: nil, updated_at_max: nil, limit: 250, cursor: nil) ⇒ Hash

List inventory levels

Parameters:

  • variant_id (String) (defaults to: nil) —

    Filter by specific variant UUID (optional)

  • store_id (String) (defaults to: nil) —

    Filter by specific store UUID (optional)

  • updated_at_min (String, Time) (defaults to: nil) —

    Filter by minimum update time (optional)

  • updated_at_max (String, Time) (defaults to: nil) —

    Filter by maximum update time (optional)

  • limit (Integer) (defaults to: 250) —

    Maximum number of results per page (default: 250)

  • cursor (String) (defaults to: nil) —

    Pagination cursor for next page

Returns:

  • (Hash) —

    Response with inventory levels array



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/loyverse_api/endpoints/inventory.rb', line 12

def list_inventory(variant_id: nil, store_id: nil, updated_at_min: nil, updated_at_max: nil, limit: 250, cursor: nil)
  params = {
    limit: limit,
    variant_id: variant_id,
    store_id: store_id,
    cursor: cursor,
    updated_at_min: format_time(updated_at_min),
    updated_at_max: format_time(updated_at_max)
  }.compact

  get("inventory", params: params)
end

#update_inventory(variant_id:, store_id:, in_stock:) ⇒ Hash

Update inventory level for a variant at a specific store

Parameters:

  • variant_id (String) —

    UUID of the variant

  • store_id (String) —

    UUID of the store

  • in_stock (Integer) —

    New stock quantity

Returns:

  • (Hash) —

    Updated inventory level



30
31
32
33
34
35
36
37
38
# File 'lib/loyverse_api/endpoints/inventory.rb', line 30

def update_inventory(variant_id:, store_id:, in_stock:)
  body = {
    variant_id: variant_id,
    store_id: store_id,
    in_stock: in_stock
  }

  put("inventory", body: body)
end