Conexiones
Tipos de Conexión
El SDK admite diferentes modos de conexión basados en el proveedor:
Conexión con Clave de API
{
apiKey: string;
config?: BaseConfig;
}
Conexión con Proveedor Sofya Compliance
{
provider: "sofya_compliance";
endpoint: string;
config: SofyaComplianceConfig;
}
Conexión con Proveedor Sofya As Service
{
provider: "sofya_as_service";
endpoint: string;
config: SofyaSpeechConfig;
}
Tipos de Configuración
BaseConfig
interface BaseConfig {
language: string;
external_id?: string;
record?: boolean;
}
| Campo | Tipo | Descripción |
|---|---|---|
external_id | string (opcional) | Identificador de la consulta en tu aplicación. Se envía al servidor como query param x-external-id en cada conexión — incluidas las reconexiones — y se usa para agrupar las grabaciones de la misma consulta. Debe ser opaco: UUID, hash o id interno; nunca CPF/DNI, nombre, historia clínica legible o correo electrónico. Para usarse literalmente en la ruta de la grabación: ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$ (letra o dígito al inicio, hasta 64 caracteres, sin :, /, espacios ni acentos); fuera de ese patrón el servidor usa un hash en la ruta y guarda el valor original solo en los metadatos. Máximo 512 caracteres. Usa el mismo valor en cada reconexión. |
record | boolean (opcional) | Solicita (true) o rechaza (false) la grabación de esta sesión en el servidor. Si se omite, el SDK no envía nada y decide el valor por defecto del entorno. true solo graba si el entorno lo permite; de lo contrario la sesión continúa con normalidad. Grabar nunca modifica la transcripción. |
const transcriber = new SofyaTranscriber({
provider: "sofya_as_service",
endpoint: "<wss-url>",
config: {
language: "es-ES",
external_id: "<id-de-la-consulta>",
record: true,
},
});
Compatibilidad
external_id y record son aditivos y opcionales. Las aplicaciones que no los usen seguirán funcionando exactamente igual que antes, incluso contra servidores anteriores.
SofyaComplianceConfig
interface SofyaComplianceConfig extends BaseConfig {
token: string;
compartmentId: string;
region: string;
}
SofyaSpeechConfig
interface SofyaSpeechConfig extends BaseConfig {}
Flujo de Conexión
Flujo de Conexión con Clave de API
- El SDK se autentica con la API Sofya usando la clave de API proporcionada.
- La API devuelve una lista de proveedores disponibles y sus configuraciones.
- El SDK intenta conectarse a cada proveedor en orden hasta que se establece una conexión exitosa.
- Una vez conectado, el SDK emite un evento 'ready'.
Flujo de Conexión Específico del Proveedor
- El SDK intenta conectarse directamente al proveedor especificado usando el endpoint y la configuración proporcionados.
- Una vez conectado, el SDK emite un evento 'ready'.