Evento de transação

transaction

O envio desse evento precisa ser impecável, ele é quase um clone do evento de carrinho. É este evento que sinaliza a conclusão da compra e nos indica que o usuário chegou ao fim do funil de conversão, tendo os dados desse evento coletados de maneira correta, alguns comportamentos indesejados podem ser evitados com por exemplo o disparo de um email de abandono de carrinho de um carrinho que foi comprado.

Vamos ver como enviar a coleta do evento de transação do(s) pedido(s). 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 transação.

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

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

event.transaction()
    .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
        },
        {
            pid: "PID_456",
            sku: "SKU_456",
            quantity: 1,
            price: 24.97
        }
    ])
    .deviceId('fb4e49b6-35e3-42a1-a397-960f0b37ab6a')
    .url('https://www.minhaloja.com.br/order/transaction')
    .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 transação.

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.transaction()
    .send({
        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
            },
            {
                pid: "PID_456",
                sku: "SKU_456",
                quantity: 1,
                price: 24.97
            }
        ],
        source: 'mobile',
        salesChannel: ["xablau-12"], //não obrigatório
        url: "https://www.minhaloja.com.br/order/transaction"
    })