[Sofia SDK] cuando debug="true" está habilitado.
Para solución de problemas basada en síntomas (por ejemplo, “el componente no se carga”), consulta la guía de Solución de Problemas.
Categorías de error
El SDK clasifica los errores en siete categorías, cada una con un método de logger dedicado:| Categoría | Prefijo | Disparador |
|---|---|---|
config | [Sofia SDK] Configuration Error | Props faltantes o inválidas, el componente no se monta |
auth | [Sofia SDK] Authentication Error | API key inválida, token expirado (HTTP 401) |
api | [Sofia SDK] API Error | Fallos de red, errores del servidor, fallos de generación de reportes |
settings | [Sofia SDK] Settings Error | Fallos de parsing de template, errores al obtener configuración |
audio | [Sofia SDK] Audio Error | Acceso al micrófono denegado, fallos de grabación de audio |
storage | [Sofia SDK] Storage Error | LocalStorage no disponible, fallos de encriptación |
webSocket | [Sofia SDK] WebSocket Error | Fallos de conexión, desconexiones durante transcripción |
Errores de configuración
Propiedades requeridas faltantes
Salida en consola:baseurl, wssurl, apikey) falta o está vacía.
Resolución:
- Verificar que las tres props están configuradas en el elemento
<sofia-sdk> - Comprobar que los valores no son strings vacíos ni
undefined - Asegurar que las URLs usan el protocolo correcto (
https://para baseurl,wss://para wssurl)
Identificadores de sesión faltantes
Salida en consola:userid o patientid falta o está vacío.
Resolución:
- Proporcionar tanto
useridcomopatientidcomo strings no vacíos - Estos valores deben identificar de forma única la sesión actual de doctor y paciente
Errores de autenticación
API key inválida (HTTP 401)
Salida en consola:apikey contiene una API key inválida, expirada o revocada.
Resolución:
- Verificar que la API key es correcta y activa
- Confirmar que estás usando la key correcta para tu entorno (sandbox vs producción)
- Comprobar que la key no ha sido rotada o revocada
- Contactar soporte si la key debería ser válida
URL base incorrecta (HTTP 404)
Salida en consola:baseurl apunta a un endpoint que no existe.
Resolución:
- Verificar que la URL coincide con tu entorno asignado
- Asegurar que no estás mezclando URLs de sandbox y producción
- Revisar errores tipográficos en la URL
Errores de configuración (settings)
Validación de template fallida
Salida en consola:template contiene JSON inválido o le faltan claves requeridas del esquema ($schema, type, properties).
Resolución:
- Validar la sintaxis JSON en jsonlint.com
- Asegurar que el esquema incluye
"$schema": "http://json-schema.org/draft-07/schema#" - Verificar que
"type": "object"está presente - Comprobar que
propertiescontiene al menos una definición de campo - Ver el Checklist de validación del template para más detalles
Fallback al template del servidor
Salida en consola:template local no pudo ser parseada después de tres intentos (JSON.parse, eliminación de prefijo, eval con Function). El SDK usa como respaldo el template configurado en el servidor para tu templateid.
Resolución:
- Corregir el JSON del template local — esto suele ser un error de sintaxis
- Verificar caracteres especiales no escapados en el string del template
- Si se pasa programáticamente, asegurar que se pasa un string JSON, no un objeto JavaScript
Errores de API
Generación de reporte fallida
Salida en consola:- Revisar el mensaje de error específico para obtener detalles
- Verificar la conectividad de red al servidor API
- Asegurar que el esquema del template es válido
- Si el error persiste, reintentar después de unos segundos
- Contactar soporte con el mensaje de error si el problema continúa
Errores de red
Salida en consola:- Verificar la conectividad a internet
- Comprobar si el endpoint API es accesible
- Buscar errores CORS en la consola del navegador
- Verificar que la configuración de firewall/proxy no bloquea el dominio de la API
Errores de audio
Acceso al micrófono denegado
Salida en consola:- Verificar los permisos del navegador — clic en el icono de candado en la barra de direcciones
- Asegurar que la página se sirve sobre HTTPS (requerido para WebRTC)
- Verificar que el hardware del micrófono está conectado y funcional
- En Chrome, ir a
chrome://settings/content/microphonepara verificar los permisos del sitio
Fallo de grabación de audio
Salida en consola:- Probar un micrófono diferente
- Cerrar otras aplicaciones que puedan estar usando el micrófono
- Probar en un navegador diferente (Chrome es recomendado)
- Revisar la consola del navegador para errores WebRTC más específicos
Errores de WebSocket
Fallo de conexión
Salida en consola:- Verificar que
wssurlusa el protocolowss:// - Comprobar la conectividad de red y reglas de firewall
- Asegurar que las conexiones WebSocket no están bloqueadas por proxy
- Verificar que el endpoint WebSocket es correcto para tu entorno
Desconexión durante transcripción
Salida en consola:- Verificar la estabilidad de la red
- El SDK intenta reconexión automática — esperar a que se reconecte
- Si las desconexiones son frecuentes, revisar la infraestructura de red
- Verificar que ningún proxy o firewall está terminando conexiones WebSocket inactivas
Errores de almacenamiento
LocalStorage no disponible
Salida en consola:- Verificar si el navegador está en modo privado/incógnito — algunas funciones pueden no persistir
- Limpiar el almacenamiento del navegador si está lleno
- Verificar que el LocalStorage no está bloqueado por políticas empresariales o configuración del navegador
Errores de validación de entrada
Estos errores ocurren cuando la entrada del usuario falla la validación de seguridad:| Mensaje de error | Causa |
|---|---|
Input exceeds maximum length of {n} characters | El texto de entrada es demasiado largo |
Input contains only whitespace | Entrada vacía o solo espacios en blanco |
URLs not allowed in input | La entrada contiene URLs (bloqueadas por defecto) |
Potentially malicious HTML/JavaScript content detected | Patrones XSS detectados |
Potentially malicious SQL content detected | Patrones de inyección SQL detectados |
Potentially malicious NoSQL content detected | Patrones de inyección NoSQL detectados |
Invalid JSON format | JSON malformado en un campo que espera JSON |
La validación de entrada se ejecuta automáticamente sobre la entrada del usuario. Estos errores son funciones de seguridad y no deben suprimirse. Si texto médico legítimo dispara un falso positivo, contacta soporte con el texto específico que fue rechazado.
Warnings de deprecación
Al usar props deprecadas condebug="true", el SDK emite: