Datos Financieros
Ozzie almacena datos financieros en dos niveles de granularidad. Entender la diferencia es clave para construir integraciones precisas.
Dos niveles: agregado y granular​
Intake Mensual (agregado) Transacciones (granular)
───────────────────────── ──────────────────────────
monthly_income: $5.000 2024-01-03 Supermercado $45
monthly_expenses: $3.200 2024-01-05 Gasolina $60
financial_goal: "savings" 2024-01-08 Netflix $15
2024-01-12 Almuerzo $18
...
El intake mensual es el snapshot macro — la "visiĂłn general" que impulsa la generaciĂłn del plan. Lo envĂas una vez (y lo actualizas cuando cambia la situaciĂłn del usuario). Le dice a Ozzie cuánto margen tiene el usuario para trabajar cada mes.
Las transacciones son el nivel micro — eventos individuales de gastos e ingresos que construyen un panorama real de gastos a lo largo del tiempo. Son analizadas desde lenguaje natural, imágenes, PDFs o hojas de cálculo usando GPT-4o.
Cómo funcionan juntos​
| Rol | Tipo de dato | Usado para |
|---|---|---|
| GeneraciĂłn del plan | Intake mensual | Calcular cronograma, asignaciones, elementos de acciĂłn |
| Insight y coaching | Transacciones | Tendencias de gasto, desglose por categorĂas, detecciĂłn de anomalĂas |
| Seguimiento de metas | Ambos | Progreso = ahorro/pago de deuda real vs. objetivo del plan |
| Contexto del chat | Ambos | El coach de IA ve ambos al responder preguntas |
El intake establece el plan. Las transacciones revelan la realidad. Ozzie los compara para generar retroalimentaciĂłn significativa.
Inmutabilidad e historial​
Los snapshots de intake mensual nunca se sobrescriben. Cada POST /financial-intake crea un nuevo registro. El snapshot más reciente siempre se usa para cálculos del plan. Esto proporciona un historial completo de cómo cambió la situación financiera del usuario a lo largo del tiempo.
Manejo de moneda​
Ozzie almacena la moneda por transacciĂłn (cĂłdigo ISO 4217: USD, BRL, EUR, etc.) inferida de la entrada por GPT-4o. El intake mensual no tiene un campo de moneda explĂcito — se asume que está en la moneda local del usuario. Si tu producto atiende mĂşltiples monedas, incluye contexto de moneda en la entrada de texto (ej: "gastĂ© $45 en el supermercado").
Lo que esto significa para tu integración​
- Llama a
POST /financial-intakeuna vez durante el onboarding, luego actualĂzalo cuando el perfil de ingresos o gastos del usuario cambie significativamente. - Llama a
POST /transactionscontinuamente — cada vez que un usuario envĂe un gasto, suba un recibo o envĂe un mensaje por WhatsApp. - Cuantas más transacciones, más ricos los insights de coaching.
→ Ver Referencia de la API de Intake Financiero y Referencia de la API de Transacciones