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 información 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. |
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:
let productBasketItem = ProductBasketItem(
productDetailUrl: "https://example.com/product/12345",
productId: "59a31949a1a562d4979fbca2",
name: "Example Product",
unitPrice: Decimal(51.88),
description: "This is an example product",
imageUrl: "https://example.com/product/images/12345.jpg",
availability: "instock",
categories: ["Electronics", "Gadgets"],
tags: ["Trending", "New Arrival"],
brand: "ExampleBrand",
reviewCount: 150,
rating: Decimal(4.5),
ratingCount: 124,
thumbnailUrl: "https://example.com/product/thumbnails/12345.jpg",
relatedExternalProductIds: ["54321", "67890"],
priority: 10,
unitPriceOriginal: Decimal(120.00),
unitPriceWithoutVAT: Decimal(80.00),
discountedAmount: Decimal(20.00),
discountedPercentage: Decimal(16.67),
publishedAt: Date(),
customField1: "Special Edition",
customField2: "Limited Stock",
customField3: "Online Only",
price: Decimal(51.88),
quantity: 1
)
let cart = Cart(
products: [productBasketItem],
totalQuantity: 1,
totalPrice: Decimal(51.88),
cartId: "cart-0098caf9-42f4-44e9-afdd-45eafe892293"
)
Connectif.sendCart(cart)
Callbacks (Opcional)
Si queremos tener feedback de posibles errores al enviar eventos, podremos añadir un EventCallbacks cuando usemos nuestro método.
EventCallbacks(
onSuccess: {
//Manejo en caso de éxito
},
onError: { error in
//Manejo en caso de error
})
Keep Learning!
To fully unlock the potential of your Connectif account, we recommend continuing with the following articles:
- Android SDK Get Started, to add Connectif Mobile SDK to your Android project.
- Firebase Cloud Messaging Setup, to enable push sending and receiving via the Android Mobile SDK.
- iOS SDK Get Started, to add Connectif Mobile SDK to your iOS project.
- Apple Push Notifications Service Setup, to enable push sending and receiving via the iOS Mobile SDK.