iOS Mobile SDK: Notificare le informazioni del carrello

L'evento “Notificare informazioni sul carrello” serve a descrivere il carrello della spesa del contatto in un determinato momento. Per farlo, notifica tramite Mobile SDK i prodotti e lo stato del carrello di un contatto utilizzando il metodo Connectif.sendCart.

 

Come si usa

Questa notifica descrive l'intero carrello. Connectif si occupa di rilevare le modifiche e generare gli eventi appropriati quando viene aggiunto o rimosso un prodotto dal carrello.

 

Notificare il carrello della spesa

Questo oggetto rappresenta un carrello della spesa completo in un determinato istante di tempo. Include le seguenti proprietà:

Nome Obbligatorio Tipo Descrizione
cartId Sì String Identificatore univoco del carrello.
totalQuantity Sì Int Quantità totale di prodotti presenti nel carrello.
totalPrice Sì Int Prezzo totale del carrello.
products Sì Product Basket Item Articoli contenuti nel carrello, insieme alla quantità degli stessi e al loro prezzo.
cartRecoveryUrl No Cart recovery url URL associato al carrello da cui è possibile recuperarne il contenuto. Deve essere un URL valido e non può superare i 1.000 caratteri.


Notificare i prodotti tramite Product Basket Item

Questo oggetto rappresenta i prodotti, la quantità degli stessi e il prezzo totale presenti in un carrello della spesa o in un acquisto. Include tutte le proprietà del tipo di oggetto Prodotto (maggiori informazioni in Notificare evento di prodotto visitato), oltre alle seguenti:

Nome Obbligatorio Tipo Descrizione
quantity Sì Int Quantità di unità di questo prodotto.
price Sì Int Prezzo totale dei prodotti rappresentati da questo Product Basket Item. Normalmente è quantity * unitPrice.


Altre considerazioni

È molto importante impostare un identificatore del carrello (cartId) e notificare Connectif anche quando il carrello viene svuotato, per prevenire la generazione di eventi di carrelli abbandonati.

 

Esempio

La notifica avrà questo aspetto:

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 (Opzionale)

Se vogliamo ricevere un feedback su possibili errori durante l'invio degli eventi, possiamo aggiungere un EventCallbacks quando utilizziamo il nostro metodo.  

EventCallbacks(
    onSuccess: {
        //Gestione in caso di successo
    },
    onError: { error in
        //Gestione in caso di errore
    })
    

 

 

Congratulazioni!
Hai raggiunto la fine della lezione.

  

Hai ancora domande senza risposta?
Ricorda che i nostri specialisti di Connectif sono disponibili per aiutarti. Per contattarli, ti basta aprire un ticket di supporto cliccando sul pulsante blu "Aiuto" nella tua dashboard.


Continua a imparare!

Per sfruttare al massimo il potenziale del tuo account Connectif, ti consigliamo di continuare con i seguenti articoli: