Store Analytics Events (N8N)

Visão Geral

Este fluxo atua como um consumidor de eventos de analytics. Ele é acionado por mensagens na fila RabbitMQ e persiste os dados estruturados em uma coleção no MongoDB.

Objetivo

Garantir a persistência confiável e estruturada dos eventos de analytics para posterior análise e inteligência de dados.

  • Desacoplamento: Processa eventos de forma assíncrona, sem impactar a performance do produtor.
  • Estruturação: Normaliza e prepara os dados antes da inserção no banco.

Diagrama de Fluxo

graph TD
    Start((Início)) --> N1[1-webhook]
    N1 --> N2[2-set-variable---define-json]
    N2 --> N3[3-mongo---insert-into-events-collection]
    
    classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px;
    classDef webhook fill:#e1f5ff,stroke:#0077b6,stroke-width:2px;
    classDef database fill:#e9ecef,stroke:#adb5bd,stroke-width:2px;
    
    class N1 webhook;
    class N3 database;

Variáveis do Fluxo

Variáveis de Entrada (Input)

VariávelOrigemTipoObrigatórioDescriçãoUso no Fluxo
body.event_typewebhookstringSimTipo do eventoPersistido no Mongo
body.metadatawebhookobjectNãoMetadadosPersistido no Mongo
body.payloadwebhookobjectSimDados do eventoPersistido no Mongo

Variáveis Internas (Flow Variables)

VariávelCriada emTipoFonteDescrição
event_typeNó 2stringinput.bodyMapeado para inserção
timestampNó 2numberDate.now()Carimbo de tempo da inserção
metadataNó 2objectinput.bodyObjeto de metadados
payloadNó 2objectinput.bodyObjeto de payload

Fluxo Detalhado

Fase 1: Recepção e Persistência

O fluxo recebe o payload do evento, adiciona um timestamp de processamento e insere o documento na coleção analytics_events do MongoDB.

Nós: 123

Ações:

  1. Webhook (1): Recebe a requisição POST com os dados do evento (simulando o consumo da fila).
  2. Set Variable (2): Extrai os campos do corpo da requisição e gera o timestamp atual.
  3. Mongo Insert (3): Insere o documento JSON formatado na coleção analytics_events.

Dependências Externas

Webhooks / APIs

Webhook Trigger

  • Endpoint: POST https://webhook.kloudbr.net/webhook/event/analytics
  • Propósito: Ponto de entrada para consumo de eventos (integrado à fila RabbitMQ).

Banco de Dados

MongoDB

  • Resource: Document
  • Collection: analytics_events
  • Operation: Insert
  • Campos: event_type, timestamp, metadata, payload

Saída (Output)

Cenários de Finalização

Sucesso

  • Documento inserido com sucesso no MongoDB.

Erro

  • Falha na conexão com o Mongo ou erro de validação do schema (se houver).

3 items under this folder.