@arisnetxsolutions/quantum-core-sdk
v1.2.17
Published
QuantumCore CMS SDK for JavaScript and TypeScript
Readme
QuantumCore SDK 📦 🛡️
Librería oficial de QuantumCore CMS para el consumo de contenido de forma tipada, segura y eficiente. Diseñada especialmente para integraciones con React, Next.js, Vue y cualquier entorno Moderno de JavaScript/TypeScript.
🔥 Características Principales
- 💎 Type-Safe: Aprovecha el poder de TypeScript con interfaces completas para todos tus modelos.
- 🚀 Zero Config: Inicialización rápida con solo tu API Key y URL del servidor.
- 🔐 Dual Auth: Soporta tanto el consumo público (API Keys de Proyecto) como la gestión administrativa (JWT).
- 🖼️ Asset Management: Sistema integrado para obtener URLs absolutas de imágenes y archivos.
- 📑 Modular: Separación clara entre Blog, Servicios, Galería y Funciones Administrativas.
⚙️ Instalación
Instala el paquete mediante npm:
npm install @arisnetxsolutions/quantum-core-sdk🌐 CDN (Vanilla JS)
Si prefieres usar el SDK directamente en el navegador sin herramientas de construcción, puedes usar jsDelivr:
<!-- Carga la última versión 1.1.x -->
<script src="https://cdn.jsdelivr.net/npm/@arisnetxsolutions/quantum-core-sdk@latest"></script>
<!-- O simplemente (usa el campo 'jsdelivr' del package.json) -->
<script src="https://cdn.jsdelivr.net/npm/@arisnetxsolutions/[email protected]"></script>
<script>
const qc = new QuantumCore({
baseUrl: 'https://tu-api.com/api/v1',
apiKey: 'tu_api_key_de_proyecto'
});
</script>🚀 Inicio Rápido
Inicialización del Cliente
Obtén tu API Key desde el panel de administración de QuantumCore en la sección "Proyectos".
import { QuantumCore } from '@arisnetxsolutions/quantum-core-sdk';
const qc = new QuantumCore({
baseUrl: 'https://tu-api.com/api/v1',
apiKey: 'tu_api_key_de_proyecto'
});📖 Módulos de Contenido (Público)
📰 Blog & Posts
Obtén tus artículos con soporte para paginación y SEO completo.
// Listar todos los posts
const { data, pagination } = await qc.blog.getAll({ page: 1, limit: 12 });
// Obtener detalle por slug (Ideal para rutas dinámicas)
const post = await qc.blog.getBySlug('el-futuro-del-desarrollo-web');
// Obtener por ID
const postById = await qc.blog.getById(42);🛠️ Servicios
Gestiona tu catálogo de servicios, planes de precios y FAQs.
// Listar servicios
const { services } = await qc.services.getAll();
// Obtener detalle completo
const service = await qc.services.getBySlug('desarrollo-personalizado');🖼️ Galería de Imágenes
Acceso directo a tus activos visuales organizados por categorías.
// Obtener imágenes de una categoría específica
const images = await qc.gallery.getAll({ category: 'Proyectos 2024' });
// Obtener URL absoluta de una imagen del CMS
const imagePath = images[0].url;
const fullUrl = qc.getImageUrl(imagePath);📝 Formularios & Captura de Datos
Envía datos de contacto, registros o cualquier formulario directamente al CMS.
// Enviar datos de un formulario
const result = await qc.forms.submit({
formId: 'contacto-web', // Requerido
nombre: 'Alex Arismendi', // Requerido (o 'name')
correo: '[email protected]', // Requerido (o 'email')
empresa: 'ArisNetX', // Opcional (abierto)
mensaje: 'Me interesa...' // Opcional (abierto)
});
console.log('ID de entrega:', result.submissionId);🔒 Gestión Administrativa (Auth)
El SDK permite realizar operaciones que requieren autenticación de administrador (JWT).
// 1. Iniciar sesión para obtener el token
const { token, user } = await qc.admin.login({
email: '[email protected]',
password: 'tu_password_seguro'
});
// El SDK guarda el token automáticamente para futuras peticiones Admin
// 2. Crear un nuevo post desde el SDK
const newPost = await qc.admin.posts.create({
title: 'Anuncio Importante',
content: '<p>Contenido detallado...</p>',
status: 'Published'
});
// 3. Subir archivos
const formData = new FormData();
formData.append('image', file);
const uploadedImage = await qc.admin.images.upload(formData);
// 4. Obtener estadísticas globales
const stats = await qc.admin.getStats();🛠️ API Reference
Clase QuantumCore
| Método | Descripción |
| :--- | :--- |
| blog | Acceso a posts y artículos. |
| services | Acceso a catálogo de servicios. |
| gallery | Acceso a imágenes y media. |
| forms | Envío y captura de datos de formularios. |
| admin | Operaciones CRUD y configuración (Requiere Auth). |
| getImageUrl(path) | Convierte un path relativo en una URL absoluta funcional. |
🏗️ Desarrollo & Publicación
Para contribuidores o actualizaciones del SDK:
- Modifica el código en
src/. - Compila el proyecto:
npm run build - Publica en el registro de NPM:
npm publish --access public
🛡️ Soporte
Creado con ❤️ por el equipo de ArisnetX Solutions. Si encuentras un bug o tienes una sugerencia, contacta con soporte técnico.
