Android Mobile SDK: Notificar información del carrito

El evento “Notificar información del carrito” sirve para describir la cesta de la compra que tiene el contacto en un momento determinado. Para ello, notifica vía Mobile SDK los productos y el estado del carrito de un contacto mediante el uso del método Connectif.sendCart.

 

Cómo se usa

Esta notificación describe el carrito completo, Connectif se encarga de detectar los cambios y generar los eventos adecuados cuando se añade o se quita un producto del carrito.

 

Notificar el carrito de la compra

Este objeto representa un carrito de la compra completo en un determinado instante de tiempo. Incluye las siguientes propiedades:

Nombre Obligatoria Tipo Descripción
cartId String Identificador único del carrito.
totalQuantity Int Cantidad total de productos que hay en el carrito.
totalPrice Int Precio total del carrito.
products Product Basket Item Artículos que contiene el carrito, junto con la cantidad de los mismos y el importe.

Notificar los productos mediante Product Basket Item

Este objeto representa los productos, la cantidad de los mismos y el precio total que hay en un carrito de la compra o en una compra.

Incluye todas las propiedades del tipo de objeto Producto (más info en Notificar evento de producto visitado), además de las siguientes:

Nombre Obligatoria Tipo Descripción
quantity Int Cantidad de unidades de este producto.
price Int Precio acumulado de los productos representados por este Product Basket Item. Normalmente suele ser quantity * unitPrice.

Este tipo de evento recoge de forma automática la siguiente información:

  • Sistema operativo: Android o iOS.
  • Versión de app.
  • Versión de sistema operativo.
  • Versión de Connectif SDK.

 

Otras consideraciones

Es muy importante establecer un identificador de carrito ("cartId") y notificar a Connectif también cuando el carrito se vacía, para prevenir que se generen eventos de carritos abandonados.

 

Ejemplo

La notificación tendrá este aspecto:

val cart =
Cart(
products = listOf(
ProductBasketItem(
productDetailUrl = "https://example.com/product/12345",
productId = "59a31949a1a562d4979fbca2",
name = "Example Product",
unitPrice = BigDecimal("96.80"),
description = "This is an example product",
imageUrl = "https://example.com/product/images/12345.jpg",
categories = listOf("Electronics", "Gadgets"),
tags = listOf("Trending", "New Arrival"),
brand = "ExampleBrand",
reviewCount = 150,
rating = BigDecimal("4.5"),
ratingCount = 124,
thumbnailUrl = "https://example.com/product/thumbnails/12345.jpg",
unitPriceOriginal = BigDecimal("120.00"),
unitPriceWithoutVAT = BigDecimal("80.00"),
discountedAmount = BigDecimal("23.20"),
discountedPercentage = BigDecimal("19.33"),
publishedAt = Date(),
customField1 = "Special Edition",
customField2 = "Limited Stock",
customField3 = "Online Only",
price = BigDecimal("51.88"),
quantity = 2
)
),
totalQuantity = 2,
totalPrice = BigDecimal("193.60"),
cartId = "cart-0098caf9-42f4-44e9-afdd-45eafe892293",
)
Connectif.sendCart(cart)

 

Callbacks (Opcional)

Si quieres tener feedback de posibles errores al enviar eventos, podremos añadir un EventCallbacks cuando usemos nuestro método.  

 object : EventCallbacks {
    override fun onSuccess() {
        //Manejo en caso de éxito
    }
    override fun onError(message: String?) {
         //Manejo en caso de error
    }
}

 

 

¡Enhorabuena!
Has llegado al final de la lección.

  

¿Te han quedado dudas sin resolver?
Recuerda que tienes a tu disposición a nuestros especialistas en Connectif. Para contactar con ellos, tan solo tendrás que abrir ticket a Soporte haciendo clic en el botón azul de “Ayuda” de tu dashboard.


¡Sigue aprendiendo!

Para aprovechar todo el potencial de tu cuenta en Connectif, te recomendamos continuar con los siguientes artículos:

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0