Skip to main content
Uma definição de evento é o molde de um tipo de evento que o seu sistema envia para o PrismaFlow — por exemplo, uma compra (Purchase), um cadastro ou um login. Esse molde diz ao PrismaFlow quatro coisas: quais informações o evento carrega (os campos), de que tipo é cada uma, o que fazer quando chega algo fora do molde, e quais campos viram características da pessoa (os traits do perfil).
Pense no molde como a ficha de um formulário. Depois que ele está definido, todo evento daquele tipo é conferido contra a ficha antes de entrar.

As peças de uma definição

Nome e versão

O nome identifica o tipo de evento (ex.: Purchase). A versão é controlada pelo PrismaFlow — você não precisa se preocupar com ela.

Campos (propriedades)

A lista de informações que o evento carrega e o tipo de cada uma (texto, número, data, lista…).

Modo de validação

Define o que acontece quando um evento chega com campos que não estão no molde.

Trait mappings

Regras que pegam um campo do evento e o gravam como característica no perfil da pessoa.

Onde encontrar

As definições ficam na aba Definições, dentro de Eventos. Cada definição aparece como um cartão, mostrando o modo de validação, a versão e quando foi criada.
Lista de definições de evento com o botão Nova definição em destaque

Criar uma definição

1

Abra o criador

Na aba Definições, clique em Nova definição (canto superior direito).
2

Defina os campos do evento

Aqui você descreve quais informações o evento carrega. Há dois caminhos:
Tela vazia de propriedades com as opções Importar JSON e Criar manualmente
Cole um exemplo real do evento e o PrismaFlow descobre os campos e os tipos sozinho.
Modal Importar JSON com um payload de exemplo
A detecção automática marca todo número como number. Se algum campo precisa ser inteiro (integer), ajuste o tipo manualmente depois de importar.
Os tipos de campo disponíveis:
Lista de tipos: string, number, integer, boolean, date, array, object
TipoO que éExemplo
stringTexto"abc123"
numberQualquer número, inclusive com casas decimais12.5
integerApenas número inteiro, sem casas decimais42
booleanVerdadeiro ou falsotrue
dateUma data ou data com hora2026-04-20T10:00:00Z
arrayUma lista de valores (você escolhe o subtipo)["shirt", "pants"]
objectUm grupo de campos dentro do campo{ "rua": "...", "cep": "..." }
number ou integer? Use number quando o valor pode ter vírgula (preço, peso). Use integer só quando o valor é sempre inteiro (quantidade, idade). Na dúvida, number aceita os dois. Um valor como 12.5 enviado num campo integer é recusado.
Campos date aceitam tanto uma data (2026-04-20) quanto uma data com hora. O PrismaFlow padroniza o valor automaticamente, então você não precisa se preocupar com o formato exato.
3

(Opcional) Promova campos a características do perfil

Um trait mapping pega um campo do evento e o grava como uma característica (trait) no perfil da pessoa. Exemplo: o campo amount da compra vira o trait last_purchase_amount no perfil.
Tela de trait mapping vazia com o aviso sobre o valor mais recente
Para criar, escolha de qual campo vem o valor, qual trait ele alimenta e o tipo do valor.
Modal de novo trait mapping
Lista de trait mappings
O valor mais recente sempre vence. A cada novo evento, o trait é atualizado com o valor que chegou — o anterior é sobrescrito. Para cálculos que somam, contam ou fazem médias ao longo do tempo, use os Computed Traits.
O trait mapping só passa a valer dos próximos eventos em diante — ele não recalcula o histórico já recebido. E você só consegue promover um campo que existe no molde (por isso “Campo do schema” é uma lista, não um texto livre).
4

Dê um nome e escolha o modo de validação

Por fim, informe o nome do evento, uma descrição e tags opcionais, e escolha o modo de validação.
Configuração geral da definição com o modo de validação

Estrito (recomendado)

Eventos que trazem campos fora do molde são recusados e enviados para a Quarentena. Mantém seus dados limpos.

Permissivo

Campos extras passam pela validação. Apenas os campos obrigatórios são conferidos.
No modo Estrito, um evento com campo a mais não some e não retorna erro para o seu sistema — ele é desviado para a aba Quarentena, onde você pode revisar o motivo. Vale a pena dar uma olhada lá de tempos em tempos.
5

Criar definição

Clique em Criar definição. Pronto — a partir daí, todo evento daquele tipo passa a ser conferido contra o molde.

Editar uma definição

Você pode editar uma definição existente a qualquer momento. Enquanto as mudanças são compatíveis (como adicionar um campo opcional, mexer na descrição ou nas tags), elas são salvas direto. Mas algumas mudanças são quebras (breaking changes): elas fariam eventos que já funcionavam passar a falhar. Quando o PrismaFlow detecta uma quebra, ele não deixa sobrescrever a versão atual — é obrigatório criar uma nova versão. Assim, tudo que já estava rodando continua intacto na versão antiga.
Modal Mudanças detectadas com uma quebra e o botão Criar nova versão
O aviso lista cada quebra, explica por que ela quebra e sugere como evitá-la — no exemplo, tornar o campo opcional em vez de obrigatório. Mudanças que contam como quebra incluem:
  • Trocar o modo de validação de Permissivo para Estrito — eventos com campos extras, que antes passavam, passariam a ser recusados.
  • Adicionar um novo campo obrigatório — eventos antigos que não enviam esse campo falhariam na validação.
Criar a nova versão não apaga a anterior: as versões antigas continuam ativas para os eventos que as usam. Como Computed Traits, segmentos e jornadas podem depender do schema, vale revisá-los depois de versionar.

Bom saber

Criar com um nome que já existe cria uma nova versão

Se você criar uma definição com um nome que já existe, o PrismaFlow não substitui a anterior — ele cria uma nova versão (v2, v3…). As versões antigas continuam valendo para os eventos que as usam. Isso evita que uma mudança quebre o que já estava funcionando.

O nome do evento tem regras

O nome deve começar com uma letra (acentos são aceitos) e pode conter letras, números, _ e -, com no máximo 100 caracteres. O próprio formulário mostra essa dica abaixo do campo.

Marcar um campo como obrigatório muda a validação

Campos obrigatórios precisam estar presentes em todo evento. Campos não obrigatórios podem faltar — nesse caso, o evento ainda é aceito.