iOS 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 información 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.


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
    })
    

 

 

Congratulations!
You've reached the end of the lesson.

  

Do you still have unresolved questions?
Remember that our Connectif specialists are available to assist you. To contact them, simply open a support ticket by clicking on the blue "Help" button in your dashboard.


Keep Learning!

To fully unlock the potential of your Connectif account, we recommend continuing with the following articles:

 

 

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