@eleva-io/erp-sdk

中文文档
0.1.202发布于 2026/11/10MITTypeScriptESM + CJS近 30 天下载 2707

SDK oficial para el ERP de Eleva

原始使用文档
文档目录20 节
  1. Instalación
  2. Uso
  3. En Node.js (CommonJS)
  4. En Node.js (ESM)
  5. En el navegador
  6. Características
  7. Autenticación
  8. API Key + Secret
  9. Token Bearer
  10. Ejemplos
  11. Trabajar con documentos
  12. Trabajar con tareas
  13. Importar tipos específicos
  14. Estructura de Módulos
  15. Resolución de Imports
  16. Proceso de Build
  17. Ventajas de la Estructura Actual
  18. Compatibilidad
  19. Desarrollo
  20. Estructura del Proyecto

ERP SDK - Eleva

SDK oficial para el ERP de Eleva que funciona tanto en navegador como en Node.js.

Instalación

npm install @eleva-io/erp-sdk
# o
yarn add @eleva-io/erp-sdk
# o
pnpm add @eleva-io/erp-sdk

Uso

En Node.js (CommonJS)

const { ERPClient } = require('@eleva-io/erp-sdk');

const client = new ERPClient({
  baseURL: 'https://api.eleva.io',
  apiKey: 'your-api-key',
  apiSecret: 'your-api-secret'
});

// O usando token
const client = new ERPClient({
  baseURL: 'https://api.eleva.io',
  token: 'your-token'
});

En Node.js (ESM)

import { ERPClient } from '@eleva-io/erp-sdk';

const client = new ERPClient({
  baseURL: 'https://api.eleva.io',
  apiKey: 'your-api-key',
  apiSecret: 'your-api-secret'
});

En el navegador

import { ERPClient } from '@eleva-io/erp-sdk';

const client = new ERPClient({
  baseURL: 'https://api.eleva.io',
  apiKey: 'your-api-key',
  apiSecret: 'your-api-secret'
});

Características

  • ✅ Compatible con navegador y Node.js
  • ✅ Soporte para CommonJS y ESM
  • ✅ Tipado completo con TypeScript
  • ✅ Manejo automático de autenticación
  • ✅ Subida de archivos compatible con ambos entornos
  • ✅ Descarga de archivos binarios
  • ✅ Estructura de módulos limpia y organizada
  • ✅ Imports resueltos correctamente para distribución

Autenticación

La librería soporta dos métodos de autenticación:

API Key + Secret

const client = new ERPClient({
  baseURL: 'https://api.eleva.io',
  apiKey: 'your-api-key',
  apiSecret: 'your-api-secret'
});

Token Bearer

const client = new ERPClient({
  baseURL: 'https://api.eleva.io',
  token: 'your-bearer-token'
});

Ejemplos

Trabajar con documentos

// Subir un archivo
const document = await client.horizontal().communities('community-id').documents().create({
  fileName: 'document.pdf',
  fileData: fileBuffer // Buffer en Node.js o Uint8Array en navegador
});

// Descargar un archivo
const fileData = await client.horizontal().communities('community-id').documents().download('document-id');

Trabajar con tareas

// Crear una tarea con adjunto
const task = await client.ticketing().tasks().create({
  title: 'Nueva tarea',
  description: 'Descripción de la tarea',
  // ... otros campos
});

// Agregar un comentario con archivo adjunto
await client.ticketing().tasks().conversations().create(task.id, {
  message: 'Comentario con archivo',
  attachment: {
    fileName: 'archivo.pdf',
    fileData: fileBuffer
  }
});

Importar tipos específicos

// Importar tipos de documentos
import { 
  Document, 
  DocumentStatus,
  CreateDocumentDTO 
} from '@eleva-io/erp-sdk'

// Importar tipos de tareas
import { 
  TicketingTask,
  TicketingTaskStatus,
  CreateTicketingTaskDTO 
} from '@eleva-io/erp-sdk'

// Importar tipos de utilidades
import { 
  PaginatedResponse,
  CrossPlatformBuffer,
  CrossPlatformFile 
} from '@eleva-io/erp-sdk'

Estructura de Módulos

La librería utiliza una estructura de módulos duales para máxima compatibilidad:

dist/
├── cjs/     # CommonJS (Node.js tradicional)
└── esm/     # ESM (Navegadores y Node.js moderno)
  • CommonJS: Para require() en Node.js
  • ESM: Para import en navegadores y Node.js moderno

Resolución de Imports

La librería utiliza rutas relativas para todos los imports internos, lo que garantiza que funcione correctamente cuando se instala como dependencia.

Proceso de Build

  1. Compilación TypeScript: Genera archivos JavaScript con imports relativos
  2. Dual Output: Genera tanto CommonJS como ESM sin necesidad de procesamiento adicional

Ventajas de la Estructura Actual

  • ✅ Sin dependencias adicionales: No requiere tsc-alias ni herramientas externas
  • ✅ Build más rápido: Proceso de compilación simplificado
  • ✅ Menos complejidad: Configuración más simple y mantenible
  • ✅ Compatibilidad total: Funciona en todos los entornos sin problemas

Compatibilidad

  • Node.js: >= 16
  • Navegadores: Todos los navegadores modernos que soporten ES2022
  • TypeScript: >= 4.9

Desarrollo

# Instalar dependencias
pnpm install

# Compilar
pnpm build

# Ejecutar tests
pnpm test

# Linting
pnpm lint

Estructura del Proyecto

src/
├── utils/
│   ├── compatibility.ts  # Utilidades cross-platform
│   ├── http.ts          # Cliente HTTP
│   └── ...
├── modules/
│   ├── horizontal/      # Módulo horizontal
│   ├── ticketing/       # Módulo de tareas
│   └── ...
└── erp.ts              # Cliente principal

版本与发布记录

@eleva-io/erp-sdk 共发布 188 个版本,首次发布于 2025/03/14;过去 12 个月发布了 128 个版本。

版本发布日期距今
0.1.202latest2026/11/103 天前
0.1.2012026/11/049 天前
0.1.2002026/11/0310 天前
0.1.1992026/10/2816 天前
0.1.1982026/10/2816 天前
0.1.1972026/10/2717 天前

关于 @eleva-io/erp-sdk 的常见问题

@eleva-io/erp-sdk 是什么?

SDK oficial para el ERP de Eleva

如何安装 @eleva-io/erp-sdk?

在项目目录运行 npm install @eleva-io/erp-sdk,或使用 pnpm add / yarn add / bun add。

@eleva-io/erp-sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@eleva-io/erp-sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@eleva-io/erp-sdk 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=16。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@eleva-io/erp-sdk 可以商用吗?

@eleva-io/erp-sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@eleva-io/erp-sdk 的下载量有多少?

根据 npm 官方下载统计,@eleva-io/erp-sdk 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,707 次,日均约 90 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@eleva-io/erp-sdk 还在维护吗?

最新版本 0.1.202 发布于 2026/11/10(3 天前);至今共发布 188 个版本,其中过去 12 个月发布了 128 个;首次发布于 2025/03/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。