Omie Integration Worker
Un worker Node.js ETL que extrae Omie datos de pedidos de ventas y sincroniza conjuntos de datos normalizados de vendedores y productos/servicios en Google Sheets.
Descripción general
Este worker está diseñado para canales de generación de informes livianos donde Omie los datos comerciales deben centralizarse en flujos de trabajo de hojas de cálculo.
La integración se centra en dos objetivos analíticos:
Vendedorhoja (filas de ventas a nivel de vendedor)Produtos e Servicoshoja (filas a nivel de artículo de línea)
Arquitectura
graph TB
A[Google Auth Worker] -->|repository_dispatch| B[Omie Integration Worker]
B --> C[Omie API]
B --> D[Google Sheets API]
C --> E[Pedidos]
E --> F[Vendedor Dataset]
E --> G[Produtos e Servicos Dataset]
F --> D
G --> D
Componentes de implementación
index.js
- Recibe el token OAuth para Google Sheets
- Define la ventana de fecha (
DATA_INICIO/DATA_FIMo día actual) - Llama al servicio de listado Omie
- Divide la payload en conjuntos de datos a nivel de vendedor y de artículo
- Agrega filas a las hojas de destino
omieService.js
- Envuelve solicitudes Omie API usando axios
- Inyecta
APP_KEYyAPP_SECRETdel medio ambiente - Implementa paginación recursiva (
ListarPedidos) - Agrega desinfección anti-fórmula antes de la escritura de salida
Características principales
- Soporte de paginación recursiva para extracción completa del período.
- Transformación estructurada para análisis de vendedores y productos
- Escrituras seguras de solo agregar en pestañas existentes de Google Sheets
- Mitigación de la inyección de fórmula con desinfección de hilos
- Registro seguro mínimo con semántica del estado de ejecución
Configuración
Variables de entorno requeridas
APP_KEY=your_omie_app_key
APP_SECRET=your_omie_app_secret
GOOGLE_TOKEN=oauth_access_token
SPREADSHEET_ID=target_spreadsheet_id
DATA_INICIO=optional_dd/mm/yyyy
DATA_FIM=optional_dd/mm/yyyy
Activador de flujo de trabajo
El flujo de trabajo del repositorio está configurado para ejecuciones basadas en envío y envío manual:
on:
repository_dispatch:
types:
- report_token_ready
workflow_dispatch:
Modelo de salida
Vendedor
- fecha
- nombre del vendedor
- total del pedido
- número de pedido
Productos y Servicios
- fecha
- descripción del artículo
- cantidad
- precio unitario
- nombre del vendedor
Notas de seguridad
- Las credenciales API nunca están codificadas
- Se requieren secretos inyectados por el entorno en tiempo de ejecución
- La desinfección evita la inyección de payload de la fórmula de la hoja de cálculo
Licencia
Este proyecto está bajo la licencia MIT. Ver el notas de licencia en el repositorio.
Autor
Patrick Araujo - Ingeniero Informático
GitHub: https://github.com/PkLavc
Portafolio: https://pklavc.com/projects/
Omie Integration Worker - Canal práctico ETL para ERP inteligencia de ventas y operaciones basadas en hojas de cálculo.