O evento “Notificar informações do carrinho” serve para descrever o carrinho de compras que um contato possui em um determinado momento. Para isso, ele notifica, via Mobile SDK, os produtos e o estado do carrinho de um contato por meio do método Connectif.sendCart.
Como usar
Essa notificação descreve o carrinho completo. O Connectif é responsável por detectar as mudanças e gerar os eventos adequados quando um produto é adicionado ou removido do carrinho.
Notificar o carrinho de compras
Esse objeto representa um carrinho de compras completo em um determinado momento. Ele inclui as seguintes propriedades:
| Nome | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| cartId | Sim | String | Identificador único do carrinho. |
| totalQuantity | Sim | Int | Quantidade total de produtos no carrinho. |
| totalPrice | Sim | Int | Preço total do carrinho. |
| products | Sim | Product Basket Item | Produtos que o carrinho contém, juntamente com a quantidade de cada um e o valor correspondente. |
| cartRecoveryUrl | No | Cart recovery url | URL associada ao carrinho a partir da qual é possível recuperar o seu conteúdo. Deve ser uma URL válida e não pode exceder 1.000 caracteres. |
Notificar os produtos por meio do Product Basket Item
Esse objeto representa os produtos, a quantidade de cada um e o preço total que há 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ório | Tipo | Descrição |
|---|---|---|---|
| quantity | Sim | Int | Quantidade de unidades desse produto. |
| price | Sim | Int | Preço acumulado dos produtos representados por este Product Basket Item. Normalmente é calculado como quantity * unitPrice. |
Outras considerações
É muito importante definir um identificador de carrinho (cartId) e notificar o Connectif também quando o carrinho for esvaziado, para evitar a geração de eventos de carrinhos abandonados.
Exemplo
A notificação terá este formato:
let productBasketItem = ProductBasketItem(
productDetailUrl: "https://example.com/product/12345",
productId: "59a31949a1a562d4979fbca2",
name: "Produto Exemplo",
unitPrice: Decimal(51.88),
description: "Este é um produto de exemplo",
imageUrl: "https://example.com/product/images/12345.jpg",
availability: "instock",
categories: ["Eletrônicos", "Gadgets"],
tags: ["Tendência", "Lançamento"],
brand: "ExemploMarca",
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: "Edição Especial",
customField2: "Estoque Limitado",
customField3: "Somente Online",
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)
Se quisermos obter feedback sobre possíveis erros ao enviar eventos, podemos adicionar um EventCallbacks ao utilizar nosso método.
EventCallbacks(
onSuccess: {
//Manipulação em caso de sucesso
},
onError: { error in
//Manipulação em caso de erro
})
Continue aprendendo!
Para aproveitar ao máximo 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 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 recebimento de push por meio do Mobile SDK do iOS.