TypeScript
Instala y usa @adlass/api.
npm install @adlass/apiEl paquete exporta createAdlassClient, el helper paginate, la clase AdlassError y los tipos generados paths, components y operations. Funciona en cualquier entorno con fetch: Node.js 20+, Deno, Bun, Cloudflare Workers y Vercel Edge.
Crear un cliente
import { createAdlassClient } from "@adlass/api";
const client = createAdlassClient({
token: process.env.ADLASS_API_KEY!,
// baseUrl: "https://dev.adlass.io/v1", // entorno de desarrollo, claves adl_test_
// maxRetries: 3, maxRetryDelayMs: 60_000,
});client es un cliente de openapi-fetch. Rutas, parámetros y cuerpos se verifican en tiempo de compilación contra el esquema.
Leer
const { data, error, response } = await client.GET("/spaces/{space_id}", {
params: { path: { space_id: "123e4567-e89b-42d3-a456-426614174000" } },
});
if (error) throw new Error(`${response.status}: ${error.code}`);
console.log(data.name);error es el cuerpo problem analizado, con code, detail y request_id. Conserva request_id para las solicitudes de soporte.
Escribir
const { data } = await client.POST("/spaces", {
body: { name: "Documentos de clientes" },
headers: { "Idempotency-Key": orderId }, // opcional; si no, se genera un UUID
});Paginar
import { paginate } from "@adlass/api";
for await (const document of paginate((cursor) =>
client.GET("/documents", { params: { query: { limit: 100, cursor } } }),
)) {
console.log(document.file_name);
}paginate sigue next_cursor hasta que sea null y lanza AdlassError cuando falla una página.
Reintentos y cancelación
Las respuestas 429 se reintentan hasta maxRetries veces, esperando Retry-After o un backoff exponencial, nunca más de maxRetryDelayMs. Pasa un AbortSignal mediante signal en cualquier solicitud para cancelar esperas y peticiones. Las redirecciones se rechazan para que una clave nunca salga del origen de la API.