service

Analytics

Microservicio proxy que reenvía las conversiones a GA4, Meta, Google Ads y Customer.io. Consumidor puro: no publica eventos.

ServiceConsumidor

Overview

analytics es un microservicio FastAPI que actúa como proxy hacia las plataformas de analytics y ads. Consume la conversión y la reenvía en paralelo a los providers habilitados.

No publica ningún evento.

Qué hace con cada evento

  1. 1

    Valida el payload

    Lo parsea contra un DTO de Pydantic (domain/events/OrderCompleted.py). Si falla, loguea y descarta el mensaje.

  2. 2

    Filtra por canal

    Descarta el evento si channel != "web". Las órdenes corporativas, de biglife o de carga de stock no llegan a las plataformas de analytics.

  3. 3

    Deduplica

    Por dedup_key (purchase_{order_id}) contra Redis, para no contar dos veces la misma conversión.

  4. 4

    Fan-out a los providers

    Envía en paralelo (asyncio.gather) a GA4, Customer.io, Google Ads y Meta. Cada provider se puede apagar por flag de entorno.

Segunda vía de entrada: HTTP

El mismo handler está expuesto por POST /api/v1/events (src/application/api.py), que acepta el mismo payload sin pasar por el bus. El contrato del evento es también el contrato de ese endpoint: cualquier cambio de schema impacta en los dos.

Configuración del bus

Definida en src/application/dependencies.py:

ParámetroValor
service_nameanalytics
AdapterGoogle Cloud Pub/Sub
Schema registryEventCatalog (EVENT_CATALOG_URL)
OwnerEcommerce <ecommerce@bigbox.com.ar>
Versión de bigbox-event-bus1.1.10
Subscriptionevent_bus_analytics_payments.order.completed.v1

Arquitectura

subscribed by
publishes
event
routes to
Event
Order Completed(v1)
omega-backend+1
Viewing
Service
Analytics(v1.0.0)
ecommerzeta
Channel
Google Cloud Pub/Subv1.0.0
At least oncepubsub
ecommerzeta
Service
Bigbox Backend(v1.0.0)
omega-backend+2
  • events (1)
  • services (2)
  • channels (1)