O evento “Notificar evento de compra realizada” serve para descrever uma compra realizada pelo cliente. Para isso, notifica, via Mobile SDK, quando um usuário realiza uma compra por meio do uso do método sendPurchase.
Como usar
A notificação de informações da compra utiliza o método Connectif.sendPurchase(purchase: Purchase) no qual adicionaremos a propriedade purchase com todas as informações da compra.
Notificar a compra realizada
Este objeto representa o modelo do Carrinho de compras que inclui as seguintes propriedades:
| Nome | Obrigatória | Tipo | Descrição |
|---|---|---|---|
| purchaseId | Sim | String | Identificador único da compra. |
| cartId | Sim | String | Identificador único do carrinho a partir do qual esta compra foi originada. |
| totalQuantity | Sim | Int | Quantidade total de produtos que há na compra (incluindo os duplicados). Por exemplo: se um carrinho tem 3 unidades de um produto e 7 unidades de outro diferente, totalQuantity será igual a 10. |
| totalPrice | Sim | BidDecimal | Valor total da compra. |
| purchaseDate | Não | Date | Data da compra. |
| paymentMethod | Não | String | O método de pagamento |
| products | Sim | Product Basket Item | Itens que contém a compra, junto com a quantidade dos mesmos e o valor. |
| source_name | Não | String | O nome da fonte, para fornecer contexto ou detalhe sobre o tipo de fonte da compra. |
| source_type | Não | String | O nome da fonte onde a compra foi realizada. Os valores possíveis são: "marketplace", "digital-store", "point-of-sale", "third-party" e "other". |
Organização dos valores da fonte (source_type)
A seguir, são explicados cada um dos valores possíveis da fonte da compra (source_type):
| Valor | Descrição | Exemplo |
|---|---|---|
| third-party | Vendas canalizadas através de distribuidores, varejistas ou redes de parceiros (não marketplaces). | Venda por atacado, Distribuidores, Afiliados... |
| other | Casos especiais ou canais que não se encaixam nas categorias anteriores. | Telemarketing, Feiras e eventos, Comércio social... |
| marketplace | Plataformas de comércio eletrônico de terceiros onde você publica seus produtos. | Amazon Marketplace, eBay, Zalando... |
| digital-store | Vendas pelo site ou app de comércio eletrônico próprio do varejista. | Direto, Busca orgânica, Busca paga, Email Marketing... |
| pont-of-sale | Vendas em lojas físicas processadas através de um sistema POS. | Caixa na loja, Quiosque na loja, Lojas pop-up... |
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.
Exemplo
A notificação terá esta aparência:
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)
Callbacks (Opcional)
Se você quiser ter feedback de possíveis erros ao enviar eventos, poderá adicionar um EventCallbacks quando usar nosso método.
object : EventCallbacks {
override fun onSuccess() {
//Tratamento em caso de sucesso
}
override fun onError(message: String?) {
//Tratamento em caso de erro
}
}
Continue aprendendo!
Para aproveitar todo o potencial da sua conta no Connectif, recomendamos continuar com os seguintes artigos:
- Android SDK Get Started, para adicionar o Connectif Mobile SDK ao seu projeto Android.
- Configuração Firebase Cloud Messaging, para ativar o envio e recebimento de push pelo Mobile SDK de Android.
- iOS SDK Get Started, para adicionar o Connectif Mobile SDK ao seu projeto iOS.
- Configuração Apple Push Notifications Service, para ativar o envio e recebimento de push pelo Mobile SDK de iOS.