SDK TypeScript
@databolsa/advisor-sdk — cliente tipado da API do Advisor, com tipos gerados do contrato.
npm install @databolsa/advisor-sdkimport { 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
DataBolsaAdvisorErrorcomstatuse oproblem+json(title,detail,code) — trate402/license_requirede404de escopo explicitamente. - Exporta os tipos crus do contrato como
AdvisorPaths.
Opções do cliente
| Opção | Default | Para quê |
|---|---|---|
baseUrl | https://api.databolsa.com | outro ambiente (os paths já trazem /v1/advisor) |
apiKey | — | db_org_… da organização |
credentials | — | "include" quando a sessão vem por cookie same-origin |
fetch | global | injetar 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.