L’evento “Notificare evento di acquisto effettuato” serve a descrivere un acquisto effettuato dal cliente. Per questo notifica, tramite Mobile SDK, quando un utente effettua un acquisto utilizzando il metodo sendPurchase.
Come si usa
La notifica delle informazioni sull’acquisto utilizza il metodo Connectif.sendPurchase(purchase: Purchase) nel quale aggiungeremo la proprietà purchase con tutte le informazioni sull’acquisto.
Notificare l’acquisto effettuato
Questo oggetto rappresenta il modello del carrello che include le seguenti proprietà:
| Nome | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|
| purchaseId | Sì | String | Identificatore univoco dell’acquisto. |
| cartId | Sì | String | Identificatore univoco del carrello da cui è originato questo acquisto. |
| totalQuantity | Sì | Int | Quantità totale di prodotti presenti nell’acquisto (inclusi i duplicati). Per esempio: se un carrello contiene 3 unità di un prodotto e 7 unità di un altro prodotto diverso, totalQuantity sarà pari a 10. |
| totalPrice | Sì | BidDecimal | Importo totale dell’acquisto. |
| purchaseDate | No | Date | Data dell’acquisto. |
| paymentMethod | No | String | Metodo di pagamento |
| products | Sì | Product Basket Item | Articoli contenuti nell’acquisto, con le rispettive quantità e importi. |
| source_name | No | String | Il nome della fonte, per fornire contesto o dettaglio sul tipo di fonte dell’acquisto. |
| source_type | No | String | Il nome della fonte dove è stato effettuato l’acquisto. I valori possibili sono: "marketplace", "digital-store", "point-of-sale", "third-party" e "other". |
Organizzazione dei valori della fonte (source_type)
Di seguito vengono spiegati ciascuno dei valori possibili della fonte dell’acquisto (source_type):
| Valore | Descrizione | Esempio |
|---|---|---|
| third-party | Vendite canalizzate attraverso distributori, rivenditori o reti di partner (non marketplace). | Vendita all’ingrosso, Distributori, Affiliati... |
| other | Casi speciali o canali che non rientrano nelle categorie precedenti. | Telemarketing, Fiere ed eventi, Commercio sociale... |
| marketplace | Piattaforme di e-commerce di terze parti dove pubblichi i tuoi prodotti. | Amazon Marketplace, eBay, Zalando... |
| digital-store | Vendite dal sito web o app di e-commerce proprietario del rivenditore. | Diretto, Ricerca organica, Ricerca a pagamento, Email Marketing... |
| pont-of-sale | Vendite in negozi fisici elaborate tramite un sistema POS. | Cassa in negozio, Chiosco in negozio, Negozi pop-up... |
Questo tipo di evento raccoglie automaticamente le seguenti informazioni:
- Sistema operativo: Android o iOS.
- Versione dell’app.
- Versione del sistema operativo.
- Versione del Connectif SDK.
Esempio
La notifica avrà questo aspetto:
val purchase =
Purchase(
purchaseId = "purchase-e3418b5a-8709-4593-a7c8-d8a7f12df737",
products = listOf(
ProductBasketItem(
productDetailUrl = "https://example.com/product/12345",
productId = "59a31949a1a562d4979fbca2",
name = "Example Product",
unitPrice = BigDecimal("51.88"),
description = "This is an example product",
imageUrl = "https://example.com/product/images/12345.jpg",
categories = listOf("Electronics", "Gadgets"),
tags = listOf("Trending", "New Arrival"),
brand = "ExampleBrand",
reviewCount = 150,
rating = BigDecimal("4.5"),
ratingCount = 124,
thumbnailUrl = "https://example.com/product/thumbnails/12345.jpg",
unitPriceOriginal = BigDecimal("120.00"),
unitPriceWithoutVAT = BigDecimal("80.00"),
discountedAmount = BigDecimal("20.00"),
discountedPercentage = BigDecimal("16.67"),
publishedAt = Date(),
customField1 = "Special Edition",
customField2 = "Limited Stock",
customField3 = "Online Only",
price = BigDecimal("51.88"),
quantity = 1
)
),
totalQuantity = 1,
totalPrice = BigDecimal("51.88"),
cartId = "cart-0098caf9-42f4-44e9-afdd-45eafe892293",
paymentMethod = "Credit Card",
purchaseDate = Date(),
sourceName = "amazon",
sourceType = "marketplace"
)
Connectif.sendPurchase(purchase)
Callback (Opzionale)
Se vuoi ricevere un feedback su eventuali errori durante l’invio degli eventi, puoi aggiungere un EventCallbacks quando usi il nostro metodo.
object : EventCallbacks {
override fun onSuccess() {
//Gestione in caso di successo
}
override fun onError(message: String?) {
//Gestione in caso di errore
}
}
Continua ad 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 Firebase Cloud Messaging, per attivare l’invio e la ricezione di push tramite Mobile SDK per Android.
- iOS SDK Get Started, per aggiungere Connectif Mobile SDK al tuo progetto iOS.
- Configurazione Apple Push Notifications Service, per attivare l’invio e la ricezione di push tramite Mobile SDK per iOS.