Para Desarrolladores

API REST de QuadraProfile: Integra DISC en tu Sistema

Acceso programático completo a QuadraProfile. Documentación OpenAPI, SDKs, ejemplos de código y soporte de desarrollador. Explora nuestras integraciones nativas o revisa las funcionalidades disponibles.

Introducción a la API

La API REST de QuadraProfile te permite integrar nuestra plataforma de evaluación DISC con tus sistemas existentes. Con endpoints bien documentados y autenticación segura, puedes:

  • Crear y gestionar evaluaciones DISC programáticamente
  • Recuperar perfiles y análisis de DISC con IA
  • Generar reportes en tiempo real
  • Sincronizar datos de equipos y miembros
  • Recibir webhooks para eventos importantes

URL Base de la API:

https://api.quadraprofile.cl/v1

Autenticación

QuadraProfile utiliza autenticación por API Key. Cada solicitud debe incluir tu API Key en el header Authorization.

Obtener tu API Key

  1. Inicia sesión en tu cuenta de QuadraProfile
  2. Ve a Configuración > Integraciones > API Keys
  3. Haz clic en "Generar Nueva Clave"
  4. Copia y guarda tu API Key de forma segura

Ejemplo de solicitud:

curl -X GET https://api.quadraprofile.cl/v1/evaluations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Endpoints Principales

POST /evaluations

Crear una nueva evaluación DISC

Inicia una nueva evaluación DISC para uno o múltiples participantes.

Parámetros:

{
  "participants": [
    {
      "email": "user@example.com",
      "name": "Juan Pérez",
      "language": "es"
    }
  ],
  "project_id": "proj_123",
  "expires_in_days": 7
}

Respuesta:

{
  "id": "eval_456",
  "token": "token_abc123",
  "status": "pending",
  "created_at": "2025-11-08T10:30:00Z"
}
GET /profiles/{id}

Obtener perfil DISC individual

Recupera el perfil DISC completo de un participante después de completar la evaluación.

Parámetros de URL:

  • id - ID del perfil (ej: prof_789)

Respuesta:

{
  "id": "prof_789",
  "participant_name": "Juan Pérez",
  "disc_type": "DC",
  "scores": {
    "dominance": 8,
    "influence": 5,
    "steadiness": 4,
    "conscientiousness": 7
  },
  "strengths": ["Liderazgo", "Determinación"],
  "development_areas": ["Paciencia", "Flexibilidad"],
  "ai_insights": "Perfil natural para roles de liderazgo...",
  "created_at": "2025-11-08T11:45:00Z"
}
GET /teams/{id}

Obtener análisis grupal de un equipo

Análisis completo de la dinámica de un equipo con compatibilidad y recomendaciones.

Parámetros de URL:

  • id - ID del equipo

Respuesta:

{
  "id": "team_001",
  "name": "Equipo de Ventas",
  "members_count": 5,
  "distribution": {
    "dominance": 1,
    "influence": 2,
    "steadiness": 1,
    "conscientiousness": 1
  },
  "compatibility_score": 8.2,
  "strengths": ["Dinamismo", "Orientación a resultados"],
  "challenges": ["Falta de detalle", "Cambios frecuentes"],
  "ai_recommendations": "Equipo bien balanceado con potencial de liderazgo..."
}
POST /reports

Generar reporte PDF

Genera reportes en PDF con análisis personalizados e insights de IA.

Parámetros:

{
  "profile_id": "prof_789",
  "report_type": "individual",
  "include_ai_insights": true,
  "language": "es"
}

Respuesta:

{
  "report_id": "rep_123",
  "url": "https://storage.quadraprofile.cl/reports/rep_123.pdf",
  "expires_in_hours": 24,
  "created_at": "2025-11-08T12:00:00Z"
}
GET /analytics

Obtener métricas y analítica

Datos agregados de evaluaciones, perfiles y análisis de tu organización.

Parámetros de query:

  • start_date - Fecha inicial (YYYY-MM-DD)
  • end_date - Fecha final (YYYY-MM-DD)
  • project_id - ID del proyecto (opcional)

Respuesta:

{
  "period": {
    "start": "2025-10-08",
    "end": "2025-11-08"
  },
  "total_evaluations": 42,
  "completed_evaluations": 38,
  "completion_rate": 0.90,
  "distribution": {
    "DC": 8,
    "DI": 10,
    "DS": 12,
    "CS": 8
  }
}

Rate Limits

Plan Starter

  • Requests por minuto: 60
  • Requests por día: 10,000
  • Payload máximo: 1 MB
  • Conexiones simultáneas: 5

Plan Professional

  • Requests por minuto: 300
  • Requests por día: 50,000
  • Payload máximo: 5 MB
  • Conexiones simultáneas: 20

Plan Enterprise

  • Requests por minuto: Custom
  • Requests por día: Ilimitados
  • Payload máximo: 25 MB
  • Conexiones simultáneas: 100+

Webhooks

  • Reintentos: Hasta 5
  • Timeout: 30 segundos
  • Eventos almacenados: 30 días
  • Disponible en: Professional+

Nota: Si alcanzas tus límites de rate, recibirás un estado HTTP 429 (Too Many Requests). Implementa exponential backoff para reintentos.

Webhooks

Los webhooks te permiten recibir notificaciones en tiempo real cuando ocurren eventos importantes en QuadraProfile.

Eventos Disponibles

  • evaluation.created - Nueva evaluación creada
  • evaluation.completed - Evaluación completada
  • profile.generated - Perfil DISC generado
  • report.ready - Reporte listo para descargar
  • team.updated - Datos del equipo actualizados

Ejemplo de Payload de Webhook

{
  "event": "evaluation.completed",
  "timestamp": "2025-11-08T13:15:30Z",
  "data": {
    "evaluation_id": "eval_456",
    "profile_id": "prof_789",
    "participant_email": "user@example.com",
    "status": "completed",
    "disc_type": "DC"
  },
  "webhook_id": "wh_123"
}

Códigos de Error

Código Significado Solución
400 Bad Request Valida los parámetros de tu solicitud
401 Unauthorized Verifica tu API Key
403 Forbidden No tienes permisos para ese recurso
404 Not Found El recurso no existe
429 Too Many Requests Espera antes de realizar nuevas solicitudes
500 Server Error Reintenta más tarde o contacta soporte

Comienza a Integrar Ahora

Acceso a documentación interactiva, ejemplos de código y soporte de desarrollador.