Android Mobile SDK: Notificar informações do carrinho
O evento “Notificar informações do carrinho” serve para descrever o carrinho de compras que o contato possui em um determinado momento. Para isso, notifica, por meio do Mobile SDK, os produtos e o status do carrinho de um contato usando o método Connectif.sendCart.
Como usar
Essa notificação descreve o carrinho completo. A Connectif se encarrega de detectar as alterações e gerar os eventos adequados quando um produto é adicionado ou removido do carrinho.
Notificar o carrinho de compras
Este objeto representa um carrinho de compras completo em um determinado momento. Ele inclui as seguintes propriedades:
| Nome | Obrigatória | Tipo | Descrição |
|---|---|---|---|
| cartId | Sim | String | Identificador exclusivo do carrinho. |
| totalQuantity | Sim | Int | Quantidade total de produtos existentes no carrinho. |
| totalPrice | Sim | Int | Preço total do carrinho. |
| products | Sim | Product Basket Item | Itens contidos no carrinho, juntamente com sua quantidade e o valor. |
| cartRecoveryUrl | Não | Cart recovery url | URL associada ao carrinho por meio da qual seu conteúdo pode ser recuperado. Deve ser uma URL válida e não pode ter mais de 1.000 caracteres. |
Notificar os produtos usando Product Basket Item
Este objeto representa os produtos, sua quantidade e o preço total existentes em um carrinho de compras ou em uma compra.
Ele inclui todas as propriedades do tipo de objeto Produto (mais informações em Notificar evento de produto visitado), além das seguintes:
| Nome | Obrigatória | Tipo | Descrição |
|---|---|---|---|
| quantity | Sim | Int | Quantidade de unidades deste produto. |
| price | Sim | Int | Preço acumulado dos produtos representados por este Product Basket Item. Normalmente, é quantity * unitPrice. |
Este tipo de evento coleta automaticamente as seguintes informações:
- Sistema operacional: Android ou iOS.
- Versão do app.
- Versão do sistema operacional.
- Versão do Connectif SDK.
Outras considerações
É muito importante definir um identificador de carrinho ("cartId") e notificar a Connectif também quando o carrinho for esvaziado, para evitar que sejam gerados eventos de carrinhos abandonados.
Exemplo
A notificação terá esta aparência:
val cart =
Cart(
products = listOf(
ProductBasketItem(
productDetailUrl = "https://example.com/product/12345",
productId = "59a31949a1a562d4979fbca2",
name = "Example Product",
unitPrice = BigDecimal("96.80"),
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("23.20"),
discountedPercentage = BigDecimal("19.33"),
publishedAt = Date(),
customField1 = "Special Edition",
customField2 = "Limited Stock",
customField3 = "Online Only",
price = BigDecimal("51.88"),
quantity = 2
)
),
totalQuantity = 2,
totalPrice = BigDecimal("193.60"),
cartId = "cart-0098caf9-42f4-44e9-afdd-45eafe892293",
)
Connectif.sendCart(cart)
Callbacks (Opcional)
Se você quiser obter feedback sobre possíveis erros ao enviar eventos, poderemos adicionar um EventCallbacks ao usar nosso método.
object : EventCallbacks {
override fun onSuccess() {
//Manejo en caso de éxito
}
override fun onError(message: String?) {
//Manejo en caso de error
}
}
Continue aprendendo!
Para aproveitar todo o potencial da sua conta na Connectif, recomendamos continuar com os seguintes artigos:
- Android SDK Get Started, para adicionar o Connectif Mobile SDK ao seu projeto Android.
- Configuração do Firebase Cloud Messaging, para ativar o envio e o recebimento de push por meio do Mobile SDK do Android.
- iOS SDK Get Started, para adicionar o Connectif Mobile SDK ao seu projeto iOS.
- Configuração do Apple Push Notifications Service, para ativar o envio e o recebimento de push por meio do Mobile SDK do iOS.