Pular para o conteúdo principal

Dados Financeiros

O Ozzie armazena dados financeiros em dois níveis de granularidade. Entender a diferença é fundamental para construir integrações precisas.

Dois níveis: agregado e granular

Intake Mensal (agregado) Transações (granular)
───────────────────────── ──────────────────────────
monthly_income: R$5.000 2024-01-03 Supermercado R$45
monthly_expenses: R$3.200 2024-01-05 Gasolina R$60
financial_goal: "savings" 2024-01-08 Netflix R$15
2024-01-12 Almoço R$18
...

O intake mensal é o snapshot macro — a "visão geral" que impulsiona a geração do plano. Você o envia uma vez (e atualiza quando a situação do usuário muda). Ele diz ao Ozzie quanto espaço o usuário tem para trabalhar a cada mês.

As transações são o nível micro — eventos individuais de despesas e receitas que constroem um quadro real de gastos ao longo do tempo. Elas são analisadas a partir de linguagem natural, imagens, PDFs ou planilhas usando GPT-4o.

Como eles funcionam juntos

PapelTipo de dadoUsado para
Geração do planoIntake mensalCalcular cronograma, alocações, itens de ação
Insight e coachingTransaçõesTendências de gastos, detalhamentos por categoria, detecção de anomalias
Rastreamento de metasAmbosProgresso = economia/pagamento de dívida real vs. meta do plano
Contexto do chatAmbosO coach de IA vê ambos ao responder perguntas

O intake define o plano. As transações revelam a realidade. O Ozzie os compara para gerar feedback significativo.

Imutabilidade e histórico

Os snapshots de intake mensal nunca são sobrescritos. Cada POST /financial-intake cria um novo registro. O snapshot mais recente é sempre usado para cálculos de plano. Isso fornece um histórico completo de como a situação financeira do usuário mudou ao longo do tempo.

Tratamento de moeda

O Ozzie armazena a moeda por transação (código ISO 4217: USD, BRL, EUR, etc.) inferida da entrada pelo GPT-4o. O intake mensal não tem um campo de moeda explícito — presume-se que esteja na moeda local do usuário. Se seu produto atende múltiplas moedas, inclua contexto de moeda na entrada de texto (ex: "gastei R$45 no supermercado").

O que isso significa para sua integração

  • Chame POST /financial-intake uma vez durante o onboarding, depois atualize quando o perfil de renda ou despesas do usuário mudar significativamente.
  • Chame POST /transactions continuamente — toda vez que um usuário enviar uma despesa, carregar um recibo ou enviar uma mensagem pelo WhatsApp.
  • Quanto mais transações, mais ricos os insights de coaching.

→ Veja Referência da API de Intake Financeiro e Referência da API de Transações