TypeScript

@adlass/api installieren und verwenden.

npm install @adlass/api

Das Paket exportiert createAdlassClient, den Helfer paginate, die Klasse AdlassError sowie die generierten Typen paths, components und operations. Es läuft überall, wo fetch existiert: Node.js 20+, Deno, Bun, Cloudflare Workers und Vercel Edge.

Client erstellen

import { createAdlassClient } from "@adlass/api";

const client = createAdlassClient({
  token: process.env.ADLASS_API_KEY!,
  // baseUrl: "https://dev.adlass.io/v1", // Entwicklungsumgebung, adl_test_-Schlüssel
  // maxRetries: 3, maxRetryDelayMs: 60_000,
});

client ist ein openapi-fetch-Client. Pfade, Parameter und Bodies werden zur Kompilierzeit gegen das Schema geprüft.

Lesen

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 ist der geparste Problem-Body mit code, detail und request_id. Bewahre request_id für Support-Anfragen auf.

Schreiben

const { data } = await client.POST("/spaces", {
  body: { name: "Kundendokumente" },
  headers: { "Idempotency-Key": orderId }, // optional; sonst wird eine UUID erzeugt
});

Paginieren

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 folgt next_cursor, bis es null ist, und wirft AdlassError, wenn eine Seite fehlschlägt.

Wiederholungen und Abbruch

429-Antworten werden bis zu maxRetries-mal wiederholt; gewartet wird gemäß Retry-After oder exponentiell, nie länger als maxRetryDelayMs. Übergib in jedem Aufruf ein AbortSignal über signal, um Wartezeiten und Requests abzubrechen. Weiterleitungen werden abgelehnt, damit ein Schlüssel nie die API-Origin verlässt.

Auf dieser Seite