Bootic soporta lista de precios, esto quiere decir que el precio de tus productos será distinto para cierto grupo de usuarios o visitantes.
Pensado para comercios que venden sus productos a otros comercios, lo que en el mundo del ecommerce se conoce como business 2 business ó b2b.
El primer paso para habilitarlo en tu tienda es instalarlo.
Lo anterior generará en el admin de tu tienda una nueva sección de nombre «Mayorista».
Acá puedes crear una o varias listas de precio. En cada lista de precio puedes agregar:
Como te comentamos anteriormente una lista de precios tiene asociados productos y usuarios. Es decir, el usuario debe logearse o acceder a la tienda usando credenciales de acceso para ver los precios configurados en la lista y eventualmente comprar el producto.
Para habilitar el logeo de un usuario se debe agregar lo siguiente a la plantilla layout.html
:
{% if customer.is_logged_in %}
(muestra el contenido de layout)
{% else %}
{% include 'guest' %}
{% endif %}
La plantilla guest.html
debería contener algo como los siguiente:
<p>¿Eres cliente y tienes usuario? <a href="/customer/login">Ingresa
aquí</a>.</p>
Por medio de la API es posible agregar productos y usuarios, a continuación te mostramos dos script usando Bootic CLI
shop = root.shops.first
payload = {
name: "Silver",
tax: {
name: 'IVA',
rate: 0.19,
},
prices_include_tax: false
}
list = shop.price_lists.create_price_list(payload)
A continuación se agregan todos los productos etiquetados como marketplace a la lista recién creada:
shop = root.shops.first
products = shop.products(tags: ["marketplace"], status: "all").full_set
list = shop.price_lists.items.find {|x| x.name == "Silver"}
products.each do |product|
puts "Procesando: #{product.slug}..."
variants = product.variants
variants.each do |variant|
list.add_price_item(id: variant.id, price: variant.regular_price)
end
end
Finalmente agregaremos un grupo de clientes a la lista. Clientes que estarán en el archivo clients.csv
.
shop = root.shops.first
list = shop.price_lists.items.find {|x| x.name == "Silver"}
customers = shop.contacts
csv_file = "clients.csv"
options = {:col_sep => ",", :headers => true}
CSV.foreach(csv_file, options) do |row|
customer = customers.create_contact(
email: row['email'],
name: row['full_name'],
phone_number: row['phone_number'],
company: row['company_name'],
company_id_number: row['rut'],
price_list_id: list.id
)
end