Package Exports
- @tgtone/core-sdk
- @tgtone/core-sdk/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@tgtone/core-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
🚀 TGT One Core SDK
SDK oficial para integración con TGT One Console Core API.
Gestión de tenants, usuarios, aplicaciones, suscripciones y logs de auditoría.
📦 Instalación
npm install @tgtone/core-sdkDependencias:
- Requiere
tgtone-auth-clientpara autenticación (peer dependency opcional)
⚡ Quick Start
1. Inicializar el SDK
import { TGTCoreSDK } from '@tgtone/core-sdk';
const core = new TGTCoreSDK({
apiUrl: 'https://tgtone-console-backend.run.app/api',
getToken: () => localStorage.getItem('tgtone_auth_token'),
debug: true // Opcional: logs en consola
});2. Usar con Auth SDK
import { TGTAuthClient } from 'tgtone-auth-client';
import { TGTCoreSDK } from '@tgtone/core-sdk';
// 1. Autenticación
const auth = new TGTAuthClient({
identityUrl: 'https://identity.tgtone.cl',
appDomain: window.location.hostname
});
const session = await auth.checkSession();
// 2. Core SDK con token del Auth
const core = new TGTCoreSDK({
apiUrl: 'https://tgtone-console-backend.run.app/api',
getToken: () => localStorage.getItem('tgtone_auth_token')
});
// 3. Usar módulos
const tenant = await core.tenants.get(session.tenantId);
console.log('Tenant:', tenant.name);📚 Módulos Disponibles
| Módulo | Descripción | Métodos |
|---|---|---|
core.tenants |
CRUD de tenants | get(), list(), create(), update(), remove(), getStats() |
core.users |
Gestión de usuarios | list(), get(), invite(), update(), updatePermissions(), remove(), reactivate() |
core.applications |
Catálogo de apps | list(), get(), getBySlug(), listSubscribed() |
core.activity |
Logs de auditoría | getLogs(), getLogsFiltered(), getStats(), exportLogs(), log() |
core.subscriptions |
Suscripciones | list(), get(), create(), update(), cancel() |
📖 Documentación Completa:
- Quick Start Guide - Guía rápida con ejemplos prácticos
- API Reference - Referencia completa de todos los métodos y tipos
🔧 Configuración
interface TGTCoreConfig {
// URL base del backend (sin trailing slash)
apiUrl: string;
// Función para obtener el token JWT
getToken: () => string | null;
// Habilitar logs de debug (default: false)
debug?: boolean;
// Timeout de requests en ms (default: 30000)
timeout?: number;
// Headers adicionales
headers?: Record<string, string>;
}🛡️ Manejo de Errores
import { TGTCoreError } from '@tgtone/core-sdk';
try {
const tenant = await core.tenants.get('invalid-id');
} catch (error) {
if (error instanceof TGTCoreError) {
if (error.isUnauthorized()) {
console.log('Token expirado, redirigir a login');
} else if (error.isNotFound()) {
console.log('Tenant no encontrado');
} else {
console.error('Error API:', error.message);
}
}
}Métodos de error:
error.isUnauthorized()- 401error.isForbidden()- 403error.isNotFound()- 404error.isConflict()- 409error.isValidationError()- 400
📖 Ejemplos Rápidos
Tenants
const tenant = await core.tenants.get(tenantId);
await core.tenants.update(tenantId, { name: 'Nueva Empresa' });
const stats = await core.tenants.getStats(tenantId);Usuarios
const users = await core.users.list(tenantId);
await core.users.invite({
email: 'nuevo@empresa.cl',
firstName: 'Juan',
lastName: 'Pérez',
tenantId,
role: 'admin'
});Activity Logs
const logs = await core.activity.getLogsFiltered(tenantId, {
level: 'error',
startDate: '2025-01-01'
});
await core.activity.log({
action: 'user.login',
level: 'success',
resource: 'user',
resourceId: userId
});Ver más ejemplos en Quick Start Guide
🔗 Links
- Documentación completa:
docs/API.md - Repo: https://github.com/tgt-technology/tgtone-console
- Auth SDK: https://www.npmjs.com/package/tgtone-auth-client
📄 Licencia
MIT © TGT Technology
Versión actual: v1.0.0 (en desarrollo)
Última actualización: 2025-10-30