dcos-core-monalisav2-latam
v1.4.12
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
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||
