Autenticación
El SDK se autentica mediante claves de API y gestiona los tokens de acceso y refresco automáticamente.
Credenciales
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
apiBase | string | Sí | URL base de la API (ej. https://api.example.com/public/v1) |
apiKey | string | Sí | Tu clave de API como integrador |
apiSecret | string | Sí | Tu secreto de API como integrador |
tenant | string | Sí | UUID del tenant (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
country | string | No | Có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.
| Token | Duración |
|---|---|
| Token de acceso | 10 horas |
| Token de refresco | 24 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.
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.
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.