Bienvenido a la tercera parte de nuestra seria cómo usar Bootic CLI (Parte I, Parte II)
Con el CLI puedes editar el diseño de tu tienda—como vimos en la parte II de esta serie de tutoriales—pero además de lo anterior el CLI te permite acceder a los datos de la misma, me refiero a:
Comencemos por algo sencillo: Listar los productos de una tienda.
Como primer paso ingresemos a la consola, desde nuestra linea de comando digitamos los siguiente:
bootic console
IMPORTANTE: Recuerda que debes estar logeado: comprueba esto con lo siguiente:
bootic check
Si no es el caso logeate:
bootic login
Ahora sí, listamos nuestros productos, en la consola digita lo siguiente:
$ shop = root.shops.first
$ products = shop.products
$ products.each do |product|
$ puts product.slug
$ end
testarossa
cocotte
bolsa-1
chincheta
...
NOTA: Por defecto solo se listan los primeros 50 productos.
Anteriormente vimos como puedes listar productos desde la consola CLI.. ¿qué te parece si ahora hacemos un script que haga lo mismo?, esto es: listar el slug de los productos:
Guardemos este script con el nombre de product_slugs.rb
y luego desde la línea de comandos lo podemos llamar así:
bootic runner product_slugs.rb
Luego de ejecutarlo nos mostrará un listado con los slugs de nuestros productos.
Hagamos algo más interesante: listaremos información básica de los productos:
Si se quiere listar todos los productos de la tienda cambia lo que está en la línea 2 por lo siguiente:
products = shop.products.full_set
A continuación crearemos un script que haga los mismo que lo anterior pero que esta vez en lugar de mostrar el resultado en la consola lo deje en un archivo de tipo CSV, para posteriormente revisarlo con Excel o Google Spreadsheet.
NOTA: En la línea 7 del script el parámetro status
está seteado como all
, lo cual quiere decir que listará los productos visible y ocultos, si no explicitamos esto solo listará los visibles.
Ahora haremos algo que es recurrente en cualquier tienda: Establecer ofertas o momento de rebajas o quizá un evento CyberDay o CyberMonday.
Requerimiento: Se quiere rebajar todos los precios de la colección ofertas. Pero se quiere respaldar la información para que luego de finalizada la oferta los precios vuelvan a la «normalidad».
Para ello corremos el siguiente script desde nuestra línea de comandos:
bootic runner backup_deals.rb
Esto generará un CSV de nombre backup_variants_deals.csv
con todos los precios de la colección Ofertas.
Puesto que ya tenemos el respaldo ahora le sacaremos una copia, nombraremos esta copia: new_variants_deals.csv
. Finalmente editamos este nuevo CSV con Excel o Google Spreadsheet y pondremos en él los nuevos precios.
Ahora que ya tenemos los nuevos precios listos en el CSV procedemos a correr el siguiente script, el cual cambiará uno a uno los precios.
bootic runner new_variants_deals.rb
Cuando quieras volver a los precios que tenías antes, simplemente edita la línea 3 del script anterior, en su reemplazo pon el CSV de respaldo. Aquella línea debería quedar así:
file = "backup_deals.csv"
Y luego corremos de nuevo el script. Pero esta vez revertirá los cambios, todo volverá a la normalidad en aquella colección.
bootic runner new_variants_deals.rb
También es posible listar pedidos. Acá te mostramos script que listará los últimos 50 pedidos exitosamente pagados:
bootic runner last_closed_orders.rb
Acá encontrarás un script que lista todos los contactos de tu tienda:
bootic runner contact_list.rb
También es posible listar listas de precios y su contenido. Acá encontrarás un script list_price_list.rb
que muestra el ID y nombre de la lista de precios de la tienda:
Conociendo el ID
de una lista de precios podemos listar su contenido, acá el script list_price_list_products.rb
que nos ayudará con esto: