Saltar al contenido principal

Autenticación

El SDK se autentica mediante claves de API y gestiona los tokens de acceso y refresco automáticamente.

Credenciales

ParámetroTipoRequeridoDescripción
apiBasestringURL base de la API (ej. https://api.example.com/public/v1)
apiKeystringTu clave de API como integrador
apiSecretstringTu secreto de API como integrador
tenantstringUUID del tenant (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
countrystringNoCódigo de país ISO de dos letras (ej. CO, MX)

Opciones del cliente

type HeuristikClientOptions = {
apiBase: string;
apiKey: string;
apiSecret: string;
tenant: string;
country?: string | null;
defaultHeaders?: Record<string, string>;
};

Inicio de sesión

client.init() carga los tokens almacenados y realiza el login si es necesario:

const client = new HeuristikClient({
apiBase: 'https://api.example.com/public/v1',
apiKey: 'your-api-key',
apiSecret: 'your-api-secret',
tenant: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
country: 'CO',
});

await client.init();
// el cliente está autenticado
console.log(client.accessToken); // string | null

Los tokens se almacenan en memoria y se persisten a través del StorageProvider.

Renovación de token

Renueva el token de acceso usando el token de refresco actual:

await client.refreshToken();

Esto actualiza ambos tokens en memoria y en el almacenamiento.

Duración de los tokens
TokenDuración
Token de acceso10 horas
Token de refresco24 horas

El desarrollador es responsable de renovar los tokens antes de que expiren y de almacenarlos de forma segura. Consulta Almacenamiento para opciones de persistencia.

Cierre de sesión

Cierra la sesión y borra todos los tokens:

await client.logout();

Esto elimina los tokens de la memoria y del almacenamiento.

Seguridad

Nunca expongas apiKey ni apiSecret en código del lado del cliente para aplicaciones en producción. Usa un proxy del lado del servidor para gestionar las credenciales.

Peticiones autenticadas

Usa client.auth.request(url, init?) para todas las llamadas a la API. Combina automáticamente los encabezados predeterminados del SDK, el token de Authorization y convierte los fallos de red en NetworkError.