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.