iOS Mobile SDK: Notificar informações do carrinho

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
    })
    

 

 

Parabéns!
Você chegou ao final da lição.

  

Ficou com dúvidas não resolvidas?
Lembre-se de que nossos especialistas da Connectif estão disponíveis para ajudar. Para entrar em contato, basta abrir um ticket de suporte clicando no botão azul "Ajuda" no seu painel.


Continue aprendendo!

Para aproveitar ao máximo sua conta na Connectif, recomendamos continuar com os seguintes artigos: