ERP Integración

Omie Integration Worker | JavaScript

Flujo de integración ERP que conecta ventas y productos de Omie con informes y operaciones downstream en varios sistemas de negocio

Contexto del problema, stack y tipo de sistema

Este worker sincroniza datos de ventas y productos de Omie ERP para análisis e informes operativos. Aplica paginación controlada y desinfección para una sincronización estable de datos.

Alcance técnico

  • Stack: JavaScript, Node.js, Omie API, Google Sheets API, GitHub Actions
  • Tipo de sistema: sistema de integración de APIs, automatización ERP, pipeline de datos backend
  • Palabras clave en contexto: APIs con Node.js, sistema de automatización, integración de APIs

Proyectos relacionados: SIGE Integration Worker y Zoho Integration Worker.

Documentación completa del proyecto

Omie Integration Worker

Código fuente Portafolio Autor

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:

  • Vendedor hoja (filas de ventas a nivel de vendedor)
  • Produtos e Servicos hoja (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_FIM o 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_KEY y APP_SECRET del 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.

GitHub Sponsors

Stack tecnológico

JavaScript
GitHub Actions
Google Sheets
Omie ERP
Node.js

Ver el código fuente

Abrir en GitHub