Esta guía cubre cada cambio importante y deprecación entre SofIA SDK v0.0.x y v1.0.0, con ejemplos de código antes/después y un checklist para completar la migración.
Comienza actualizando a la última versión:
Luego asegúrate de importar el SDK una vez en el archivo de entrada de tu aplicación — esta importación por efecto secundario es la que registra el custom element <sofia-sdk>. Sin ella, el componente nunca se monta:
¿Usas React? Importa el componente y sus estilos desde el subpath /react en su lugar:
¿No estás seguro de si el SDK se registró? Ejecuta customElements.get('sofia-sdk') en la consola del navegador — debería devolver la definición del componente, no undefined.
Resumen de migración
Migración paso a paso
La prop toolsargs ha sido renombrada a template. El contenido del JSON Schema es idéntico — solo cambia el nombre del atributo.
Antes (v0.x):
Después (v1.0):
En v1.0, templateid también es requerido para la generación de reportes. Sin ambos template y templateid, el SDK opera en modo solo-chat.
2. Eliminar isonlychat
El modo solo-chat ahora es automático. Si omites tanto template como templateid, el SDK opera en modo solo-chat sin mostrar el botón de generar.
Antes (v0.x):
Después (v1.0):
3. Eliminar disablegenerate
Para ocultar el botón de generar, omite template y templateid en lugar de configurar un flag.
Antes (v0.x):
Después (v1.0):
4. Eliminar disableactions
Si el componente no debe renderizarse, no lo montes en absoluto en lugar de pasar un flag de deshabilitación.
Antes (v0.x):
Después (v1.0):
5. Eliminar props deprecadas restantes
Elimina estas props por completo — no tienen efecto en v1.0:
6. Actualizar asignaciones de callbacks (específico por framework)
Los callbacks handleReport, setIsOpen y setGetLastReport permanecen sin cambios. Sin embargo, verifica que tus bindings son correctos:
Vanilla JS:
React:
Angular:
7. Eliminar wssurl (v1.0.7+) y simplificar baseurl (v1.0.8+)
Desde v1.0.7, wssurl está deprecada y se ignora — la URL del WebSocket de transcripción la proporciona la API de settings. Elimínala. Para las claves más nuevas, el SDK (v1.0.8) resuelve el endpoint automáticamente, por lo que también puedes quitar baseurl (Omniloy te indica si tu clave lo necesita).
Antes:
Después (clave más nueva):
¿Tu clave todavía requiere baseurl? Mantenlo, pero elimina wssurl igualmente.
Checklist de migración
Usa este checklist para verificar que tu migración está completa:
Habilita debug="true" durante la migración. El SDK registra warnings de deprecación para cualquier prop de v0.x que siga en uso, con el prefijo [Sofia SDK] DEPRECATED:.
Resumen de cambios importantes
Props eliminadas en v1.0
Estas props fueron deprecadas en v0.0.10 y se eliminan en v1.0. Si aún se pasan, no tienen efecto funcional pero emiten warnings de deprecación cuando debug="true" está habilitado.
Nuevos requisitos en v1.0
templateid ahora es requerido junto con template para la generación de reportes
- El botón de generar solo aparece cuando ambos
template y templateid están configurados
template debe ser un JSON Schema Draft-07 válido con $schema, type y properties
Props de conexión (cambiadas en v1.0.7)
apikey — prop de conexión requerida (sin cambios)
wssurl — deprecada e ignorada desde v1.0.7; la URL del transcriptor ahora la proporciona la API de settings — elimínala
Props de conexión (cambiadas en v1.0.8)
baseurl — ahora condicional: opcional para las claves más nuevas (endpoint auto-resuelto), sigue siendo requerida en caso contrario
Sin cambios
Estas props funcionan exactamente igual en v1.0:
userid, patientid — identificadores de sesión requeridos
patientdata — contexto de paciente opcional
language — localización ("es" o "en")
debug — habilita logging detallado
isopen — controla la visibilidad del widget
handleReport — callback de entrega de reportes
setIsOpen — callback de estado de visibilidad
setGetLastReport — recuperación del último reporte