iOS Mobile SDK: Notify cart information

The "Notify cart information" event is used to describe the shopping cart that the contact has at a given time. It notifies, via Mobile SDK, the products and the cart status of a contact using the Connectif.sendCart method.

 

How to use it

This notification describes the complete cart. Connectif is responsible for detecting changes and generating the appropriate events when a product is added or removed from the cart.

Notify the shopping cart

This object represents a complete shopping cart at a specific point in time. It includes the following properties:

Name Mandatory Type Description
cartId Yes String Unique identifier of the cart.
totalQuantity Yes Int Total number of products in the cart.
totalPrice Yes Int Total price of the cart.
products Yes Product Basket Item Items contained in the cart, along with their quantity and price.


Notify products using Product Basket Item

This object represents the products, their quantity, and the total price in a shopping cart or a purchase. It includes all the properties of the Product object type (more information in Notify product visited event), along with the following:

Name Mandatory Type Description
quantity Yes Int Number of units of this product.
price Yes Int Total price of the products represented by this Product Basket Item. It is usually quantity * unitPrice.


Other considerations

It is very important to establish a cart identifier (cartId) and also notify Connectif when the cart is emptied, to prevent abandoned cart events from being generated.

 

Example

The notification will look like this:

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:

 

 

 
Was this article helpful?
0 out of 0 found this helpful