Descripción general
El carrito se almacena en el localStorage del navegador y persiste entre recargas de página. Todas las operaciones del carrito son síncronas y actualizan el estado local de inmediato.
El objeto komerza está disponible globalmente después de incluir el script.
Llama a komerza.init('tu-id-de-tienda') antes de usar otros métodos.
Añadir artículos
Añade una variante de producto al carrito con una cantidad especificada.
komerza.addToBasket(productId, variantId, quantity);
Parámetros
El identificador único del producto
El identificador único de la variante del producto
Cuántos artículos añadir (por defecto 1 si no se indica)
Ejemplo
// Añadir 2 artículos de una variante de producto específica
komerza.addToBasket("prod_abc123", "var_xyz789", 2);
// Controlador del botón añadir al carrito
document.getElementById("add-to-cart").addEventListener("click", () => {
const productId = "prod_abc123";
const variantId = document.getElementById("variant-select").value;
const quantity = parseInt(document.getElementById("quantity").value) || 1;
komerza.addToBasket(productId, variantId, quantity);
alert("¡Añadido al carrito!");
});
Ver el carrito
Obtén todos los artículos que hay actualmente en el carrito.
const items = komerza.getBasket();
Retorna
Retorna un array de objetos BasketItem:
interface BasketItem {
productId: string; // ID del producto
variantId: string; // ID de la variante
quantity: number; // Número de artículos
}
Ejemplo
const basket = komerza.getBasket();
if (basket.length === 0) {
console.log("El carrito está vacío");
} else {
basket.forEach((item) => {
console.log(
`Producto: ${item.productId}, Variante: ${item.variantId}, Cant: ${item.quantity}`,
);
});
}
Obtener el recuento de artículos
Obtén el número total de artículos en el carrito (suma de todas las cantidades).
const count = komerza.getBasketItemCount();
Retorna
Retorna un número que representa la cantidad total de todos los artículos.
Ejemplo
function actualizarInsigniaCarrito() {
const count = komerza.getBasketItemCount();
document.getElementById("cart-count").textContent = count;
if (count > 0) {
document.getElementById("cart-badge").style.display = "block";
}
}
actualizarInsigniaCarrito();
Eliminar artículos
Elimina una variante de producto completamente del carrito.
komerza.removeFromBasket(productId, variantId);
Parámetros
El ID del producto a eliminar
El ID de la variante a eliminar
Ejemplo
function eliminarArticulo(productId, variantId) {
if (confirm("¿Eliminar este artículo del carrito?")) {
komerza.removeFromBasket(productId, variantId);
actualizarVistaCarrito();
}
}
Vaciar el carrito
Elimina todos los artículos del carrito de una vez.
Ejemplo
document.getElementById("clear-cart").addEventListener("click", () => {
if (confirm("¿Eliminar todos los artículos del carrito?")) {
komerza.clearBasket();
actualizarVistaCarrito();
}
});
Copia de seguridad y restauración
Crea copias de seguridad del estado del carrito y restáuralas más tarde. Útil para gestionar errores de pago o implementar funciones de «guardar para después».
Crear copia de seguridad
const success = komerza.createBasketBackup();
Retorna true si la copia de seguridad se creó correctamente.
Restaurar copia de seguridad
const success = komerza.restoreBasketFromBackup();
Retorna true si la copia de seguridad se restauró correctamente.
Ejemplo
async function procederAlPago() {
komerza.createBasketBackup();
try {
const order = await komerza.checkout(email, couponCode);
// Éxito - redirigir al pago
} catch (error) {
// Restaurar el carrito si hay error
komerza.restoreBasketFromBackup();
}
}