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 | Sí | String | Identificador único del carrito. |
totalQuantity | Sí | Int | Cantidad total de productos que hay en el carrito. |
totalPrice | Sí | Int | Precio total del carrito. |
products | Sí | 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 | Sí | Int | Cantidad de unidades de este producto. |
price | Sí | 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 } }
¡Sigue aprendiendo!
Para aprovechar todo el potencial de tu cuenta en Connectif, te recomendamos continuar con los siguientes artículos:
- Android SDK Get Started, para añadir Connectif Mobile SDK a tu proyecto Android.
- Configuración Firebase Cloud Messaging, para activar el envío y recepción de push mediante el Mobile SDK de Android.
- iOS SDK Get Started, para añadir Connectif Mobile SDK a tu proyecto iOS.
- Configuración Apple Push Notifications Service, para activar el envío y recepción de push mediante el Mobile SDK de iOS.