Laddro DocsLaddro Docs

Crear agentes de IA con Laddro

Crear agentes de IA con Laddro

Usa la Laddro Career API para crear agentes autonomos que gestionen tareas de carrera, desde la personalizacion de curriculos hasta solicitudes masivas de empleo.

Que pueden hacer los agentes

Tipo de agenteDescripcion
Agente de personalizacionToma un curriculo y una lista de URLs de empleo, personaliza para cada uno y exporta PDFs
Bot de solicitudesAnaliza un curriculo, busca en bolsas de empleo, personaliza y genera cartas para cada oferta
Agente coach de carreraAnaliza un curriculo, sugiere mejoras y reescribe secciones debiles
Agente de exportacion masivaRenderiza un curriculo con las 22 plantillas y compara los disenos
Agente de preparacion de entrevistasLee un curriculo personalizado y la descripcion del empleo, genera preguntas probables

Arquitectura

Usuario
Agente (Claude Code / LangChain / Personalizado)
Laddro Career API
Analizar currículo
Personalizar para empleo
Generar carta de presentación
Exportar PDF

Tu agente llama a los endpoints de la API directamente (REST) o usa el servidor MCP (para agentes basados en Claude). La API se encarga del procesamiento de IA, renderizado de PDF y almacenamiento de datos.

Opcion 1: Agente basado en MCP (Claude Code)

La forma mas rapida. Configura el servidor MCP y Claude llama a las herramientas automaticamente.

{
  "mcpServers": {
    "laddro": {
      "command": "npx",
      "args": ["-y", "@laddro/career-mcp"],
      "env": {
        "LADDRO_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Luego pide a Claude:

"Parse my resume from resume.pdf, tailor it for this job posting
at https://example.com/senior-engineer, and generate a cover letter.
Export both as PDFs using the Graphite template."

Claude encadenara las llamadas a la API: analizar, personalizar, generar carta y exportar.

Opcion 2: Agente REST API (cualquier framework)

Crea un agente personalizado con cualquier framework: LangChain, CrewAI, AutoGen o codigo puro.

Agente de personalizacion (Python)

import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://api.laddro.com/v1"
HEADERS = {"x-api-key": API_KEY, "Content-Type": "application/json"}

def tailor_for_jobs(resume_id, job_descriptions):
    results = []
    for jd in job_descriptions:
        resp = requests.post(f"{BASE}/tailor", headers=HEADERS, json={
            "resumeId": resume_id,
            "jobDescription": jd
        })
        tailored = resp.json()

        resp = requests.post(f"{BASE}/cover-letters/generate", headers=HEADERS, json={
            "resumeId": resume_id,
            "jobDescription": jd
        })
        cover_letter = resp.json()

        resp = requests.post(f"{BASE}/export", headers=HEADERS, json={
            "resumeId": resume_id,
            "templateId": "graphite"
        })

        results.append({
            "job": jd[:50],
            "tailored": tailored,
            "coverLetter": cover_letter
        })

    return results

Agente con streaming (TypeScript)

const response = await fetch('https://api.laddro.com/v1/tailor', {
  method: 'POST',
  headers: {
    'x-api-key': API_KEY,
    'Content-Type': 'application/json',
    'Accept': 'text/event-stream'
  },
  body: JSON.stringify({ resumeId, jobDescription })
})

const reader = response.body.getReader()
const decoder = new TextDecoder()

while (true) {
  const { done, value } = await reader.read()
  if (done) break

  const lines = decoder.decode(value).split('\n')
  for (const line of lines) {
    if (line.startsWith('data: ')) {
      const event = JSON.parse(line.slice(6))
      if (event.type === 'done') return
      agent.process(event.section, event.content)
    }
  }
}

Endpoints de API para agentes

Los endpoints mas utiles para flujos de trabajo de agentes:

EndpointCreditosCaso de uso
POST /v1/resumes/parse2Importar curriculo desde PDF/DOCX
POST /v1/tailor3Personalizar curriculo para un empleo
POST /v1/cover-letters/generate2Generar carta de presentacion dirigida
POST /v1/export1Exportar curriculo como PDF
PUT /v1/resumes/{id}/render1Renderizar con una plantilla especifica
GET /v1/templates0Listar plantillas disponibles
GET /v1/resumes0Listar curriculos del usuario

Planificacion de creditos para agentes

Flujo tipico para solicitar un empleo:

PasoCreditos
Analizar curriculo (una vez)2
Personalizar para empleo3
Generar carta de presentacion2
Exportar curriculo PDF1
Exportar carta PDF1
Total por empleo9 (7 despues del primer analisis)

Con el plan gratuito (50 creditos/mes) puedes solicitar unos 7 empleos. Los suscriptores (200/mes) pueden hacer unos 28. Compra paquetes de creditos para mayor volumen.

Mejores practicas

  1. Analizar una vez, personalizar muchas — Analiza el curriculo una vez y reutiliza el resumeId para todas las personalizaciones y cartas.
  2. Usar streaming — Para agentes orientados al usuario, usa streaming SSE (Accept: text/event-stream) para que los usuarios vean resultados en tiempo real.
  3. Manejar errores 402 — Verifica el saldo de creditos antes de operaciones masivas. La API devuelve 402 Payment Required cuando se agotan los creditos.
  4. Usar BYOK para volumen — Si estas creando un agente de alto volumen, usa BYOK con tu propia clave de proveedor de IA para evitar costos de IA por solicitud.
  5. Conciencia de rate limits — Endpoints publicos: 30 sol/min. Protegidos: 100 sol/min. Implementa backoff para respuestas 429.

On this page