Masify

Manual de integración de templates

Integración

Carrito de compras

En Construcción


El carrito de compras de un portal posee dos componentes principales:

a- Una vista resumida de la compra, que se obitiene como servicio vía Json, y que puede mostrarse en todas las secciones del portal.
b- Un proceso de checkout consistente en 5 pantallas sucesivas donde el usuario del portal:
1- Edita los productos de su compra, modificando sus cantidades o eliminándolos.
2- Ingresa o selecciona sus datos de pago y envío. Esta pantalla requiere la identificación del usuario vía login.
3- Selecciona el medio de pago y de envío para la compra. En caso de que exista alguna promoción de compras que permita el ingreso de cupones o códigos, puede ingresarlos en este paso.
4- Obtiene una vista final de la compra, con los costos adicionales relacionados a la forma de pago y de envío (en caso de existir), y los descuentos aplicados a la compra de acuerdo a las reglas de negocios que apliquen e la misma. En este paso el usuario del portal podrá proceder a pagar su compra en el portal de pagos seleccionado.
5- Una pantalla con el resultado de la operación, que puede ser exitoso o rechazado.


Vista resumida del carrito de compras


La vista resumida del carrito de compras se obtiene mediante un servicio Json que puede ser solicitado y manipulado mediante código javascript.
Este servicio está accesible en la url "/Cart/StockOrders" de cada portal.
Devuelve un objeto Json que contiene un Array de objetos, cada uno de ellos representa a cada producto agregado al carrito.

El objeto que representa a un producto en la vista resumida del carrito , posee los siguientes elementos:

TenantName: Nombre de la empresa a la que pertenece el producto. Una empresa puede poseer uno o más portales.
StoreId: Valor numérico, corresponde al ID del portal al que pertenece el producto.
PortalName: Nombre del portal al que pertenece el producto.
Id: Valor numérico, corresponde al ID del producto en la base de datos.
Code: Código del producto
Title: Nombre del producto
Description: Descripción corta del producto, en formato HTML
ShortDescription: No se utiliza
ItemType: Tipo de producto.
ItemTypeId: ID del tipo de producto.
Popularity: No se utiliza.
URLTitle: Slug del nombre para conformar la URL del producto. La misma puede generarse del siguiente modo: "/"+Id+"/"+StoreId+"/"+URLTitle
DefaultImageCode: Código de la imagen principal del producto.
cartItems: Listado de stocks agregados al carrito.
Cada stock corresponde a una combinación de las opciones de compra del producto.
En los casos en que un producto no posea opciones de compra, siembre habrá un y sólo un elemento en este listado.
Pero si el usuario compró un mismo producto en más de una configuración diferente (Por ejemplo, una camisa en talle S / color negro y en talle S / color blanco) , cada una de los stocks correspondientes a dichas combinaciones aparecerá en este listado.
Cada stock en este listado posee los siguientes elementos:
StockId: ID del stock en base de datos.
Quantity: Cantidad del stock en la compra.
TotalPrice: Precio total de los stocks agregados.
Price: Precio unitario de cada stock agregado.
Code: Código del producto al que pertenece el stock.
Values: Listado de las opciones de configuración para este producto. En caso de no poseerlas, este elemento, en forma de Array, aparecerá vacío.
Cada opción en este listado posee los siguientes elementos: ItemTypeDefinitionId: ID de la opción en base de datos.
ItemTypeDefinitionName: Nombre de la opción.
AttributeDefinitionValueBean: Objeto con los datos del valor seleccionado para cada opción. Posee los siguientes elementos: Type: Tipo de opción. 1 Si es una opción genérica, 3 si es una opción de color, 4 si es una opción de medidas.
Value: Datos del valor. Posee los siguientes elementos:Id: Valor numérico. No se utiliza.
AttributeDefinitionValueId: ID del valor seleccionado.

En caso de que se trate de una opción genérica (Type = 1), aparecen:
AttributeId: ID del valor. No se utiliza.
Text: Valor de la opción, puede ser numérico o de texto.

En caso de que se trate de una opción de color (Type = 3), aparecen:
HexCode: Valor hexadecimal correspondiente al color. No incluye el caracter "#" al comienzo.
Name: Nombre del color.
Link: No se utiliza.

En caso de que se trate de una opción de medida (Type = 4), aparece:
Value: Valor de la opción, puede ser numérico o de texto