Skip to main content
Resumen de lo que exporta @qcobro/sdk. Para las guías por tarea, empieza por Visión general del SDK.

Exports

import {
  Client,
  ValidationError,
  type ClientOptions,
  type Tokens,
  type FieldError,
  PortfoliosResource
} from "@qcobro/sdk";
ExportTipoDescripción
ClientclaseEl cliente de la API. Posee la conexión y el ciclo de autenticación, y expone los recursos.
ClientOptionsinterfazOpciones del constructor de Client.
TokensinterfazTokens emitidos (accessToken, refreshToken, idToken).
PortfoliosResourceclaseEl recurso de carteras, accesible vía client.portfolios.
ValidationErrorclaseError de validación en cliente, con detalle por campo.
FieldErrorinterfazUn fallo de validación por campo (field, message, code).

Client

El cliente de la API. Se construye una vez y se reutiliza.
const client = new Client(options: ClientOptions);
MiembroFirmaDescripción
portfoliosPortfoliosResourceOperaciones de carteras (ver abajo).
trpcproxy tipadoAcceso directo a la API tRPC subyacente, para procedimientos que el SDK aún no envuelve. Prefiere los recursos cuando existan.
login(input) => Promise<Tokens>Autentica con email y contraseña.
loginWithApiKey(input) => Promise<Tokens>Autentica con una API key de workspace.
refresh(refreshToken?) => Promise<Tokens>Cambia el token de refresco por un nuevo token de acceso.
useWorkspace(accessKeyId) => thisSelecciona el workspace activo.
workspacestring | undefinedEl accessKeyId del workspace activo.
getTokens() => TokensDevuelve los tokens que tiene el cliente (en memoria).
setTokens(tokens) => thisReemplaza los tokens del cliente (para reanudar una sesión).
Consulta Autenticación y tokens para el ciclo completo.

PortfoliosResource

Accesible vía client.portfolios. No se construye directamente. Todos los métodos están acotados al workspace activo y validan su entrada en el cliente.
MétodoFirmaDescripción
list(input?) => Promise<...>Lista las carteras del workspace activo.
get({ id }) => Promise<...>Obtiene una cartera por id.
create({ name, clientId }) => Promise<...>Crea una cartera.
update({ id, name?, archived? }) => Promise<...>Actualiza o archiva/restaura una cartera.
delete({ id }) => Promise<...>Elimina una cartera.
listAccounts({ portfolioId, limit?, offset? }) => Promise<...>Lista una página de cuentas de una cartera.
syncAccounts({ portfolioId, mode, rows }) => Promise<...>Sincroniza un lote de cuentas en una cartera.
Detalle de cada método en Gestionar carteras y Sincronizar cuentas.

El escape hatch trpc

Cuando un procedimiento de la API todavía no tiene método de recurso, llámalo directamente por el proxy tipado client.trpc. Sigue beneficiándose de los tipos de extremo a extremo.
// Ejemplo: invocar un procedimiento que el SDK aún no envuelve.
const result = await client.trpc.someRouter.someProcedure.query(input);
Prefiere los recursos (client.portfolios, …) cuando existan; client.trpc es la vía para lo que todavía no está envuelto.

ValidationError y FieldError

Error estructurado que el SDK lanza cuando una entrada no pasa la validación en el cliente. Su forma completa está en Validación y errores.
class ValidationError extends Error {
  code: "VALIDATION_ERROR";
  fieldErrors: FieldError[];
  toJSON(): { code: string; message: string; fieldErrors: FieldError[] };
}

interface FieldError {
  field: string;
  message: string;
  code: string;
}