API de Requisitos para Segmentos
El endpoint /api/site/requirements permite obtener un conjunto de requisitos específicos y recomendaciones técnicas personalizadas basadas en segmentos de audiencia. Esta API es útil para identificar las necesidades técnicas, funcionales y de experiencia de usuario que un sitio debe cumplir para satisfacer a un segmento específico de audiencia.
📊 Requisitos técnicos personalizados para cada segmento
Esta API analiza las necesidades específicas de cada segmento de audiencia y proporciona recomendaciones detalladas sobre aspectos técnicos, funcionales y de contenido que un sitio web debe implementar para optimizar la experiencia de usuario de ese segmento particular. Ideal para diseño centrado en el usuario y desarrollo web personalizado.
Características principales
- Requisitos técnicos y funcionales personalizados para segmentos específicos
- Análisis de necesidades de accesibilidad, rendimiento y usabilidad
- Recomendaciones sobre características y funcionalidades clave
- Puntuaciones de prioridad para cada requisito
- Evaluación de conformidad del sitio actual con los requisitos identificados
- Soporte para diferentes modelos de IA para el análisis de requisitos
- Recomendaciones específicas para dispositivos (móvil, desktop, tablet)
Analizador de Requisitos por Segmento
Prueba el API de requisitos para segmentos con tus propios parámetros.
Parámetros de solicitud
| Parámetro | Tipo | Descripción | Valores posibles | Requerido |
|---|---|---|---|---|
url | string | URL del sitio | URL válida | Sí |
segment_id | string | ID del segmento para el que se analizarán los requisitos | Cualquier ID válido | Sí |
requirement_types | array | Tipos de requisitos a analizar | technical, functional, accessibility, performance, usability, content | No (default: todos) |
limit | number | Número máximo de requisitos | 1-50 | No (default: 15) |
user_id | string | ID del usuario | Cualquier ID válido | No |
site_id | string | ID del sitio | Cualquier ID válido | No |
priority_level | string | Filtrar por nivel de prioridad mínimo | all, critical, high, medium, low | No (default: all) |
device_type | string | Filtrar por tipo de dispositivo | all, mobile, desktop, tablet | No (default: all) |
aiProvider | string | Proveedor del modelo de IA | openai, anthropic, gemini | No |
aiModel | string | ID del modelo de IA | Depende del proveedor | No |
timeout | number | Tiempo máximo de espera en ms | 5000-120000 | No (default: 30000) |
include_implementation | boolean | Si se deben incluir guías de implementación | true, false | No (default: true) |
include_conformity | boolean | Si se debe incluir evaluación de conformidad actual | true, false | No (default: true) |
includeScreenshot | boolean | Si se debe incluir una captura de pantalla del sitio | true, false | No (default: true) |
Ejemplos de uso
Solicitud básica de requisitos
{
"url": "https://ejemplo.com",
"segment_id": "seg_content_creators",
"limit": 15
}Requisitos filtrados por tipo y prioridad
{
"url": "https://ejemplo.com",
"segment_id": "seg_content_creators",
"requirement_types": ["technical", "functional"],
"limit": 10,
"priority_level": "high"
}Requisitos con configuración personalizada
{
"url": "https://ejemplo.com",
"segment_id": "seg_content_creators",
"requirement_types": ["accessibility", "usability"],
"limit": 20,
"device_type": "mobile",
"aiProvider": "anthropic",
"aiModel": "claude-3-5-sonnet-20240620",
"include_implementation": true,
"includeScreenshot": true
}Respuesta
La respuesta incluye los siguientes campos:
| Campo | Tipo | Descripción |
|---|---|---|
url | string | URL del sitio |
segment_id | string | ID del segmento analizado |
requirements | array | Lista de requisitos identificados |
total_requirements | number | Número total de requisitos encontrados |
returned_requirements | number | Número de requisitos devueltos (limitado por limit) |
conformity_score | object | Puntuación de conformidad del sitio con los requisitos |
created_requirements | array | IDs de requisitos creados en la base de datos (solo en modo “create”) |
metadata | object | Metadatos de la solicitud y análisis |
Ejemplo de respuesta completa
{
"url": "https://ejemplo.com",
"segment_id": "seg_content_creators",
"requirements": [
{
"id": "req_12345",
"title": "Editor de imágenes integrado para optimización de contenido visual",
"description": "Implementar una herramienta de edición de imágenes directamente en el CMS que permita a los creadores de contenido recortar, redimensionar, ajustar brillo/contraste y aplicar filtros básicos sin necesidad de software externo.",
"priority": "high",
"status": "pending",
"completion_status": "not_started",
"source": "segment_analysis",
"type": "technical",
"rationale": "Los creadores de contenido necesitan editar imágenes frecuentemente y prefieren soluciones integradas que agilicen su flujo de trabajo.",
"devices": ["desktop", "tablet"],
"implementation": {
"difficulty": "medium",
"estimated_time": "2-3 semanas",
"technologies": ["JavaScript", "Canvas API", "React"],
"suggested_libraries": ["Fabric.js", "Cropper.js"],
"steps": [
"Integrar una biblioteca de edición de imágenes como Fabric.js en el frontend",
"Desarrollar controles de usuario intuitivos para operaciones básicas",
"Implementar sistema de guardado y recuperación de imágenes editadas",
"Asegurar compatibilidad con formatos populares (PNG, JPG, WebP)"
]
},
"conformity": {
"status": "missing",
"score": 0,
"notes": "El sitio actual no ofrece ninguna funcionalidad de edición de imágenes integrada."
},
"impact_score": 0.85,
"created_at": "2024-07-15T16:42:18Z",
"updated_at": "2024-07-15T16:42:18Z"
},
{
"id": "req_23456",
"title": "Programación y automatización de publicaciones en múltiples plataformas",
"description": "Desarrollar una funcionalidad que permita programar publicaciones y sincronizarlas automáticamente con diferentes plataformas sociales (Instagram, TikTok, YouTube, X, etc.).",
"priority": "critical",
"status": "in_progress",
"completion_status": "partial",
"source": "segment_analysis",
"type": "functional",
"rationale": "Los creadores de contenido necesitan mantener presencia consistente en múltiples plataformas y optimizar el tiempo dedicado a tareas repetitivas de publicación.",
"devices": ["all"],
"implementation": {
"difficulty": "high",
"estimated_time": "4-6 semanas",
"technologies": ["Node.js", "OAuth", "APIs de redes sociales"],
"suggested_libraries": ["node-social-api", "contentful-scheduler"],
"steps": [
"Implementar autenticación OAuth para cada plataforma social",
"Desarrollar interfaz de usuario para programación de contenido",
"Crear sistema de colas para gestionar publicaciones programadas",
"Implementar servicios de notificación para éxitos/fallos de publicación",
"Configurar análisis de rendimiento post-publicación"
]
},
"conformity": {
"status": "partial",
"score": 0.3,
"notes": "El sitio actual permite programar publicaciones solo para Instagram, sin sincronización con otras plataformas."
},
"impact_score": 0.95,
"created_at": "2024-07-15T16:42:18Z",
"updated_at": "2024-07-15T16:42:18Z"
},
{
"id": "req_34567",
"title": "Soporte para subtítulos y transcripciones automáticas",
"description": "Implementar generación automática de subtítulos y transcripciones para contenido de video y audio, con posibilidad de editar y corregir manualmente.",
"priority": "high",
"status": "pending",
"completion_status": "not_started",
"source": "segment_analysis",
"type": "accessibility",
"rationale": "Mejora la accesibilidad del contenido para personas con discapacidad auditiva y facilita la distribución multiplataforma del contenido en diferentes formatos.",
"devices": ["all"],
"implementation": {
"difficulty": "medium",
"estimated_time": "3-4 semanas",
"technologies": ["Web Speech API", "FFmpeg", "NLP"],
"suggested_libraries": ["whisper-api", "subtitle.js"],
"steps": [
"Integrar API de reconocimiento de voz (como OpenAI Whisper)",
"Desarrollar editor de subtítulos con sincronización temporal",
"Implementar convertidor de subtítulos a transcripciones completas",
"Añadir soporte para múltiples idiomas",
"Integrar con el reproductor de video existente"
]
},
"conformity": {
"status": "missing",
"score": 0,
"notes": "El sitio actual no ofrece generación de subtítulos ni transcripciones para contenido multimedia."
},
"impact_score": 0.8,
"created_at": "2024-07-15T16:42:18Z",
"updated_at": "2024-07-15T16:42:18Z"
}
],
"total_requirements": 42,
"returned_requirements": 3,
"created_requirements": [],
"conformity_score": {
"overall": 0.45,
"by_type": {
"technical": 0.38,
"functional": 0.52,
"accessibility": 0.31,
"performance": 0.68,
"usability": 0.47,
"content": 0.55
},
"by_priority": {
"critical": 0.33,
"high": 0.42,
"medium": 0.58,
"low": 0.71
}
},
"metadata": {
"request": {
"timestamp": "2024-07-15T16:42:18Z",
"parameters": {
"url": "https://ejemplo.com",
"segment_id": "seg_content_creators",
"requirement_types": ["technical", "functional", "accessibility"],
"limit": 3,
"mode": "analyze"
}
},
"analysis": {
"modelUsed": "claude-3-5-sonnet-20240620",
"aiProvider": "anthropic",
"processingTime": "1.85 seconds",
"segmentDataSource": "seg_content_creators (last updated: 2024-07-10)",
"siteScanDate": "2024-07-15T15:30:22Z",
"status": "success",
"analysisMetrics": [
"Patrones de comportamiento del segmento",
"Necesidades específicas del sector",
"Estándares de accesibilidad WCAG 2.1",
"Mejores prácticas de UX/UI 2024"
]
}
}
}Códigos de estado
| Código | Descripción |
|---|---|
| 200 | Solicitud exitosa |
| 400 | Parámetros inválidos |
| 404 | Segmento no encontrado |
| 429 | Límite de solicitudes excedido |
| 500 | Error interno del servidor |