Clientes e carteiras
Cadastro, famílias, perfil de objetivos e restrições, e carteiras por cliente com posição a mercado.
Cadastro
Cliente é pessoa (person) ou entidade (entity), e nasce como prospect ou
active. Famílias agrupam clientes que se olham juntos (o casal, a holding e a
PF, o grupo familiar).
databolsa-advisor advisorCreateFamily meu-escritorio --name "Família Souza"
databolsa-advisor advisorCreateClient meu-escritorio \
--name "Maria Souza" --kind person --email [email protected] \
--family_id <familyId> --status active
databolsa-advisor advisorListClients meu-escritorio --jsonadvisorSetClientAssignment define o assessor responsável — é ele que decide o
que cada pessoa enxerga quando a organização está em
client_visibility: assigned.
Perfil: o contexto que a IA lê
advisorUpdateClientProfile guarda objetivos, restrições, perfil de risco,
horizonte e notas. Este é o contexto que o chat do escritório, o conector MCP
e os relatórios leem — é o que faz a resposta sair no enquadramento daquele
cliente em vez de genérica.
databolsa-advisor advisorUpdateClientProfile meu-escritorio <clientId> \
--risk_profile moderado --horizon "10 anos" \
--objectives '[{"kind":"aposentadoria","description":"Renda de R$ 15k/mês","target_date":"2038-01-01"}]' \
--restrictions '[{"kind":"setor","description":"Sem tabaco e armas"},{"kind":"concentracao","asset_class":"acoes","max_pct":40}]'Restrições aceitam alvo por symbol, por asset_class e teto em max_pct.
O perfil não versiona por conta própria: o histórico de quem mudou o quê está
na trilha de auditoria.
Carteiras
Cada cliente tem quantas carteiras precisar, em dois tipos:
actual— o que o cliente tem de fato; entra no consolidado dele.proposal— estudo, realocação, proposta comercial. Fica fora do consolidado, então dá para simular sem sujar a posição real.
databolsa-advisor advisorCreateClientPortfolio meu-escritorio <clientId> \
--name "Consolidado" --kind actual
databolsa-advisor advisorGetClientPortfolio meu-escritorio <portfolioId> --json | jq .totalsPosição sai do ledger
Ativos e transações são a fonte; a posição é calculada — quantidade e preço médio do ledger, valor a mercado da cotação do dia. Não existe "corrigir a posição": corrige-se o lançamento.
databolsa-advisor advisorAddClientPortfolioAsset meu-escritorio <portfolioId> \
--asset_type stock --symbol PETR4
databolsa-advisor advisorAddClientPortfolioTransaction meu-escritorio <portfolioId> <assetId> \
--kind buy --trade_date 2026-07-10 --quantity 100 --price 38.10
databolsa-advisor advisorGetClientPortfolioLedger meu-escritorio <portfolioId>Importar de planilha
advisorImportClientPortfolioFile aceita o xlsx de negociação da B3 e CSV — o
mesmo importador do produto, idempotente: reimportar o mesmo arquivo não
duplica lançamento.
databolsa-advisor advisorImportClientPortfolioFile meu-escritorio <portfolioId> \
--file negociacao-2026.xlsxEvolução
advisorGetClientPortfolioHistory devolve a série de uma carteira e
advisorGetClientHistory a do cliente inteiro (todas as actual somadas),
para gráfico de evolução e comparação com benchmark.
Dado pessoal do escritório
Nome, documento, e-mail e perfil do cliente são dados pessoais sob responsabilidade do escritório. O cliente não tem login e não vira usuário do DataBolsa. Ao usar CLI, SDK ou um agente, não copie esses campos para além do que a tarefa pede — e lembre que toda leitura escrita fica auditada.