Validações
Cada evento antes de ser enviado passará pelos validadores, para garantir a integridade dos campos obrigatórios ou opcionais de cada página tagueada.
Vamos ver um exemplo do carrinho de compras:
import { EventClient } from '@chaordic/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({
url: "https://www.sephora.com.br/carrinho",
// note aqui que está faltando parâmetros
})
No exemplo acima notamos que não informamos os campos ID e ITEMS do carrinho.
Os validadores entram em ação, vejamos o seu retorno:
ValidationError: [
{
"code": "invalid_type",
"expected": "string", // indica que o valor esperado deve ser do tipo STRING
"received": "undefined",
"path": [
"id" // indica que está faltando o campo ID
],
"message": "Required" // indica que este campo é obrigatório
},
{
"code": "invalid_type",
"expected": "array", // indica que o valor esperado deve ser do tipo ARRAY
"received": "undefined",
"path": [
"items" // indica que está faltando o campo ITEMS
],
"message": "Required" // indica que este campo é obrigatório
}
]