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
  }
]