dcos-core-monalisav2-latam
v1.4.6
Published
Esta biblioteca centraliza la lógica de Monalisa V2, permitiendo la integración de sus funcionalidades clave (integraciones con ERP, gestión de órdenes, políticas financieras y utilidades de VTEX) en múltiples aplicaciones. ## **🛠️ Pasos de Instalación y
Readme
Monalisa V2 Core Library
Esta biblioteca centraliza la lógica de Monalisa V2, permitiendo la integración de sus funcionalidades clave (integraciones con ERP, gestión de órdenes, políticas financieras y utilidades de VTEX) en múltiples aplicaciones.
🛠️ Pasos de Instalación y Configuración
1. Requisitos
Asegúrese de que su proyecto utiliza Node.js y un gestor de paquetes (npm o yarn).
2. Instalación de la Librería
Utilice npm o yarn para incluir la librería dcos-core-monalisav2-latam en su proyecto:
Usando npm
npm install dcos-core-monalisav2-latamUsando yarn
yarn add dcos-core-monalisav2-latam3. Configuración de Alias de Módulo (Opcional)
Si su proyecto Monalisa V2 original utilizaba module-alias, esta librería ya lo incluye como dependencia. Sin embargo, para que los helpers y referencias internos funcionen correctamente dentro de su aplicación, asegúrese de que el proyecto consumidor esté configurado para reconocer los paths si es necesario.
🚀 Uso de la Librería
Todas las funciones están exportadas directamente desde el módulo principal. Se dividen en dos categorías principales: Funciones Lambda (puntos de entrada directos) y Consumers SQS (manejadores de colas).
1. Importación (Destructuring)
Se recomienda utilizar destructuring para importar únicamente las funciones que necesita usar:
JavaScript
// index.js o archivo de handler de su aplicación
const {
` `clients\_producer,
` `orders\_get,
` `helpperVtex\_getClientById
} = require('dcos-core-monalisav2-latam');2. Ejecución
A. Uso de Funciones Lambda (clientFuntions)
Utilice estas funciones para iniciar procesos asíncronos o manejar solicitudes síncronas.
JavaScript
const { clients\_producer } = require('dcos-core-monalisav2-latam');
/\*\*
` `\* Ejemplo: Iniciar la sincronización de clientes con el ERP
` `\* @param {Object} payload - Datos de entrada, incluyendo 'data' (clientes) y 'an' (account name).
` `\*/
async function iniciarSincronizacion(datosClientes, accountName) {
` `try {
` `const payload = {
` `data: datosClientes,
` `an: accountName
` `};
` `const resultado = await clients\_producer(payload);
` `console.log('Productor iniciado exitosamente:', resultado);
` `} catch (error) {
` `console.error('Error al iniciar productor:', error);
` `}
}B. Uso de Consumers SQS (clientConstructor)
Utilice estas funciones como handlers para el evento que recibe su aplicación desde una cola SQS.
JavaScript
const { inventory\_queue } = require('dcos-core-monalisav2-latam');
/\*\*
` `\* Handler registrado en AWS/GCP/Azure para la cola de Inventario.
` `\* @param {Object} sqsEvent - El evento estándar recibido de la cola SQS.
` `\*/
async function inventorySqsHandler(sqsEvent) {
` `// El consumer se encarga de iterar los records y ejecutar la lógica de negocio.
` `return inventory\_queue(sqsEvent);
}📚 Índice de Funciones Exportadas (API)
A. ☁️ Funciones Lambda Expuestas (clientFuntions)
|Dominio|Función Expuesta|Propósito| | :- | :- | :- | |Integraciones ERP|inventory_producer, prices_producer, clients_producer, orders_status_producer, orders_hook_producer, affiliates_hook_producer|Inicia el procesamiento de datos y hooks desde el ERP (inventario, precios, clientes, órdenes, afiliados).| |Cuentas y CRON|account_validation_handler_all, account_validation_create, account_validation_sftpConfig|Gestión y configuración (incluido SFTP) de la validación de cuentas.| ||cron_create, cron_jobs_manager_create, cron_jobs_run|Creación y ejecución de tareas CRON internas y de gestión de jobs.| ||account_getAccounts, account_getAccount, account_deleteAccount|CRUD para la gestión de cuentas.| |Consultas CRON/SFTP|cron_ftp_getAllCrons, cron_ftp_getCronById, cron_ftp_getAllSftpCredentials, cron_ftp_getSftpCredentialById|Consulta de configuraciones de CRON y credenciales SFTP.| |Órdenes VTEX|orders_notifications, orders_get, orders_cancel, orders_handler_all|Notificaciones, obtención, cancelación y handlers generales de órdenes.| |NodeFlow (Lógica)|services_nodeflow_handler_all, cronflowtw_run, nodeflow_pub_handler, nodeflow_pub_handlerSqs, nodeflow_pvt_getSettings, nodeflow_pvt_createSettings, nodeflow_pvt_getActionsType, nodeflow_pvt_createActionsType, nodeflow_pvt_createNodeFlow, nodeflow_pvt_treeNodeFlow, nodeflow_pvt_getSources, nodeflow_pvt_createSources, nodeflow_pvt_deleteSources|Gestión completa de la configuración y ejecución de flujos de lógica (NodeFlow).| |Promociones/Impuestos|promotions_setTaxes, promotions_consumerapp, promotions_createorupdate, promotions_gettaxesorpromotions, promotions_gettaxorpromotion, promotions_createorupdatequeue, promotions_archivetaxorpromotion|CRUD y gestión de reglas de promociones e impuestos en VTEX.| |Utilidades VTEX|helpperVtex_list_products_vtex, helpperVtex_list_categories_vtex, helpperVtex_list_brands_vtex, helpperVtex_getOrderFormById, helpperVtex_getClientById, helpperVtex_deleteCustomData, helpperVtex_updateOrderFormCustomData, helpperVtex_cleanOrderFormCustomData, helpperVtex_formatFinancialPolicyResponse, helpperVtex_updateDataEntitySchema, helpperVtex_createDataEntityDocument, helpperVtex_updateDataEntityDocument, helpperVtex_formatLeadFields, helpperVtex_generateMasterDataDownloadUrl, helpperVtex_transformLeadData, helpperVtex_validateLead, helpperVtex_generateLeadReportFileName, helpperVtex_validateLeadsConfig|Conjunto completo de herramientas para interacción con APIs y Master Data de VTEX (Catálogo, Leads, Órdenes, etc.).| |Política Financiera|services_fnpolicy_handler_all, fnpolicy_assing, fnpolicy_get|Gestión de la asignación y consulta de la política financiera del cliente.| |Códigos Distribuidor|services_codeerp_handler_all, distributor_createDistributorCode, distributor_getAllDistributorsCodes, distributor_createOrUpdateDistributorCodes, distributor_getDistributorByCode, distributor_updateDistributorCode, distributor_deleteDistributorCode|CRUD y gestión de los códigos internos de ERP por distribuidor.| |Procesos Varios|update_clients_peru_consumer, services_ultils_handler_all, clients_audience_handler, download_leads_handler, new_leads_notification_handler, catalog_sync_handler, clients_handler, promotion_notification_handler, vtex_hook_handler, account_error_handler, account_properties_handler, multipres_setPresentationsSellers, multipres_handleExecute, multipres_producer, security_producer|Servicios de utilidad, sync de catálogo, manejo de leads, errores, propiedades de cuenta y MultiPresentation.| |Esquemas|sftp_schemas_file_handler, sftp_credentiales_handler, handle_schemas_vtex_handler|Gestión de esquemas de archivos SFTP, credenciales y esquemas VTEX.|
B. 📧 Consumers SQS Expuestos (clientConstructor)
|Dominio|Función Expuesta|Propósito| | :- | :- | :- | |Integraciones ERP|inventory_queue, prices_queue, clients_queue, clients_product_queue, orders_status_queue, orders_hook_queue, affiliates_hook_queue|Workers para consumo de colas de datos principales del ERP, órdenes y afiliados.| |NodeFlow / Rutas|nodeflow_queue, assign_routeflow_queue|Worker SQS para NodeFlow y asignación de flujos de ruta.| |Distribución/Archivos|distributor_sku_queue, splitfile_queue, processfile_queue, callmaestras_queue, sftpjobs_queue|Procesamiento de archivos grandes, split de archivos, llamadas a maestras y jobs SFTP.| |Varios|processtaxapp_queue, multipres_queue, multiprescom_queue, notify_order_status, cronjobs_queue, save_promotions_queue||
