# N8N Workflows for FarmaFinder Parapharmacy ## Configuración Inicial Al iniciar N8N por primera vez, se creará automáticamente una cuenta de administrador: - **Email**: admin@farmafinder.com (configurable en `.env`) - **Password**: change-me (configurable en `.env`) ### Variables de Entorno ```bash # En el archivo .env de la raíz del proyecto N8N_USER=admin N8N_PASSWORD=change-me N8N_EMAIL=admin@farmafinder.com ``` ## Workflows Incluidos ### 1. Parapharmacy Scraper (Automático) - **Trigger**: Cada 3 días a las 2:00 AM - **Función**: Scraping automático de Promofarma - **Estado**: Inactivo por defecto (activar después de configurar) ### 2. Parapharmacy Manual Scraper (Webhook) - **Trigger**: POST a `/webhook/scrape-parapharmacy` - **Función**: Scraping bajo demanda - **Estado**: Activo por defecto ## Uso del Webhook Manual ```bash # Ejecutar scraping con queries por defecto curl -X POST http://localhost:5678/webhook/scrape-parapharmacy # Ejecutar scraping con queries específicas curl -X POST http://localhost:5678/webhook/scrape-parapharmacy \ -H "Content-Type: application/json" \ -d '{"queries": ["crema hidratante", "protector solar"]}' ``` ## Endpoints de la API de Parafarmacia Los workflows envían los productos scrapeados a: ``` POST http://parapharmacy-api:3002/api/products/bulk ``` ## Monitoreo - **N8N Dashboard**: http://localhost:5678 - **Historial de ejecuciones**: http://localhost:5678/executions - **Logs**: `docker logs n8n` ## Adding More Sources Para añadir nuevas fuentes de scraping: 1. Crear un nuevo nodo HTTP Request en el workflow 2. Añadir un nodo Code para extraer los productos 3. Conectar al nodo "Send to Parapharmacy API" 4. Activar el workflow ## Troubleshooting ### N8N muestra /setup Si N8N muestra la página de configuración, verifica que las variables de entorno estén configuradas: ```bash N8N_OWNER_EMAIL=admin@farmafinder.com N8N_OWNER_PASSWORD=change-me ``` ### Webhook no funciona 1. Verifica que el workflow esté activo 2. Revisa el historial de ejecuciones en N8N 3. Verifica los logs: `docker logs n8n` ### Productos no se guardan 1. Verifica que parapharmacy-api esté ejecutándose 2. Revisa los logs de la API: `docker logs parapharmacy-api` 3. Verifica que MongoDB esté conectado