Esta página cubre solución de problemas basada en síntomas — comienza aquí cuando algo no funciona como se espera. Para el catálogo completo de mensajes de error del SDK con la salida exacta en consola, consulta la Referencia de Errores.
Problemas de Inicialización
Propiedades requeridas faltantes o inválidas
Síntomas: El componente muestra mensajes de error detallados en consola y falla al montarse Ejemplo de mensaje de error:- API key inválida: Verificar que la API key es correcta y activa
- Formato de URL inválido: Asegurar que las URLs empiecen con https:// (baseurl) y wss:// (wssurl)
- Propiedades faltantes: Confirmar que todas las propiedades requeridas están proporcionadas
- JSON Schema inválido: Validar que
templatecontiene un JSON Schema Draft-07 válido - Verificar nombres de propiedades: Asegurar ortografía exacta (baseurl, wssurl, apikey, userid, patientid, template)
El componente no se carga
Síntomas: El componente SofIA no aparece en la página Causas comunes:- Script no cargado correctamente
- API key faltante o inválida
- Error en configuración de props
- Verificar que el script se carga sin errores en la consola
- Confirmar que
apikeyestá configurada correctamente - Validar que
baseurlapunta al endpoint correcto - Asegurar que el elemento contenedor existe en el DOM
Error de autenticación
Síntomas: Mensajes de error 401 o 403 en consola Soluciones:- Verificar que tu API key es válida y activa
- Confirmar que estás usando el endpoint correcto (sandbox vs producción)
- Verificar que tu IP está en la lista blanca si aplica
- Contactar soporte si el problema persiste
Problemas de Audio y Transcripción
Audio del micrófono no detectado
Síntomas: La transcripción no inicia o no detecta voz Soluciones:- Permisos del navegador: Asegurar que el navegador tiene permisos de micrófono
- HTTPS requerido: WebRTC requiere conexión HTTPS en producción
- Dispositivo de audio: Verificar que el micrófono está conectado y funcionando
- Configuración del navegador: Verificar configuración de privacidad y audio
Calidad de transcripción deficiente
Síntomas: Texto transcrito con muchos errores Soluciones:- Mejorar calidad de audio (micrófono más cerca, menos ruido)
- Hablar claramente y a velocidad moderada
- Configurar el idioma correcto en el SDK
- Usar audífonos para evitar eco y retroalimentación
Desconexiones frecuentes de WebSocket
Síntomas: Pérdida de conexión durante transcripción Soluciones:- Verificar estabilidad de conexión de red
- El SDK gestiona la reconexión automáticamente. Si las desconexiones persisten, verifica la estabilidad de tu red y la configuración de firewall/proxy.
- Verificar que ningún proxy corporativo o firewall esté terminando conexiones WebSocket inactivas
Problemas de generación de reportes
El reporte no se genera
Síntomas: Al hacer clic en el botón generar no se produce resultado, ohandleReport nunca se ejecuta
Soluciones:
- Verificar template y templateid: Ambos
templateytemplateiddeben estar configurados. Si falta alguno, el botón de generar no aparecerá - Comprobar validez del template: Abre la consola del navegador con
debug="true"y busca mensajes[Sofia SDK] Settings Error. Problemas comunes incluyen$schemafaltante, sintaxis JSON inválida o un template que supera los 100 KB - Asegurar suficiente conversación: La IA necesita contexto de conversación suficiente para extraer datos. Si la conversación no cubre los campos definidos en tu template, el reporte puede estar incompleto o la generación puede fallar
- Comprobar conectividad de red: La generación de reportes requiere una llamada API. Verifica que tu
baseurles accesible y busca mensajes[Sofia SDK] API Erroren la consola - Verificar que el callback está asignado: Asegúrate de que
handleReportestá asignado antes de que el usuario haga clic en generar — consulta los ejemplos específicos por framework más abajo
El reporte está incompleto o vacío
Síntomas:handleReport se ejecuta pero al objeto del reporte le faltan campos esperados
Soluciones:
- Revisar tu esquema template: Los campos listados en
"required"siempre estarán presentes pero pueden contener valores genéricos o vacíos si la conversación no los cubrió - Añadir descripciones a los campos: Usa la propiedad
descriptionen tu JSON Schema para guiar a SofIA sobre qué datos extraer para cada campo - Comprobar patientdata: Proporcionar contexto relevante del paciente a través de
patientdatamejora la precisión de la extracción — consulta Datos del paciente - Habilitar modo debug: Configura
debug="true"y busca mensajes[Sofia SDK] API -que muestran el ciclo de vida de la generación de reportes
Problemas de Configuración
Esquemas JSON inválidos
Síntomas: Errores de validación entemplate
Soluciones:
- Validación de sintaxis: Usar un linter JSON para verificar sintaxis
- Encabezado de esquema: Incluir
"$schema": "http://json-schema.org/draft-07/schema#" - Tipos de datos: Verificar que los tipos coincidan con JSON Schema Draft-07
- Referencias: Asegurar que
$refapunten a definiciones válidas
Payload demasiado grande
Síntomas: Error 413 o mensajes sobre límite de tamaño Soluciones:- Reducir template: Simplificar esquemas, usar
$refpara reutilización - Optimizar patientData: incluir solo datos relevantes para la consulta actual, y usar campos
urlen las notas médicas para referenciar registros externos en lugar de incrustar el contenido completo - Segmentación: Dividir consultas grandes en múltiples sesiones
- Compresión: Eliminar espacios innecesarios y campos opcionales vacíos
Problemas de Integración
Callbacks no se ejecutan
Síntomas:handleReport u otros callbacks no responden
Soluciones:
- Sintaxis correcta: Verificar que los callbacks son funciones válidas
- Contexto: Asegurar que
thisestá correctamente vinculado - Errores previos: Verificar consola para errores que impiden la ejecución
- Configuración de esquema: Confirmar que
requiredestá configurado apropiadamente
Problemas específicos de framework
React:Problemas de Rendimiento
Respuestas lentas
Síntomas: Tiempo excesivo entreGenerate y handleReport
Soluciones:
- Red: Verificar latencia de conexión a servidores
- Datos: Reducir tamaño de
patientDataytemplate - Especialidad: Algunas especialidades requieren más procesamiento
- Cache: Implementar cache para consultas similares
Consumo excesivo de memoria
Síntomas: Navegador lento o se congela después de uso prolongado Soluciones:- Limpiar sesiones: Cerrar sesiones no utilizadas
- Event listeners: Eliminar listeners al destruir componentes
- Referencias: Evitar referencias circulares en callbacks
- Recarga: Implementar recarga periódica para sesiones largas
Depuración y Logging
Habilitar logging detallado
Añadedebug="true" al componente SofIA para activar la salida detallada en consola. Todos los mensajes del SDK tienen el prefijo [Sofia SDK].
Qué registra el modo debug
El modo debug emite mensajes organizados por categoría:| Categoría de log | Prefijo | Qué cubre |
|---|---|---|
| Configuración | [Sofia SDK] Settings - ... | Parsing de template, validación, comportamiento de fallback |
| Autenticación | [Sofia SDK] Auth - ... | Validación de API key, refresco de token |
| Llamadas API | [Sofia SDK] API - ... | Ciclo de vida de generación de reportes (started, completed, failed) |
| WebSocket | [Sofia SDK] WS - ... | Estado de conexión, intentos de reconexión |
configError, authError, apiError, settingsError, audioError, storageError o webSocketError.
Filtrar la salida de consola
En las DevTools de tu navegador, usa el filtro de Consola para aislar los logs del SDK:- Abre DevTools (F12 o Cmd+Option+I)
- Ve a la pestaña Console
- En el campo de filtro, escribe
[Sofia SDK] - Solo se mostrarán los mensajes del SDK, eliminando el ruido de tu aplicación y librerías de terceros
Leer logs de templates
Para depuración específica de templates — incluyendo la referencia completa de logs de consola, checklist de validación y resolución de problemas comunes — consulta Esquemas de datos clínicos — Depuración de tu template.Información útil para soporte
Al contactar soporte técnico, incluir:- Versión del SDK utilizada
- Navegador y versión
- Mensajes de error completos de la consola (filtrar por
[Sofia SDK]) - Configuración de props (sin incluir API keys)
- Pasos para reproducir el problema