@liftitapp/lms-http-client
v1.3.0
Published
Client http library for mf modules
Keywords
Readme
@liftitapp/lms-http-client
Cliente HTTP en TypeScript para los microservicios del LMS (Logistics Management System) de Liftit. Se consume como paquete npm en los módulos micro-frontend.
Instalación
npm install @liftitapp/lms-http-clientUso
import { ApiUser, ApiService, ApiSecurityDocument } from '@liftitapp/lms-http-client';
const options = {
baseUrl: 'https://tu-api.liftit.com/api',
apiVersion: 'v1',
responseTimeOut: 30000,
};
const apiUser = new ApiUser(options);
const authorization = {
Authorization: 'Bearer tu-token',
'Country-Id': '1',
};
const response = await apiUser.getProspects(authorization, 10, 1, '', [], true, 1);Si no se pasan opciones, se usan las de sandbox por defecto.
Clientes disponibles
| Clase | Descripción |
|-------|-------------|
| ApiUser | Usuarios, prospectos, estados |
| ApiSecurityDocument | Documentos de seguridad, estudios |
| ApiValidationProcess | Flujo de validación de documentos |
| ApiService | Servicios logísticos, novedades |
| ApiGeneralLists | Listas generales (bancos, países, tipos) |
| ApiImageServer | Carga y consulta de imágenes |
| ApiGeneric | Operaciones genéricas reutilizables |
Opciones de configuración
interface ApiOPtions {
baseUrl: string; // URL base de la API
apiVersion: string; // Versión (ej: 'v1')
responseTimeOut: number; // Timeout en ms
}Desarrollo
Requisitos previos
- Node.js
- npm
- Acceso a la organización
@liftitappen npmjs.com
Setup
git clone https://github.com/Liftitapp/lms-http-client.git
cd lms-http-client
npm installScripts
npm run build # Compilar TypeScript a lib/
npm run build:dev # Compilar limpio (borra lib/ primero)
npm run format # Formatear código con Prettier
npm run lint # Ejecutar TSLintPublicación a npm
1. Autenticarse en npm
npm loginVerifica que estés logueado:
npm whoamiSi obtienes un error
401 Unauthorized, necesitas hacernpm loginprimero.
2. Verificar pertenencia a la organización
Tu usuario de npm debe ser miembro de la organización @liftitapp. Puedes verificarlo en:
https://www.npmjs.com/settings/liftitapp/members
Si no tienes acceso, pídele a un admin de la org que te agregue.
3. Subir versión
Siempre se debe subir la versión antes de publicar. npm no permite publicar la misma versión dos veces.
# Patch (1.2.64 → 1.2.65) - correcciones menores
npm version patch
# Minor (1.2.64 → 1.3.0) - nuevas funcionalidades
npm version minor
# Major (1.2.64 → 2.0.0) - cambios que rompen compatibilidad
npm version majorEsto automáticamente:
- Ejecuta el linter (
preversion) - Formatea el código y hace stage de los cambios (
version) - Crea un commit con el tag de la nueva versión
- Hace push del commit y los tags (
postversion)
4. Publicar
npm run publish:devResumen rápido
npm login # Solo si no estás autenticado
npm version patch # Subir versión
npm run publish:dev # PublicarEstructura del proyecto
src/
├── index.ts # Exportaciones públicas
├── types.ts # Interfaces compartidas
├── class/ # Clientes API de alto nivel (deserializan respuestas)
├── service/ # Capa HTTP de bajo nivel (apisauce)
├── models/ # Modelos de entidad (~92 archivos)
└── utils/ # Utilidades (headers, query strings, enums)Agregar funcionalidad
Nuevo modelo
- Crear
src/models/miModelo.tscon decoradores@Serializable()y@JsonProperty() - Exportarlo desde
src/models/index.ts
Nuevo endpoint
- Agregar la llamada HTTP en el servicio correspondiente (
src/service/api.ts,serviceApi.ts, etc.) - Agregar el método tipado en la clase correspondiente (
src/class/apiUser.ts, etc.) usandodeserialize<T>()para mapear la respuesta
