Python

Instala y usa el paquete adlass.

pip install adlass

Requiere Python 3.10 o superior. El paquete depende de httpx y pydantic.

Crear un cliente

import os
from adlass import Adlass

client = Adlass(
    os.environ["ADLASS_API_KEY"],
    # base_url="https://dev.adlass.io/v1",  # entorno de desarrollo, claves adl_test_
    # timeout=30.0, max_retries=3, max_retry_delay=60.0,
)

Usa el cliente como context manager o llama a client.close() al terminar.

Leer

space = client.request("GET", "/spaces/123e4567-e89b-42d3-a456-426614174000")
print(space["name"])

request() devuelve el cuerpo JSON analizado. Los fallos lanzan AdlassError; error.problem contiene los problem details y error.status el estado HTTP.

from adlass import AdlassError

try:
    client.request("DELETE", "/spaces/123e4567-e89b-42d3-a456-426614174000")
except AdlassError as error:
    print(error.status, error.problem.code, error.problem.request_id)

Escribir

space = client.request(
    "POST",
    "/spaces",
    json={"name": "Documentos de clientes"},
    idempotency_key=order_id,  # opcional; si no, se genera un UUID
)

Paginar

for document in client.paginate("/documents", params={"limit": 100}):
    print(document["file_name"])

paginate() entrega elementos a través de todas las páginas hasta que next_cursor sea null.

Operaciones generadas

client.generated expone el cliente totalmente tipado producido por openapi-python-client, un módulo por operación en adlass.generated.api. Úsalo cuando prefieras modelos attrs en lugar de diccionarios:

from adlass.generated.api.spaces import spaces_list

page = spaces_list.sync(client=client.generated, limit=10)

Reintentos

Las respuestas 429 se reintentan hasta max_retries veces, esperando Retry-After o un backoff exponencial, nunca más de max_retry_delay segundos. No se siguen redirecciones.

En esta página