Saltar al contenido principal

Ejemplos JavaScript (Node.js / axios)

Instalación

npm install axios

Autenticación

import axios from 'axios';

const api = axios.create({
baseURL: 'https://api.gestia.lat/api/v1',
});

// Obtener token JWT
const { data } = await api.post('/auth/login', {
email: 'tu@correo.com',
password: 'tu-clave',
});

// Configurar el cliente con el token
api.defaults.headers.common.Authorization = `Bearer ${data.accessToken}`;

CRUD básico

// Listar clientes
const customers = await api.get('/customers', { params: { page: 1, limit: 10 } });

// Crear cliente
const nuevoCliente = await api.post('/customers', {
name: 'Carlos Gómez',
email: 'carlos@ejemplo.com',
});

// Crear factura
const factura = await api.post('/invoices', {
customerId: nuevoCliente.data.id,
items: [{ productId: 'uuid-del-producto', quantity: 2, unitPrice: 150000 }],
});

console.log('Factura creada:', factura.data.id);

Manejo de errores y rate limits

try {
await api.get('/customers');
} catch (error) {
if (error.response?.status === 429) {
const retryAfter = error.response.headers['retry-after'];
console.log(`Rate limit: espera ${retryAfter}s`);
}
throw error;
}

Usa variables de entorno para guardar credenciales; jamás las quemes en código.