Conexões
Tipos de Conexão
O SDK suporta diferentes modos de conexão baseados no provedor:
Conexão com Chave de API
{
apiKey: string;
config?: BaseConfig;
}
Conexão com Provedor Sofya Compliance
{
provider: "sofya_compliance";
endpoint: string;
config: SofyaComplianceConfig;
}
Conexão com Provedor Sofya As Service
{
provider: "sofya_as_service";
endpoint: string;
config: SofyaSpeechConfig;
}
Tipos de Configuração
BaseConfig
interface BaseConfig {
language: string;
external_id?: string;
record?: boolean;
}
| Campo | Tipo | Descrição |
|---|---|---|
external_id | string (opcional) | Identificador da consulta na sua aplicação. Enviado ao servidor como query param x-external-id em toda conexão — reconexões incluídas — e usado para agrupar as gravações da mesma consulta. Opaco: UUID, hash, id interno; nunca CPF, nome, prontuário legível ou e-mail. Para ser usado literalmente no caminho da gravação: ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$ (letra ou dígito no início, até 64, sem : / espaço acento); fora disso o servidor usa um hash no caminho e guarda o original só nos metadados. Até 512 caracteres. Use o mesmo valor em toda reconexão. |
record | boolean (opcional) | Pede (true) ou recusa (false) a gravação desta sessão no servidor. Omitido, o padrão do ambiente decide — o SDK não envia nada. true só grava se o ambiente permitir; caso contrário a sessão segue normalmente. Gravar nunca altera a transcrição. |
const transcriber = new SofyaTranscriber({
provider: "sofya_as_service",
endpoint: "<wss-url>",
config: {
language: "pt-BR",
external_id: "<id-da-consulta>",
record: true,
},
});
Compatibilidade
external_id e record são aditivos e opcionais. Aplicações que não os usem continuam funcionando exatamente como antes, inclusive contra servidores antigos.
SofyaComplianceConfig
interface SofyaComplianceConfig extends BaseConfig {
token: string;
compartmentId: string;
region: string;
}
SofyaSpeechConfig
interface SofyaSpeechConfig extends BaseConfig {}
Fluxo de Conexão
Fluxo de Conexão com Chave de API
- O SDK autentica com a API Sofya usando a chave de API fornecida.
- A API retorna uma lista de provedores disponíveis e suas configurações.
- O SDK tenta conectar a cada provedor em ordem até que uma conexão bem-sucedida seja estabelecida.
- Uma vez conectado, o SDK emite um evento 'ready'.
Fluxo de Conexão Específico do Provedor
- O SDK tenta conectar diretamente ao provedor especificado usando o endpoint e configuração fornecidos.
- Uma vez conectado, o SDK emite um evento 'ready'.