Página de Compra
transactionO 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" | |
---|---|---|---|
items | array[{object}] | [{pid: "123", quantity: "2", sku: "12345", price: 18.99}, {...}] | |
pid | string | "123" | |
quantity | string | "2" | |
sku | string | "12345" | |
price | number | 18.99 |
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: "123456",
sku: "123456",
quantity: 2,
price: 84.91
},
{
pid: "456",
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"
})