Carrinho

cart

Neste evento, além das informações do cliente, você também informa os produtos que foram adicionados ao carrinho. O envio deste evento é muito importante, por ser o inicio do funil de conversão e a origem do evento de transaction. Também é através desse evento que gerar recomendações e exibir produtos recomendados para algumas de nossas vitrines (Ex.: vitrine cart personalize, abandonados) e para outros produtos.

OBS: Normalmente este evento é enviado quando o usuário visualiza uma página de produto no site ou quando ele acessa um produto no APP.

Vamos ver como enviar a coleta do evento de carrinho. Aqui você declara apenas os parâmetros comuns a todos os eventos e os parâmetros de: id: "" e items: {...}

| id | string | "123456" | X | | items | array[{object}] | items: [{pid: "123", quantity: "2", sku: "12345", price: 18.99}, {...}] | X |

Utilizando Builder

Podemos usar o padrão Builder para popular o evento com os parâmetros do evento de carrinho.

import { EventClient } from '@linximpulse/impulse-sdk-js'

//Declare os parâmetros obrigatórios para o construtor
const event = new EventClient({...})

event.cart()
    // se o usuário já estiver logado
    .user({
        id: "9874",
        name: "Fulano da Silva"
    })
    .id("65412324") // Identificador único da transação
    .items([
        {
            pid: "PID_123456",
            sku: "SKU_123456",
            quantity: 2,
            price: 84.91 // caso não seja informado, será considerado o preço setado no catálogo
        },
        {
            pid: "PID_456",
            sku: "SKU_456",
            quantity: 1,
            price: 24.97 // caso não seja informado, será considerado o preço setado no catálogo
        }
    ])
    .deviceId('fb4e49b6-35e3-42a1-a397-960f0b37ab6a')
    .url('https://www.minhaloja.com.br/cart')
    .send()

Não utilizando Builder

Caso não queira utilizar o Builder, podemos popular o evento diretamente no método send(), ele também aceita diretamente os parâmetros do evento de carrinho.

import { EventClient } from '@linximpulse/impulse-sdk-js'

//Declare os parâmetros obrigatórios para o construtor
const event = new EventClient({
    type: 'backend',
    apiKey: 'your-apiKey',
    secretKey: 'your-secretKey',
    deviceId: 'fb4e49b6-35e3-42a1-a397-960f0b37ab6a'
})

event.cart()
    .send({
        // se o usuário já estiver logado
        user: {
            id: "9874",
            name: "Fulano da Silva"
        },
        id: "65412324", // Identificador único da transação
        items: [
            {
                pid: "PID_123456",
                sku: "SKU_123456",
                quantity: 2,
                price: 84.91 // caso não seja informado, será considerado o preço setado no catálogo
            },
            {
                pid: "PID_456",
                sku: "SKU_456",
                quantity: 1,
                price: 24.97 // caso não seja informado, será considerado o preço setado no catálogo
            }
        ],
        source: 'mobile',
        salesChannel: ["xablau-12"], //não obrigatório
        url: "https://www.minhaloja.com.br/cart"
    })