Saltar al contenido principal
POST /processors/:processorId/leads Crea un lead y lo enruta a través de las reglas de un processor para determinar el Agente de destino. El cuerpo de la solicitud es idéntico a Crear Lead(s) pero sin workflow_id: el processor decide a qué Agente entra el lead. El processor evalúa sus reglas de enrutamiento de arriba a abajo. La primera regla donde todas las condiciones coinciden determina el Agente de destino. Si ninguna regla coincide, se usa el Agente por defecto del processor. Soporta solicitudes individuales y masivas (hasta 1,000 leads). En modo masivo, cada lead se evalúa de forma independiente y puede terminar en diferentes Agentes.

Parámetros de Ruta

ParámetroTipoDescripción
processorIdstring (uuid)ID del processor

Cuerpo de la Solicitud

Igual que Crear Lead(s), sin workflow_id:
CampoTipoRequeridoDescripción
first_namestringNombre del lead
last_namestringNoApellido del lead
emailstringNoDirección de email del lead
phonestringNoNúmero de teléfono del lead (requerido si el Agente de destino tiene pasos de llamada)
sourcestringNoOrigen del lead, por defecto “api”
companystringNoEmpresa del lead
titlestringNoCargo del lead
campaign_idstring (uuid)NoID de campaña para etiquetar al lead
metadataobjectNoDatos clave-valor arbitrarios, esto es lo que las reglas de enrutamiento típicamente evalúan
El objeto metadata es la fuente principal para las condiciones de enrutamiento. Incluye todos los campos que las reglas de tu processor necesitan evaluar (ej., language, budget, city, campaign_name).

Ejemplos

Lead individual — enrutado por idioma

curl -X POST https://api.getnexor.ai/api/public/processors/abc-123-uuid/leads \
  -H "Content-Type: application/json" \
  -H "X-API-Key: nxr_live_your_api_key" \
  -d '{
    "first_name": "Tony",
    "last_name": "Stark",
    "phone": "+5215512345678",
    "email": "tony.stark@gmail.com",
    "source": "meta_ads",
    "metadata": {
      "language": "ES",
      "campaign_name": "Q1 Launch"
    }
  }'

Lead individual — enrutado por presupuesto + ciudad

curl -X POST https://api.getnexor.ai/api/public/processors/abc-123-uuid/leads \
  -H "Content-Type: application/json" \
  -H "X-API-Key: nxr_live_your_api_key" \
  -d '{
    "first_name": "Tony",
    "last_name": "Stark",
    "phone": "+5215598765432",
    "metadata": {
      "budget": 750000,
      "city": "CDMX",
      "property_type": "departamento"
    }
  }'

Masivo — enrutamiento mixto

Cada lead se evalúa de forma independiente y puede terminar en diferentes Agentes:
curl -X POST https://api.getnexor.ai/api/public/processors/abc-123-uuid/leads \
  -H "Content-Type: application/json" \
  -H "X-API-Key: nxr_live_your_api_key" \
  -d '[
    {
      "first_name": "Tony",
      "phone": "+5215512345678",
      "metadata": { "language": "ES" }
    },
    {
      "first_name": "Tony",
      "phone": "+12025551234",
      "metadata": { "language": "EN" }
    }
  ]'

Respuestas

201 — Lead(s) creado(s) y enrutado(s)

Respuesta de lead individual:
{
  "success": true,
  "lead": {
    "id": "lead-uuid",
    "first_name": "Tony",
    "last_name": "Stark",
    "email": "tony.stark@gmail.com",
    "phone": "+5215512345678",
    "source": "meta_ads",
    "metadata": {
      "language": "ES",
      "campaign_name": "Q1 Launch"
    },
    "created_at": "2026-03-31T12:00:00Z"
  },
  "workflow_run": {
    "id": "run-uuid",
    "job_id": "job-123",
    "workflow": {
      "id": "uuid-of-es-workflow",
      "name": "Enlace de Pago Enviado"
    },
    "cadence": {
      "stepIndex": 0,
      "channel": "call",
      "attemptNumber": 1,
      "maxAttempts": 3,
      "totalSteps": 5
    }
  },
  "routing": {
    "processor_id": "abc-123-uuid",
    "processor_name": "Language Router",
    "matched_rule": {
      "id": "rule-2-uuid",
      "name": "Spanish leads",
      "position": 2
    }
  }
}
Cuando se usa el Agente por defecto (ninguna regla coincidió):
{
  "success": true,
  "lead": { "..." : "..." },
  "workflow_run": { "..." : "..." },
  "routing": {
    "processor_id": "abc-123-uuid",
    "processor_name": "Language Router",
    "matched_rule": null
  }
}
Respuesta masiva:
{
  "success": true,
  "results": [
    {
      "success": true,
      "lead": { "id": "lead-1-uuid", "first_name": "Tony", "..." : "..." },
      "workflow_run": {
        "id": "run-1-uuid",
        "workflow": { "id": "uuid-es", "name": "Enlace de Pago Enviado" }
      },
      "routing": {
        "processor_id": "abc-123-uuid",
        "processor_name": "Language Router",
        "matched_rule": { "id": "rule-2-uuid", "name": "Spanish leads", "position": 2 }
      },
      "index": 0
    },
    {
      "success": true,
      "lead": { "id": "lead-2-uuid", "first_name": "Tony", "..." : "..." },
      "workflow_run": {
        "id": "run-2-uuid",
        "workflow": { "id": "uuid-en", "name": "Payment Link Sent" }
      },
      "routing": {
        "processor_id": "abc-123-uuid",
        "processor_name": "Language Router",
        "matched_rule": { "id": "rule-1-uuid", "name": "English leads", "position": 1 }
      },
      "index": 1
    }
  ],
  "summary": {
    "total": 2,
    "created": 2,
    "failed": 0
  }
}

400 — Error de validación

{
  "error": "Validation error",
  "message": "first_name is required"
}
Otros errores de validación:
  • "Processor is misconfigured: default workflow is inactive or deleted"
  • "phone is required when assigning to a workflow with call steps"
  • "Maximum 1000 leads per request"

401 — Error de autenticación

Ver Autenticación.

404 — Processor no encontrado

{
  "error": "Not found",
  "message": "Processor not found or does not belong to your account"
}

500 — Error interno del servidor

Última modificación el 18 de junio de 2026