Reporte de estado de productos de Woocomerce
Este flujo hace un reporte del estado de los productos de una tienda virtual implementada en woocomerce
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
woocommerce-i6vb7[optener productos de WooCommerce]
style woocommerce-i6vb7 stroke:#a170ff
GoogleGenerativeAIModel-48rjm[Gemini]
style GoogleGenerativeAIModel-48rjm stroke:#a170ff
ParseData-1wdiw[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Extraer datos requeridos para el análisis.]
style ParseData-1wdiw stroke:#a170ff
ChatOutput-i4e44[<div><img alt="logo" src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-i4e44 stroke:#a170ff
Prompt-tx8sr[<div><img alt="logo" src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Formateo de datos a JSON]
style Prompt-tx8sr stroke:#a170ff
AdvancedAgent-u831e[Agent]
style AdvancedAgent-u831e stroke:#a170ff
woocommerce-i6vb7 -.- ParseData-1wdiw
linkStyle 0 stroke:#a170ff
ParseData-1wdiw -.- Prompt-tx8sr
linkStyle 1 stroke:#a170ff
Prompt-tx8sr -.- AdvancedAgent-u831e
linkStyle 2 stroke:#a170ff
GoogleGenerativeAIModel-48rjm -.- AdvancedAgent-u831e
linkStyle 3 stroke:#a170ff
AdvancedAgent-u831e -.- ChatOutput-i4e44
linkStyle 4 stroke:#a170ff
🧩 Descripción general
El flujo automatiza la extracción de todos los productos de una tienda WooCommerce, los transforma en un formato JSON estructurado, y envía ese dato a un agente inteligente basado en Gemini. El agente procesa la información y genera un informe ejecutivo con análisis críticos sobre inventario, precios, completitud del catálogo, entre otros, que se muestra como mensaje de chat.
⚙️ Funcionalidades principales
- Conexión segura a la API de WooCommerce para obtener la lista completa de productos.
- Conversión de los datos de los productos en texto plano siguiendo una plantilla predefinida.
- Generación de un prompt dinámico que envía el JSON procesado al modelo de lenguaje.
- Elección automática del modelo Gemini como motor de procesamiento.
- Respuesta del agente formateada en un mensaje de chat que se muestra al usuario.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| Obtener productos de WooCommerce | Recupera todos los productos de la tienda. | URL de la tienda, credenciales API, parámetros de búsqueda. | Datos de productos en formato Data. |
| Extraer datos requeridos para el análisis | Convierte los datos de productos en texto siguiendo la plantilla. | Datos de productos (Data). | Texto con la lista de productos y su información clave (Message). |
| Formateo de datos a JSON | Crea el prompt con el JSON resultante para el agente. | Texto de productos (Message). | Prompt JSON listo para el agente (Message). |
| Gemini | Actúa como motor de lenguaje que interpreta el prompt y genera el informe. | Prompt JSON (Message). | Modelo Gemini listo para usar (LanguageModel). |
| Agente avanzado | Procesa el prompt con el modelo Gemini y produce la respuesta del agente. | Prompt JSON (Message), Modelo Gemini (LanguageModel). | Mensaje con el informe ejecutivo (Message). |
| Chat Output | Muestra el mensaje del agente como respuesta de chat. | Mensaje del agente (Message). | Mensaje de chat desplegado al usuario. |
🧠 Notas
- Los componentes de LabelComponent son únicamente descriptivos y no forman parte de la ejecución.
- La conexión a WooCommerce se gestiona mediante claves
consumer_keyyconsumer_secret; deben mantenerse seguras. - Gemini opera en modo flash (
gemini-2.5-flash), con configuración de temperatura = 1 y límite máximo de tokens = 4096. - El agente avanzado incluye memoria opcional y soporte para estructurar la salida, aunque en este flujo se utiliza la respuesta libre.
- La generación del informe se basa en un
system_promptdetallado que especifica los seis aspectos críticos del catálogo. - El flujo asume que la API de WooCommerce devuelve datos en formato JSON; cualquier desviación puede requerir ajustes en la plantilla de ParseData.