DataBolsa docs

SDK TypeScript

@databolsa/advisor-sdk — cliente tipado da API do Advisor, com tipos gerados do contrato.

npm install @databolsa/advisor-sdk
import { DataBolsaAdvisor } from "@databolsa/advisor-sdk";

const advisor = new DataBolsaAdvisor({
  apiKey: process.env.DATABOLSA_ADVISOR_API_KEY, // db_org_… da organização
});

const me = await advisor.getMe();                        // orgs em que posso agir
const org = me.organizations[0].org_slug;

const { data: clients } = await advisor.listClients(org, { status: "active" });
const portfolios = await advisor.listClientPortfolios(org, clients[0].id);
const carteira = await advisor.getPortfolio(org, portfolios.data[0].id);

// Escreve no dado real do escritório — e entra na trilha de auditoria:
await advisor.updateClientProfile(org, clients[0].id, {
  risk_profile: "moderado",
  restrictions: [{ kind: "concentracao", asset_class: "acoes", max_pct: 40 }],
});
  • ESM-only, tipos gerados do contrato do Advisor via openapi-typescript — request e response tipados por lookup no schema.
  • Erros viram DataBolsaAdvisorError com status e o problem+json (title, detail, code) — trate 402/license_required e 404 de escopo explicitamente.
  • Exporta os tipos crus do contrato como AdvisorPaths.

Opções do cliente

OpçãoDefaultPara quê
baseUrlhttps://api.databolsa.comoutro ambiente (os paths já trazem /v1/advisor)
apiKeydb_org_… da organização
credentials"include" quando a sessão vem por cookie same-origin
fetchglobalinjetar um fetch próprio (teste, proxy, retry)

Chave no servidor, nunca no browser

A chave de organização abre o escritório inteiro. Em apps web, chame a API do seu backend e mantenha DATABOLSA_ADVISOR_API_KEY como secret do servidor — nunca em NEXT_PUBLIC_*, bundle de browser ou log.

Código aberto: packages/advisor-sdk.