--- title: "Descripción General" url: https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/overview/ description: "Descripción general del SDK de Node.js" last_updated: 2026-08-06T05:54:02Z service: All Services type: general related_links: - name: "Catalyst Java SDK" url: /es/sdk/java/v1/overview/ - name: "Catalyst Web SDK" url: /es/sdk/web/v4/overview/ - name: "API Code Reference" url: /es/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser - name: "Catalyst Functions" url: /es/serverless/help/functions/introduction --- # Node JS SDK ## Descripción General El SDK de Node JS cuenta con todos los métodos necesarios para acceder a los componentes y servicios de Catalyst. Te permite declarar y definir componentes de Catalyst cuyo comportamiento está predefinido. Por ejemplo, cada componente de Catalyst tiene su objeto equivalente en NodeJS dentro del SDK, y los equivalentes de API se denominan métodos en NodeJS. ### Include Catalyst SDK in Project Si eliges la opción **install dependencies** en el CLI al inicializar una función de Node.js, el SDK de Node.js se incluirá automáticamente en el código boilerplate de ejemplo generado. Sin embargo, también puedes incluirlo manualmente en tu proyecto ejecutando el siguiente comando desde el directorio raíz de la función en el CLI: ```json npm install zcatalyst-sdk-node ``` También puedes instalar la última versión compatible de esta manera: ```json npm install zcatalyst-sdk-node@2.5.0 ``` > **Nota:** Todas las versiones del paquete `zcatalyst-sdk-node` anteriores a la 2.5.0, incluyendo las versiones beta, están ahora obsoletas. Por favor, actualiza a la última versión para asegurar el acceso completo a todos los métodos de Node.js en tu aplicación. ### Initialize the SDK El SDK de Catalyst para Node.js debe inicializarse, lo cual retornará un objeto. Puedes acceder a los componentes de Catalyst del proyecto actual a través de este objeto retornado. Los diferentes métodos de inicialización para los distintos tipos de funciones se muestran a continuación. **SDK Initialization in Advanced I/O Functions with the Basic Template** ```javascript var catalyst = require('zcatalyst-sdk-node'); module.exports = (req, res) => { var app = catalyst.initialize(req); //Esta variable app se usa para acceder a los componentes de Catalyst. //Puedes consultar la documentación del SDK para ejemplos de código. //Tu lógica de negocio va aquí } ``` **SDK Initialization in Advanced I/O Functions with Express.js** ```javascript var catalyst = require('zcatalyst-sdk-node'); const express = require('express'); const expressApp = express(); expressApp.get('/',(req,res)=> { var app = catalyst.initialize(req); //Esta variable app se usa para acceder a los componentes de Catalyst. //Puedes consultar la documentación del SDK para ejemplos de código. //Tu lógica de negocio va aquí }); module.exports=expressApp; ``` **SDK Initialization in BasicIO Functions** ```javascript const catalyst = require('zcatalyst-sdk-node'); module.exports = (context, basicIO) => { const app = catalyst.initialize(context); //Esta variable app se usa para acceder a los componentes de Catalyst. //Puedes consultar la documentación del SDK para ejemplos de código. //Tu lógica de negocio va aquí } ``` **SDK Initialization in Event Functions** ```javascript const catalyst = require('zcatalyst-sdk-node'); module.exports = (event, context) => { const app = catalyst.initialize(context); //Esta variable app se usa para acceder a los componentes de Catalyst. //Puedes consultar la documentación del SDK para ejemplos de código. //Tu lógica de negocio va aquí } ``` **SDK Intialization in Cron Functions** ```javascript const catalyst = require('zcatalyst-sdk-node'); module.exports = (cronDetails, context) => { const app = catalyst.initialize(context); //Esta variable app se usa para acceder a los componentes de Catalyst. //Puedes consultar la documentación del SDK para ejemplos de código. //Tu lógica de negocio va aquí } ``` Ahora puedes acceder a los componentes usando la variable inicializada. ### Initialize SDK With Scopes Catalyst te permite inicializar el SDK en un proyecto utilizando los siguientes alcances: * **Admin**: Tienes acceso sin restricciones a todos los componentes y sus respectivas funcionalidades. Por ejemplo, tienes acceso completo a [Data Store](https://docs.catalyst.zoho.com/es/cloud-scale/help/data-store/introduction/) para realizar todas las operaciones como lectura, escritura, eliminación, etc. * **User**: Puedes restringir el acceso a componentes y funcionalidades específicas. Por ejemplo, puedes proporcionar acceso de solo lectura a Data Store. > **Nota:** * No es obligatorio inicializar los proyectos con alcances. Por defecto, un proyecto inicializado tendrá privilegios de *Admin*. * Asegúrate de haber inicializado el SDK de Catalyst con el alcance apropiado mientras desarrollas tu lógica de negocio. Los permisos que definas para tu alcance controlan las acciones de tus usuarios finales. * Los alcances solo aplican a operaciones relacionadas con [Data Store](https://docs.catalyst.zoho.com/es/cloud-scale/help/data-store/introduction/), y [ZCQL](https://docs.catalyst.zoho.com/es/cloud-scale/help/zcql/introduction/). * Dependiendo de cómo desarrolles tu lógica de negocio, puedes decidir si tus usuarios finales pueden realizar acciones de *Admin* o *User*. Esto se decide en función del [rol](https://docs.catalyst.zoho.com/es/cloud-scale/help/authentication/user-management/roles/introduction/) asignado a tu usuario final cuando se registra en tu aplicación en Catalyst Authentication. Los permisos para los roles se pueden configurar en la sección *Scopes & Permissions* de [Data Store](https://docs.catalyst.zoho.com/es/cloud-scale/help/data-store/scopes-and-permissions/). Los fragmentos de código del SDK a continuación te permitirán inicializar el SDK usando el alcance *Admin* o *User*, y realizar una consulta **SELECT** en Data Store: * **Inicializar el SDK con alcance Admin** ```javascript const catalyst = require('zcatalyst-sdk-node'); module.exports = async (req, res) => { const app = catalyst.initialize(req); const adminApp = catalyst.initialize(req, { scope: 'admin'}); // objeto de la app Catalyst con alcance de administrador await adminApp.zcql().executeZCQLQuery('select * from test'); } ``` * **Inicializar el proyecto de Catalyst con alcance User** ```javascript const catalyst = require('zcatalyst-sdk-node'); module.exports = async (req, res) => { const app = catalyst.initialize(req); const userApp = catalyst.initialize(req, { scope: 'user'}); // objeto de la app Catalyst con alcance de usuario await userApp.zcql().executeZCQLQuery('select * from test'); } ```