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
})
Continua a imparare!
Per sfruttare al massimo il potenziale del tuo account Connectif, ti consigliamo di continuare con i seguenti articoli:
- Android SDK Get Started, per aggiungere Connectif Mobile SDK al tuo progetto Android.
- Configurazione di Firebase Cloud Messaging, per abilitare l'invio e la ricezione di push tramite il Mobile SDK per Android.
- iOS SDK Get Started, per aggiungere Connectif Mobile SDK al tuo progetto iOS.
- Configurazione di Apple Push Notifications Service, per abilitare l'invio e la ricezione di push tramite il Mobile SDK per iOS.