Skip to main content
Esta guía muestra cómo integrar SofIA SDK en aplicaciones que utilizan JavaScript nativo sin frameworks adicionales.

Configuración inicial

1. Instalación

2. Importación del componente

Implementación básica

Estructura HTML

Configuración JavaScript

Obtener el último reporte

Use el callback set-get-last-report para acceder al último reporte generado para la sesión actual de paciente/usuario. El SDK proporciona una función que retorna una Promise que resuelve al reporte almacenado (o undefined si no existe).
Añada debug="true" al elemento <sofia-sdk> para habilitar logging detallado en consola. Esto es útil durante el desarrollo para rastrear eventos del ciclo de vida del SDK, estado de conexión y validación de configuración.

Gestión de estados

Control de visibilidad

Actualización de datos del paciente

Consulta Datos del paciente para la referencia completa de la estructura de datos.

Manejo de errores

El SDK registra todos los errores en la consola del navegador con el prefijo [Sofia SDK]. Habilita debug="true" para ver la salida detallada de errores. Maneja los errores en tus callbacks con try/catch estándar:
Para la lista completa de mensajes de error y sus pasos de resolución, consulta la Referencia de errores.

Ejemplo completo

Para ver una implementación completa y funcional, consulte nuestro ejemplo en GitHub: Ver ejemplo completo de Vanilla TypeScript → El ejemplo incluye:
  • Configuración completa del proyecto
  • Manejo avanzado de estados
  • Integración con APIs mockadas
  • Gestión de errores robusta
  • Estilado CSS personalizado

Ciclo de vida del componente

Añadir el componente

Espera a que el custom element esté definido antes de configurar los callbacks:

Eliminar el componente (limpieza en SPAs)

Si tu aplicación añade y elimina SofIA dinámicamente (por ejemplo, enrutamiento del lado del cliente), elimina el elemento del DOM al navegar fuera:
El SDK limpia los recursos internos (conexiones WebSocket, streams de audio) automáticamente cuando el elemento se desconecta del DOM.

Consideraciones adicionales

Rendimiento

  • El componente se inicializa de forma lazy para optimizar el tiempo de carga
  • Use customElements.whenDefined() para evitar condiciones de carrera

Seguridad

  • Nunca exponga su apikey en el código del cliente en producción
  • Implemente validación del lado del servidor para todos los reportes
  • Utilice siempre HTTPS para todas las comunicaciones

Próximos pasos

  1. Integración con React
  2. Integración con Angular
  3. Referencia de propiedades requeridas
  4. Referencia de propiedades opcionales