Agente de Precios Competitivos de Jitterbit
Descripción general
Jitterbit proporciona el Agente de Precios Competitivos a los clientes a través de Jitterbit Marketplace. Este agente utiliza IA para analizar los precios de los competidores en diferentes mercados, ayudando a las organizaciones a tomar decisiones de precios basadas en datos y mantenerse competitivas. El agente utiliza la técnica de Generación Aumentada por Recuperación (RAG), que combina el razonamiento de LLM con acceso a herramientas y fuentes de datos externas.
El agente aprovecha los datos del mercado en tiempo real de Google Shopping para comparar los precios de los productos entre competidores. Mediante el análisis impulsado por IA, evalúa las estrategias de precios y recomienda precios óptimos en función de reglas comerciales configurables y objetivos de posicionamiento en el mercado.
El agente utiliza análisis impulsado por IA para realizar recomendaciones de precios inteligentes. Se puede configurar para funcionar con o sin App Builder según tus necesidades. El agente realiza las siguientes tareas:
- (Opcional) Se conecta a SAP ECC para recuperar datos de productos (materiales) en tiempo real utilizando Jitterbit Studio. Los productos también se pueden proporcionar directamente a través de llamadas de API.
- (Opcional) Almacena los productos recuperados en Jitterbit App Builder para la gestión y configuración de datos.
- Consulta la API de Google Shopping utilizando el SKU del producto para recuperar información de precios de competidores en todos los productos almacenados.
- Procesa productos individuales bajo demanda utilizando una API personalizada de Jitterbit.
- Crea indicaciones dinámicas basadas en la estrategia comercial configurable (almacenada en App Builder o variables de proyecto) para guiar las recomendaciones de precios.
- Utiliza un LLM para analizar los precios de los competidores y generar recomendaciones.
- Almacena los resultados del análisis de precios (en App Builder si se utiliza) y envía notificaciones de Slack para los productos marcados.
Este documento explica cómo configurar y operar este agente de IA. Cubre la arquitectura y los requisitos previos, consultas de API de ejemplo que muestran lo que el agente puede hacer, y los pasos para instalar, configurar y operar el agente de IA.
Arquitectura del agente de IA
Este agente de IA analiza los precios de los competidores y recomienda precios óptimos en función de los datos del mercado y la estrategia comercial. Un flujo de trabajo típico sigue estos pasos:
- Ejecutas el agente en una programación o manualmente, y el agente recupera productos de SAP ECC o App Builder.
- Para cada producto, el agente consulta la API de Google Shopping para recopilar datos de precios de competidores, incluidos los precios mínimo, promedio y máximo.
- El agente construye una indicación dinámica basada en reglas comerciales configurables almacenadas en App Builder (como la intención de posicionamiento en el mercado y la estrategia de anclaje de precios) o en variables de proyecto.
- Azure OpenAI analiza los datos del mercado utilizando la indicación dinámica y devuelve recomendaciones de precios que incluyen el precio sugerido, la puntuación de confianza y los rangos de precios de los competidores.
- El agente almacena los resultados del análisis en App Builder, devuelve resultados a través de API para productos individuales o envía notificaciones de Slack, según tu configuración.
- Los productos con la bandera de notificación habilitada activan alertas de Slack cuando los precios cambian, se generan recomendaciones, o cuando ejecutas cualquiera de los flujos de trabajo disponibles.
- Puedes activar el análisis de productos individuales a través de una llamada de API personalizada desde la interfaz de App Builder o ejecutar el procesamiento por lotes para todos los productos. Ambos enfoques funcionan con o sin App Builder.
Diagramas de flujo de trabajo
Los siguientes diagramas representan los flujos de trabajo principales para esta integración. Dependiendo de si utilizas App Builder para el almacenamiento de datos y la configuración, los flujos de trabajo difieren en cómo recuperan datos de productos y devuelven resultados.
Flujos de trabajo al utilizar App Builder
Al utilizar App Builder, el agente almacena datos de productos y resultados de análisis en tablas de App Builder.
Análisis de precios por lotes
Puedes ejecutar el agente en una programación o manualmente para analizar todos los productos. Cuando utilizas una conexión ERP, opcionalmente puedes almacenar productos en App Builder inmediatamente después de consultar el sistema ERP, y luego recuperarlos de App Builder para continuar con el flujo de trabajo del Agente de Precios Competitivos de Jitterbit.
Jitterbit Competitive
Pricing Agent" } SAP[fas:fa-database
SAP ECC] GS[fab:fa-google
Google Shopping API] AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } STR@{ shape: hex, label: "
App Builder" } SAP -->|1. Query products| JSP JSP -->|2. Product details| GS GS -->|3. Competitor prices| JSP JSP -->|4. Market data + prompt| AZR AZR --> AZM AZM --> AZR AZR -->|5. Pricing recommendations| JSP JSP -->|6. Store results| STR
Análisis de precios bajo demanda
Los usuarios generan análisis para productos individuales a través de la interfaz del App Builder:
Jitterbit Competitive
Pricing Agent" } STR@{ shape: hex, label: "
App Builder" } JCA@{ shape: hex, label: "
Jitterbit API Manager
custom API" } UI[fas:fa-desktop
App Builder UI] GS[fab:fa-google
Google Shopping API] AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } UI -->|1. Trigger analysis| JCA JCA -->|2. Product request| JSP JSP -->|3. Fetch configuration| STR JSP -->|4. Product details| GS GS -->|5. Competitor prices| JSP JSP -->|6. Market data + prompt| AZR AZR --> AZM AZM --> AZR AZR -->|7. Pricing recommendations| JSP JSP -->|8. Update results| STR STR -->|9. Return updated data| UI
Flujos de trabajo sin usar App Builder
Sin usar App Builder, el agente recupera productos directamente de sistemas ERP y devuelve resultados a través de respuestas de API y notificaciones de Slack.
Análisis de precios por lotes desde ERP
Una API activa el agente para recuperar productos de ERP y realizar análisis de precios:
Jitterbit Competitive
Pricing Agent" } JCA@{ shape: hex, label: "
Jitterbit API Manager
custom API" } SAP[fas:fa-database
SAP ECC] GS[fab:fa-google
Google Shopping API] AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } SLK[fab:fa-slack
Slack] JCA -->|1. Trigger batch processing| JSP SAP -->|2. Query products| JSP JSP -->|3. Product details| GS GS -->|4. Competitor prices| JSP JSP -->|5. Market data + prompt| AZR AZR --> AZM AZM --> AZR AZR -->|6. Pricing recommendations| JSP JSP -->|7. Send results| SLK
Análisis de precios de un solo producto vía API
Los usuarios generan análisis para productos individuales a través de llamadas directas a la API con carga útil JSON:
Jitterbit Competitive
Pricing Agent" } JCA@{ shape: hex, label: "
Jitterbit API Manager
custom API" } GS[fab:fa-google
Google Shopping API] AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } SLK[fab:fa-slack
Slack] USER[fas:fa-user
API Client] USER -->|1. Product JSON| JCA JCA -->|2. Product request| JSP JSP -->|3. Product details| GS GS -->|4. Competitor prices| JSP JSP -->|5. Market data + prompt| AZR AZR --> AZM AZM --> AZR AZR -->|6. Pricing recommendations| JSP JSP -->|7. API response| JCA JCA -->|8. Results| USER JSP -.->|9. Notifications if flagged| SLK
Requisitos previos
Se necesitan los siguientes componentes para usar este agente de IA.
Componentes de Harmony
Se debe tener una licencia de Jitterbit Harmony con acceso a los siguientes componentes:
- Jitterbit Studio
- Jitterbit API Manager
- Jitterbit App Builder versión 4.55.1 con una base de datos PostgreSQL (opcional, para administración de datos y configuración)
- Jitterbit Competitive Pricing Agent adquirido como complemento de licencia
Extremos compatibles
El agente de IA incorpora los siguientes extremos. Se pueden adaptar otros sistemas modificando las configuraciones de extremos y los flujos de trabajo del proyecto.
Modelo de lenguaje grande (LLM)
El agente de IA usa Azure OpenAI como proveedor de LLM para el análisis de precios. Para usar Azure OpenAI, se debe tener una suscripción a Microsoft Azure con permisos para crear un recurso de Azure OpenAI con un modelo gpt-4o implementado.
Consejo
Para información sobre precios, consulta la página de precios de Azure OpenAI.
Fuente de datos
El agente de IA puede recuperar datos de productos de SAP ECC u otros sistemas ERP, o se pueden proporcionar datos de productos directamente a través de llamadas a API. Si se elige usar App Builder, este almacena y muestra información de productos y resultados de análisis de precios. Sin App Builder, el agente devuelve resultados directamente a través de respuestas de API y notificaciones de Slack.
Datos de Google Shopping
El agente de IA usa SerpApi para acceder a datos de Google Shopping. Se debe tener una cuenta de SerpApi para usar la API de Google Shopping. Este servicio es externo a Google y Jitterbit. SerpApi ofrece planes gratuitos y de pago.
Servicio de notificaciones
El agente de IA usa Slack para enviar notificaciones de productos con la bandera de notificación habilitada cuando cambia un registro de producto. Se puede reemplazar Slack con cualquier otro extremo de notificación modificando las configuraciones de extremos del proyecto y adaptando los flujos de trabajo a los esquemas requeridos por el servicio elegido. Si se usa Slack, se debe crear una aplicación de Slack (usando el archivo slack_app_manifest.json proporcionado en la descarga de personalizaciones) y obtener los tokens de autenticación necesarios.
Consultas de API de ejemplo
Los siguientes ejemplos muestran cómo llamar a la API personalizada de Jitterbit para realizar análisis de precios.
Llamadas de API con App Builder
Estos ejemplos demuestran llamadas de API cuando se usa App Builder para almacenamiento y administración de datos.
Análisis de precios de un solo producto
La API acepta detalles de productos desde App Builder. App Builder proporciona la solicitud JSON de acuerdo con la regla de App Builder creada. La respuesta incluye los datos del producto original más análisis de precios generados por IA: precios mínimo, promedio y máximo de competidores, precio recomendado y puntuación de confianza.
-
Endpoint:
POST https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/suggestedprice -
Solicitud:
{ "productID": "391fd871-cc9a-4e93-af27-a6f2e11237ee", "brand": "Apple", "SKU": "iPhone 14 Pro Max 256 Gb", "description": "Smartphone Apple iPhone 14 Pro Max", "basePrice": 350, "category": "Smartphone", "AICompetitorMinimum": "", "AICompetitorAverage": "", "AICompetitorMaximum": "", "AIPriceRecommendation": "", "AIConfidenceScore": "", "flagNotification": 1 } -
Respuesta:
{ "productID": "391fd871-cc9a-4e93-af27-a6f2e11237ee", "brand": "Apple", "SKU": "iPhone 14 Pro Max 256 Gb", "description": "Smartphone Apple iPhone 14 Pro Max", "basePrice": 350, "category": "Smartphone", "AICompetitorMinimum": "$415.00", "AICompetitorAverage": "$537.06", "AICompetitorMaximum": "$879.00", "AIPriceRecommendation": "$626.53", "AIConfidenceScore": "75", "flagNotification": 1 }
Análisis de precios por lotes para todos los productos
La API activa el procesamiento por lotes de todos los productos almacenados en App Builder. El proceso por lotes se ejecuta en segundo plano para evitar el agotamiento del tiempo de espera de la API.
-
Endpoint:
POST https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/AppBuilderAllProductsSuggestedPrice -
Solicitud: Ninguna requerida.
-
Respuesta:
{ "status": "Success", "message": "The integration will run but it will take some time. Please verify that the data is updated after some time" }
Llamadas a la API sin App Builder
Estos ejemplos demuestran llamadas a la API al realizar análisis de precios sin utilizar App Builder para almacenar datos.
Procesamiento por lotes desde ERP
La API activa el procesamiento por lotes de todos los productos del sistema ERP. El proceso por lotes se ejecuta en segundo plano para evitar el agotamiento del tiempo de espera de la API.
-
Endpoint:
POST https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/ERPProductsSuggestedPrice -
Solicitud: Ninguna requerida.
-
Respuesta:
{ "status": "Success", "message": "The integration will run but it will take some time. Please verify that the data is sent to your instant message application" }
Análisis de precios de un solo producto
La API permite realizar análisis de precios sin utilizar App Builder para almacenar datos. El agente devuelve los resultados en la respuesta de la API y los envía mediante notificaciones de Slack.
-
Endpoint:
POST https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/GenericProductSuggestedPrice -
Solicitud:
{ "productID": "112233", "brand": "Apple", "SKU": "iPhone 14 Pro Max 256 Gb", "description": "Smartphone Apple iPhone 15 Pro Max", "basePrice": 345, "category": "Smartphone Apple", "AICompetitorMinimum": "", "AICompetitorAverage": "", "AICompetitorMaximum": "", "AIPriceRecommendation": "", "AIConfidenceScore": "", "flagNotification": 1 } -
Respuesta:
{ "productID": "112233", "brand": "Apple", "SKU": "iPhone 14 Pro Max 256 Gb", "description": "Smartphone Apple iPhone 15 Pro Max", "basePrice": 345, "category": "Smartphone Apple", "AICompetitorMinimum": "$359.99", "AICompetitorAverage": "$494.53", "AICompetitorMaximum": "$1080.00", "AIPriceRecommendation": "$419.76", "AIConfidenceScore": "75", "flagNotification": 1 }
Instalación, configuración y operación
Sigue estos pasos para instalar, configurar y operar este agente de IA:
- Descargar personalizaciones e instalar el proyecto
- Crear recursos de Microsoft Azure
- Crear la aplicación de Slack
- Configurar variables del proyecto
- Probar conexiones
- Implementar el proyecto
- Crear la API personalizada de Jitterbit
- Instalar la aplicación App Builder (opcional, solo para usuarios de App Builder)
- Revisar flujos de trabajo del proyecto
- Activar los flujos de trabajo del proyecto
Para obtener orientación sobre solución de problemas, consulta Solución de problemas.
Descargar personalizaciones e instalar el proyecto
Sigue estos pasos para descargar archivos de personalización e instalar el proyecto de Studio para el agente de IA:
-
Inicia sesión en el portal Harmony en https://login.jitterbit.com y abre Marketplace.
-
Busca el agente de IA denominado Jitterbit Competitive Pricing Agent. Para localizarlo, puedes usar la barra de búsqueda o, en el panel Filtros bajo Tipo, selecciona AI Agent para limitar la visualización a agentes de IA.
-
Haz clic en el enlace Documentación del agente de IA para abrir su documentación en una pestaña separada. Mantén la pestaña abierta para consultarla después de iniciar el proyecto.
-
Haz clic en Iniciar proyecto para abrir un cuadro de diálogo de configuración de dos pasos para descargar personalizaciones e importar el agente de IA como un proyecto de Studio.
Nota
Si aún no has comprado el agente de IA, se muestra Obtener agente en su lugar. Haz clic en él para abrir un cuadro de diálogo informativo y luego haz clic en Enviar para que un representante se ponga en contacto contigo sobre la compra del agente de IA.
-
En el paso de configuración 1, Descargar personalizaciones, se proporciona el siguiente archivo para facilitar la configuración de la aplicación de Slack. Selecciona el archivo y haz clic en Descargar archivos:
- Archivo de manifiesto de la aplicación de Slack:
slack_app_manifest.json
- Archivo de manifiesto de la aplicación de Slack:
-
Haz clic en Siguiente.
-
En el paso de configuración 2, Crear un nuevo proyecto, selecciona un entorno donde se creará el proyecto de Studio y haz clic en Crear proyecto.
-
Se muestra un diálogo de progreso. Una vez que indica que el proyecto se ha creado, utiliza el enlace Go to Studio del diálogo o abre el proyecto directamente desde la página Projects de Studio.
Create Microsoft Azure resources
Crea los siguientes recursos de Microsoft Azure y retén la información para configurar el agente de IA. Para crear y administrar estos recursos, debes tener una suscripción de Microsoft Azure con los permisos apropiados.
Azure OpenAI resource
Debes crear un recurso de Azure OpenAI e implementar un modelo gpt-4o a través del portal de Azure AI Foundry.
Retén el nombre de la implementación, la URL del punto de conexión de Azure OpenAI y la clave API. Ingresarás estos valores en las variables de proyecto de Azure OpenAI cuando configures las variables de proyecto en el siguiente paso.
Para encontrar estos valores, sigue estos pasos:
-
En el portal de Azure AI Foundry, abre el recurso de OpenAI específico.
-
En la página de inicio del recurso, copia la URL del punto de conexión (la utilizarás para la variable de proyecto
azure_openai_base_url) y la clave API (la utilizarás para la variableazure_openai_api_key). -
En el menú de navegación bajo Shared resources, selecciona Deployments. Copia el nombre de la implementación (lo utilizarás para la variable
azure_deployment_id).
Create the Slack app
Para recibir notificaciones de Slack sobre cambios de precios, sigue estos pasos:
-
Crea una aplicación de Slack utilizando el archivo de manifiesto de la aplicación de Slack (
slack_app_manifest.json) proporcionado con los archivos de personalización de este agente de IA. Alternativamente, crea la aplicación desde cero. -
Si utilizas el archivo de manifiesto proporcionado, reemplaza los siguientes marcadores de posición con tus propios valores de configuración:
Placeholder Description {{Replace with Slack bot name}}The name you want your Slack bot to have, as displayed to users. Replace this value in two places in the manifest. {{Replace with Jitterbit API URL}}The service URL of the Jitterbit custom API you created in Create the Jitterbit custom API. -
Instala la aplicación en tu área de trabajo de Slack.
-
Obtén el token del bot (para el campo Bot User OAuth Token de la conexión de Slack) e ingresa su valor para la variable de proyecto
slack_bot_oauth_user_token. -
Configura la variable de proyecto
slack_channel_namecon el canal donde se deben enviar las notificaciones. -
Ingresa el valor del token del bot para la variable de proyecto
slack_bot_oauth_user_tokeny el nombre del canal para la variable de proyectoslack_channel_name. Configurarás estas en el siguiente paso.
Configure project variables
En el proyecto de Studio instalado anteriormente desde Marketplace, debes establecer valores para las siguientes variables de proyecto.
Para configurar las variables de proyecto, utiliza el menú de acciones del proyecto para seleccionar Project Variables y abre un panel en la parte inferior de la página donde puedas revisar y establecer los valores.
Slack
| Variable name | Description |
|---|---|
slack_channel_name |
Canal de Slack donde se envían notificaciones con análisis de precios de productos. |
slack_bot_oauth_user_token |
El token del bot de Slack obtenido después de crear la aplicación de Slack, utilizado para el campo Bot User OAuth Token de la conexión de Slack. |
SAP
| Nombre de variable | Descripción |
|---|---|
SAP_Username |
Nombre de usuario de integración para la instancia de SAP. |
SAP_System_Number |
Número de sistema para conectarse a la instancia de SAP. |
SAP_Password |
Contraseña para la instancia de SAP. |
SAP_Language |
Código de idioma, como EN para inglés. |
SAP_Host |
URL del servidor SAP. Ejemplo: ecc489.example.com. |
SAP_Client |
Cada cliente tiene sus propios datos, personalizaciones y configuraciones. El número de cliente identifica de forma única cada cliente en un sistema SAP. |
SAP_Last_Modified_Date |
Fecha de punto de partida para recuperar materiales de SAP. Utilizar el formato YYYYMMDD. |
Google Shopping
| Nombre de variable | Descripción |
|---|---|
Google_Location |
Filtrar resultados por país o región. |
Google_Key |
Clave de API para Google Shopping. Crear una cuenta en https://serpapi.com. |
Google_Engine |
Tipo de motor que Google utiliza para buscar datos. Utilizar google_shopping_light de forma predeterminada. |
Notificaciones por correo electrónico
| Nombre de variable | Descripción |
|---|---|
Email_Summary |
Establecer en true para habilitar el envío de notificaciones de correo electrónico de resumen. |
Email_SMTP_Servers |
Lista separada por comas de servidores SMTP utilizados para enviar notificaciones por correo electrónico. |
Email_Sender_Password |
Contraseña de la cuenta de correo electrónico utilizada para enviar notificaciones por correo electrónico. |
Email_Sender_Account |
Cuenta de correo electrónico utilizada para enviar notificaciones por correo electrónico. |
Email_Recipients |
Lista separada por comas de cuentas de correo electrónico para recibir notificaciones por correo electrónico. |
Email_Enabled |
Establecer en true para habilitar el envío de notificaciones por correo electrónico. |
Email_Display_Name |
Cuenta de correo electrónico utilizada en el campo "de" de las notificaciones por correo electrónico. |
Email_Data_Error |
Establecer en true para habilitar el envío de notificaciones de correo electrónico de fallos. |
Azure OpenAI
| Nombre de variable | Descripción |
|---|---|
azure_openai_top_p |
Controla cuánta de la masa de probabilidad considera el modelo al generar texto. Los valores bajos (como 0.1–0.3) son muy enfocados. Los valores altos (como 0.9–1.0) son más diversos y creativos. Establecer en 0.95. |
azure_openai_temperature |
Controla la aleatoriedad de la salida del modelo. Los valores más bajos (como 0.0–0.3) hacen que las respuestas sean más enfocadas y determinísticas, mientras que los valores más altos (como 0.8–1.0) aumentan la creatividad y la diversidad. Establecer en 0.2 para respuestas determinísticas. |
azure_deployment_id |
El nombre de la implementación de Azure OpenAI utilizada para acceder al modelo. Establecer en gpt-4o. |
azure_openai_base_url |
La URL base para acceder al servicio Azure OpenAI. Ejemplo: https://<your-resource-name>.openai.azure.com. |
azure_openai_api_key |
La clave de API utilizada para autenticar solicitudes al servicio Azure OpenAI. |
Constructor de Aplicaciones
Nota
Debes completar los valores de estas variables después de instalar la aplicación Constructor de Aplicaciones. Por ahora puedes dejar estas variables vacías.
| Nombre de variable | Descripción |
|---|---|
app_builder_base_url |
La URL base de tu instancia del Constructor de Aplicaciones (por ejemplo, https://development.appbuilder.jitterbit.com). Obtienes este valor después de completar la sección Integración de la API del Constructor de Aplicaciones. |
app_builder_api_key |
Clave de autenticación de la API REST para la llamada a la API. Obtienes este valor después de completar la sección Integración de la API del Constructor de Aplicaciones. Para instrucciones detalladas sobre cómo obtener este valor, consulta Publicar aplicación del Constructor de Aplicaciones como punto final de la API REST. |
app_builder_endpoint_url |
La ruta del punto final que viene después de la URL base. Valor predeterminado: rest/v1/PricingAIAgentApp. El usuario no necesita modificar este valor. |
Parámetros de indicaciones dinámicas
Estas variables controlan el comportamiento de la IA al crear recomendaciones de precios.
Nota
Si utilizas el Constructor de Aplicaciones, la única variable de proyecto que necesitas configurar es ai_Use_PV_Configuration_Values. Puedes dejar las demás en sus valores predeterminados.
| Nombre de variable | Descripción |
|---|---|
ai_Use_PV_Configuration_Values |
Establécelo en true para usar la aplicación del Constructor de Aplicaciones en la configuración. Establécelo en false para usar valores de variables de proyecto en su lugar. |
ai_System_Prompt |
Parte estática de las instrucciones proporcionadas a la IA. Define el rol de la IA como experto en compras y análisis de precios competitivos. Consulta Valores de indicaciones predeterminadas para el texto predeterminado requerido. No modifiques a menos que sea necesario. |
ai_Premium_Discount_Percentage |
Porcentaje aplicado según la intención de posicionamiento. Los valores positivos aumentan el precio (premium), los valores negativos disminuyen el precio (descuento). |
ai_Positioning_Intent |
Estrategia de posicionamiento en el mercado. Opciones: Match market, Premium o Undercut market. |
ai_Outlier_Exclusion |
Establécelo en true para eliminar precios de competidores extremos (valores >2x o <0.5x la mediana) antes de calcular estadísticas. |
ai_Minimum_Competitor_Sample_Size |
Número mínimo de competidores válidos requeridos para recomendaciones confiables. Si está por debajo de este umbral, la IA activa el comportamiento de reserva. |
ai_Max_Price_Increase |
Porcentaje máximo que la IA puede recomendar por encima del precio base o precio influenciado por anclaje. |
ai_Max_Price_Decrease |
Porcentaje máximo que la IA puede recomendar por debajo del precio base o precio influenciado por anclaje. |
ai_Market_Price_Anchor |
Punto de referencia para decisiones de precios. Opciones: Average, Lowest competitor, Median o Top quartile. |
ai_Base_Price_Weighting |
Porcentaje que controla la fuerza con la que el precio base influye en la recomendación final en relación con el anclaje de mercado. Establécelo en 0 para ignorar el precio base, 100 para ignorar el anclaje de mercado, o 50 para combinar ambos en igual medida. |
ai_Dynamic_Prompt |
Parte variable del indicativo del sistema que incorpora valores de configuración. Contiene instrucciones sobre cómo la IA debe analizar datos de precios y generar recomendaciones. Consulta Valores de indicaciones predeterminadas para el texto predeterminado requerido. No modifiques a menos que sea necesario. |
Valores predeterminados del prompt
Los siguientes valores predeterminados deben mantenerse para las variables ai_System_Prompt y ai_Dynamic_Prompt. Modificar estos valores puede causar problemas en la ejecución de IA.
Valor predeterminado de ai_System_Prompt
You are an expert in shopping and competitive price analysis.\n You will receive a JSON document containing competitor items with prices.\n You must analyze ONLY the provided JSON data.\nYour responsibilities:\n - Identify all valid competitor prices.\n - Calculate competitor minimum price.\n - Calculate competitor maximum price.\n - Calculate competitor average price.\n - Count the number of valid competitors.\n - Calculate a confidence score based on competitor count, price variance, and data consistency.\n You do NOT invent data.\n You do NOT use external sources.\n You do NOT modify system-defined pricing bounds.\n When recommending a price:\n - You must recommend a price strictly within the provided price floor and price ceiling.\n - You must align the recommendation with the provided pricing strategy and market anchor.\n - You must apply fallback behavior when confidence is below the required threshold.\n The response must always follow the defined output structure exactly.\n
Valor predeterminado de ai_Dynamic_Prompt
\n'Pricing strategy configuration:\n\n- Market anchor type: ||marketAnchor|| \n\n- Positioning intent: ||positioningIntent||\n\n- Base price weighting: ||basePriceWeighting||%\n This controls how strongly the base price influences the final recommendation relative to the market anchor. 0% ignores base price, 100% ignores market anchor, 50% blends both equally. Current value: ||basePriceWeighting||%\n\n- Premium/discount percentage: ||premiumDiscountPercentage||%\n This percentage is applied according to positioning intent. Positive values increase price (premium), negative values decrease price (discount). Current value: ' + premiumDiscountPercentage + '%\n\n- Maximum allowed price increase: ||maxPriceIncrease||%\n AI must not recommend a price more than this percentage above the base price or anchor-influenced price. Current value: ||maxPriceIncrease||%\n\n- Maximum allowed price decrease: ||maxPriceDecrease||%\n AI must not recommend a price more than this percentage below the base price or anchor-influenced price. Current value: ||maxPriceDecrease||%\n\n- Minimum competitor sample size: ||minimumCompetitorSampleSize||\n If the number of valid competitors is below this threshold, AI must trigger fallback behavior to avoid unreliable recommendations. Current value: ||minimumCompetitorSampleSize||\n\n- Outlier exclusion: ||outlierExclusion||\n If outlier exclusion is enabled, remove extreme competitor prices before calculating min, max, and average. Extreme is defined as values >2x or <0.5x the median. Current value: ||outlierExclusion||\n\nInstructions:\n\n1. From the provided JSON, identify all valid competitor prices.\n2. Remove outliers if outlier_exclusion is enabled.\n3. Calculate:\n - Competitor minimum price as AICompetitorMinimum\n - Competitor maximum price as AICompetitorMaximum\n - Competitor average price as AICompetitorAverage\n4. Format all calculated prices as currency with a "$" prefix and exactly two decimal places.\n5. Calculate a confidence score from 0 to 100 based on competitor count, price variance, and data consistency as AIConfidenceScore.\n6. Recommend a final price that:\n - Aligns with the selected market anchor and positioning intent\n - Applies base price weighting and premium/discount percentage\n - Respects maximum price increase/decrease limits\n - Stays strictly within system-defined price floor and ceiling\n - Store the recomended final price as AIPriceRecomendation\n7. If confidence < threshold or competitor count < ||minimumCompetitorSampleSize||, apply fallback behavior.\n8. Only update fields that are empty ("").\n9. Return valid JSON only, starting with "{" and ending with "}".\n\nBe sure to use the prescribed opening and closing tags. Do not return the response in markdown or any code format, just the plain text.\nRemove any ```json at the begining or at the end. The response should ONLY be a valid JSON that starts with { and ends with }.\nDo not send empty values\nOUTPUT STRUCTURE (use exactly this structure):\n
Probar conexiones
Prueba las configuraciones del endpoint para verificar la conectividad usando los valores de variables de proyecto definidos.
Para probar conexiones, ve a la pestaña Project endpoints and connectors de la paleta de componentes de diseño, pasa el cursor sobre cada endpoint y haz clic en Test.
Implementar el proyecto
Implementa el proyecto de Studio.
Para implementar el proyecto, usa el menú de acciones del proyecto y selecciona Deploy.
Crear la API personalizada de Jitterbit
Crea una API personalizada para que múltiples servicios activen diferentes operaciones mediante API Manager.
Elige el conjunto de servicios apropiado a continuación según si usas App Builder o llamadas directas a la API, luego configura y publica la API personalizada.
Servicios para App Builder
Configura estos servicios si usas el enfoque de App Builder. Después de configurar los servicios, publica la API personalizada.
-
Servicio 1: Get AI Suggested Price
Configuración Valor Nombre del servicio Get AI Suggested PriceOperación Initial Data Load - API RunRuta /suggestedpriceMétodo POSTTipo de respuesta System Variable -
Servicio 2: Get AI All Products Suggested Price
Configuración Valor Nombre del servicio Get AI All Products Suggested PriceOperación Sync App Builder Products API Request HandlerRuta /AppBuilderAllProductsSuggestedPriceMétodo POSTTipo de respuesta System Variable
Importante
Guarda las URLs del servicio API de la API publicada. Usarás estas URLs en la sección App Builder API integration para configurar la conexión entre App Builder y la API personalizada de Jitterbit.
Servicios para llamadas a API (sin App Builder)
Configura estos servicios si usas llamadas a API sin App Builder. Después de configurar los servicios, publica la API personalizada.
-
Servicio 1: Initial Data Load Products
Configuración Valor Nombre del servicio Initial Data Load ProductsOperación Initial Data Load ProductsRuta /ERPProductsSuggestedPriceMétodo POSTTipo de respuesta System Variable -
Servicio 2: Get AI Suggested Price
Configuración Valor Nombre del servicio Get AI Suggested PriceOperación Initial Data Load - Generic API RunRuta /GenericProductSuggestedPriceMétodo POSTTipo de respuesta System Variable
Importante
Guarda las URLs del servicio API de la API publicada para usarlas al hacer solicitudes a la API. Para encontrar las URLs del servicio, ve al API details drawer en la pestaña Services, pasa el cursor sobre la columna Actions de cada servicio y haz clic en Copy API service URL.
Instalar la aplicación de App Builder
Estas instrucciones solo son necesarias si usas App Builder para la gestión y configuración de datos. Si usas el agente de IA sin App Builder, salta esta sección y configura el agente usando variables de proyecto tal como se describe en Dynamic prompt parameters.
Nota
Este agente de IA utiliza comunicación bidireccional de API con App Builder:
- El agente de IA llama a las API de App Builder para almacenar información de productos.
- App Builder llama a la API personalizada de Jitterbit para realizar análisis de precios.
Configurarás las URL de API tanto en variables del proyecto de Studio como en App Builder durante los pasos que se detallan a continuación.
Para instalar y configurar la aplicación App Builder, contacta con Jitterbit support para obtener el archivo de instalación de App Builder (archivo .lp).
Importante
Si utilizas el paquete de lanzamiento de App Builder, tu instancia de App Builder debe ejecutar la versión 4.55.1 y usar una base de datos PostgreSQL.
Instalar el archivo LP
Instala el paquete de lanzamiento en tu instancia de App Builder:
-
Inicia sesión en App Builder.
-
Ve a IDE.
-
Bajo Deploy, haz clic en Install Release.
-
Haz clic en + Package y luego haz clic en Browse.
-
Selecciona el archivo LP proporcionado por Jitterbit support.
-
Haz clic en Save. El panel Release en la derecha muestra la información del paquete.
-
Cierra el diálogo Package.
-
Confirma que los detalles son correctos y haz clic en Install.
Integración de API de App Builder
Los pasos en esta sección configuran la comunicación bidireccional de API entre App Builder y la API personalizada de Jitterbit:
- Entrada: Permite que Jitterbit llame a las API de App Builder para almacenar información de productos.
- Salida: Permite que App Builder llame a la API personalizada de Jitterbit para activar el análisis de precios.
Configurar la autenticación de API para llamadas entrantes
Configura la autenticación de API Key en App Builder para permitir que Jitterbit almacene datos de productos. Necesitas un proveedor de seguridad de API Key y API Keys específicas del usuario.
Nota
-
Si tienes un proveedor de seguridad de API Key existente: Configura API Keys para los usuarios específicos que necesiten acceso.
-
Si no tienes un proveedor de seguridad de API Key: Crea el proveedor de seguridad de API Key y configura API Keys para usuarios específicos. No configures ni publiques endpoints.
Para instrucciones detalladas, consulta Publicar aplicación App Builder como punto final de API REST.
Configurar el servidor de datos para llamadas salientes
Configura App Builder para llamar a la API personalizada de Jitterbit cuando los usuarios hagan clic en el botón Send data to AI. Esto activa el flujo de trabajo Tool - Read AppBuilder Pricing Request.
-
Ve a IDE > Data Servers y ubica el servidor de datos AI Pricing Agent API Source.
-
Haz clic en Open record y luego haz clic en Edit.
-
En el campo URL, ingresa la URL de la API personalizada de Jitterbit que guardaste al crear la API personalizada de Jitterbit.
-
Haz clic en Save.
Actualizar variables del proyecto de Studio
Ahora que has completado la integración de API de App Builder, ingresa los valores para las variables del proyecto de App Builder.
Actualizar tablas de App Builder utilizando API
El proyecto de Studio utiliza las variables del proyecto app_builder_base_url y app_builder_endpoint_url para llamar a los siguientes puntos finales de App Builder:
- Upsert en tabla Products:
/products/[appBuilderProductID](POST) - Crear datos históricos de App Builder:
/aiSearchLog(POST)
No se requiere configuración adicional. Los flujos de trabajo del proyecto utilizan estos puntos finales automáticamente.
Obtener datos de App Builder utilizando API
Para recuperar datos de App Builder utilizando la API REST nativa de App Builder, se utilizan las siguientes solicitudes:
- Obtener información de productos:
GET - https://development.appbuilder.jitterbit.com/rest/v1/PricingAIAgentApp/products -
Obtener valores de configuración:
GET - https://development.appbuilder.jitterbit.com/rest/v1/PricingAIAgentApp/configurationControlGET - https://development.appbuilder.jitterbit.com/rest/v1/PricingAIAgentApp/marketPriceAnchorGET - https://development.appbuilder.jitterbit.com/rest/v1/PricingAIAgentApp/positioningIntent
Tablas de App Builder
La aplicación App Builder almacena y muestra la siguiente información en diferentes tablas.
La aplicación App Builder utiliza las siguientes tablas. Para obtener información detallada sobre los tipos de datos de App Builder y sus especificaciones, consulta la documentación de App Builder sobre Tipos de datos de columna.
-
AISearchLog: Esta tabla almacena datos históricos de cada ejecución de IA.
Nombre de columna Tipo de dato Descripción AISearchLogIDUUID Identificador único dateDateTime Marca de tiempo de la ejecución de IA productInformationNVarchar(5000) Información del producto con valores generados por IA configurationNVarchar(5000) Esquema de configuración utilizado en el análisis -
ConfigurationControlValues: Esta tabla almacena la estrategia de análisis utilizada para crear el indicador dinámico para los resultados del análisis de precios.
Nombre de columna Tipo de dato Descripción ConfigurationControlValueIDUUID Identificador único marketPriceAnchorValueIDUUID Referencia al valor de ancla de precio de mercado positioningIntentIDUUID Referencia al valor de intención de posicionamiento basePriceWeightingTinyInt Porcentaje que controla la influencia del precio base premiumDiscountPercentageTinyInt Porcentaje aplicado según la intención de posicionamiento maxPriceDecreaseTinyInt Porcentaje máximo para disminución de precio maxPriceIncreaseTinyInt Porcentaje máximo para aumento de precio minimumCompetitorSampleSizeNVarchar(50) Cantidad mínima de competidores requerida para recomendaciones fiables outlierExclusionBit Indicador booleano para habilitar la exclusión de valores atípicos dynamicPromptTextNVarchar(5000) Parte variable del indicador que incorpora valores de configuración staticPromptTextNVarchar(5000) Parte estática de las instrucciones de IA -
marketPriceAnchorValues: Esta tabla almacena valores de lista desplegable utilizados en la configuración del análisis.
Nombre de columna Tipo de dato Descripción marketPriceAnchorValueIDUUID Identificador único marketPriceAnchorValueNVarchar(50) La opción de valor de ancla: Promedio,Competidor más bajo,MedianaoCuartil superiorscriptNVarchar(5000) Script asociado al valor de ancla -
positioningIntentValues: Esta tabla almacena valores de lista desplegable utilizados en la configuración del análisis.
Nombre de columna Tipo de dato Descripción positioningIntentIDUUID Identificador único positioningIntentValueNVarchar(50) La opción de intención de posicionamiento: Igualar mercado,PremiumoCompetir con precios más bajosscriptNVarchar(5000) Script asociado a la intención de posicionamiento -
Productos: Esta tabla almacena información de productos. Completa esta tabla manualmente o utiliza el flujo de trabajo Tool - Get ERP Products with App Builder para importar productos automáticamente desde SAP ECC.
Nombre de columna Tipo de dato Descripción ProductIDUUID Identificador único de producto BrandNVarchar(50) Marca del producto SKUNVarchar(50) Unidad de mantenimiento de existencias VinylAuditRefIdUUID Identificador de referencia de auditoría de vinilo DescriptionNVarchar(100) Descripción del producto BasePriceNumeric(15,2) Precio base del producto CategoryNVarchar(50) Categoría de producto AICompetitorMinimumNVarchar(50) Precio mínimo del competidor generado por IA AICompetitorAverageNVarchar(50) Precio promedio del competidor generado por IA AICompetitorMaximumNVarchar(50) Precio máximo del competidor generado por IA AIPriceRecommendationNVarchar(50) Precio recomendado generado por IA AIConfidenceScoreNVarchar(50) Puntuación de confianza de IA para la recomendación SourceIDNVarchar(50) Identificador del sistema de origen SourceNameNVarchar(50) Nombre del sistema de origen flagNotificationBit Bandera booleana para habilitar notificaciones Slack
Revisar flujos de trabajo del proyecto
El proyecto de Studio contiene 12 flujos de trabajo que implementan la funcionalidad del agente de precios de IA. Cada flujo de trabajo cumple un propósito específico en el proceso de análisis de precios. Comprender estos flujos de trabajo te ayuda a determinar cuáles configurar y ejecutar según tu enfoque de implementación.
| Flujo de trabajo | Tipo de desencadenador | App Builder | No App Builder |
|---|---|---|---|
| Tool - Read AppBuilder Pricing Request | API | ||
| Tool - Read Products From AppBuilder Table | Manual/Programación | ||
| Tool - Build Prompt Configuration | Llamado por otros flujos | ||
| Utility - Search Products in Google Shopping | Llamado por otros flujos | ||
| Main - AI Agent Tools Logic | Llamado por otros flujos | ||
| Tool - Get ERP Products with App Builder | Manual/Programación | ||
| Tool - Get ERP Products | API | ||
| Utility - Store to App Builder | Llamado por otros flujos | ||
| Utility - AppBuilder Logging | Llamado por otros flujos | ||
| Main Entry - Slack API Request Handler | Llamado por otros flujos | ||
| Main Entry - Sync App Builder Products API Request Handler | API | ||
| Main Entry - Generic Single Pricing API Request Handler | API |
Flujos de trabajo al usar App Builder
Tool - Read AppBuilder Pricing Request
Este flujo de trabajo recibe información de productos mediante solicitudes de API de App Builder e invoca los flujos de trabajo de Google Shopping API, configuración de indicaciones, Azure OpenAI, notificación y registro para realizar análisis de precios. El flujo de trabajo devuelve la información de precios actualizada a las tablas de App Builder.
Main Entry - Sync App Builder Products API Request Handler
Este flujo de trabajo invoca Tool - Read Products From AppBuilder Table para procesar todos los productos bajo demanda en lugar de esperar una ejecución programada. Se puede desencadenar este flujo de trabajo utilizando una API configurada en App Builder o ejecutarlo fuera de App Builder.
Main Entry - Slack API Request Handler
Este flujo de trabajo envía resultados de IA y un resumen de procesamiento a un canal de Slack cuando el campo flagNotification de un producto está marcado como verdadero. Se puede personalizar este flujo de trabajo para otros canales de comunicación creando un nuevo conector y operación.
Tool - Get ERP Products with App Builder
Este flujo de trabajo se conecta a SAP u otros sistemas ERP para recuperar productos y almacenarlos en tablas de App Builder en un formato genérico. Al conectarse a SAP ECC, RFC_READ_TABLE invoca la tabla MARA para obtener la lista de materiales, y BAPI_MATERIAL_GETALL se utiliza para obtener los detalles de cada material. El flujo de trabajo contiene la operación Get SAP Materials. El flujo de trabajo se ejecuta en horario programado o manualmente.
Tool - Read Products From AppBuilder Table
Este flujo de trabajo procesa todos los productos de la tabla de App Builder. El flujo de trabajo contiene la operación Initial Data Load que invoca los flujos de trabajo de Google Shopping API, configuración de indicaciones, Azure OpenAI, notificación y registro para realizar análisis de precios. El flujo de trabajo se ejecuta en horario programado o manualmente.
Utility - Store to App Builder
Este flujo de trabajo verifica si un producto existe en la tabla de App Builder. El flujo de trabajo actualiza el producto si existe, o crea un nuevo registro si no existe.
Utility - AppBuilder Logging
Este flujo de trabajo almacena información de ejecución en la tabla AISearchLog de App Builder cuando se ejecutan Tool - Read AppBuilder Pricing Request y Tool - Read Products From AppBuilder Table. El flujo de trabajo registra el esquema del producto con valores de IA y el esquema de configuración utilizado en cada ejecución.
Flujos de trabajo sin usar App Builder
Tool - Get ERP Products
Este flujo de trabajo recibe solicitudes de API para recuperar materiales de SAP u otros sistemas ERP, realiza análisis de precios utilizando Google Shopping y el LLM, y devuelve resultados mediante notificaciones de Slack. Al conectarse a SAP ECC, RFC_READ_TABLE invoca la tabla MARA para obtener la lista de materiales, y BAPI_MATERIAL_GETALL se utiliza para obtener los detalles de cada material. La llamada de API requiere un parámetro obligatorio startingDate en la URL (por ejemplo, https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/ERPProductsSuggestedPrice?startingDate=20250101) para limitar la búsqueda de productos. Sin este parámetro, la integración mostrará un error. Este flujo de trabajo es similar a Tool - Read Products From AppBuilder Table pero no almacena datos en App Builder.
Main Entry - Generic Single Pricing API Request Handler
Este flujo de trabajo recibe solicitudes de API con información de productos en formato JSON y realiza análisis de precios sin requerir SAP ECC ni App Builder. Se proporciona información completa del producto en el cuerpo de la solicitud de API, y el flujo de trabajo devuelve el producto con información de IA actualizada en la respuesta de API. El flujo de trabajo envía notificaciones de Slack si el campo flagNotification está marcado como verdadero.
Main Entry - Slack API Request Handler
Este flujo de trabajo envía resultados de IA y un resumen de procesamiento a un canal de Slack cuando el campo flagNotification en la solicitud de API de un producto está marcado como verdadero. Se puede personalizar este flujo de trabajo para otros canales de comunicación creando un nuevo conector y operación.
Flujos de trabajo compartidos
Los siguientes flujos de trabajo se utilizan tanto en los enfoques con App Builder como sin App Builder. Estos flujos de trabajo se ejecutan automáticamente como parte de otros flujos de trabajo y no están diseñados para ejecución directa.
Tool - Build Prompt Configuration
Este flujo de trabajo construye indicaciones dinámicas para análisis de precios impulsado por IA. El flujo de trabajo busca configuración almacenada en tablas de App Builder cuando se usa App Builder, o construye indicaciones a partir de variables de proyecto cuando no se usa App Builder.
Utility - Search Products in Google Shopping
Este flujo de trabajo llama a la API de Google Shopping para recuperar información de precios de mercado de productos. El flujo de trabajo utiliza el SKU del producto como filtro de consulta para buscar y recuperar datos de precios de competidores de Google Shopping.
Main - AI Agent Tools Logic
Este flujo de trabajo llama a LLM (Azure OpenAI) para realizar análisis de precios según la información del producto y los datos del mercado.
Activar los flujos de trabajo del proyecto
Al usar App Builder
Si se utiliza una conexión ERP, ejecuta la operación Get SAP Materials en el flujo de trabajo Tool - Get ERP Products with App Builder para cargar materiales en bases de datos de App Builder. Alternativamente, se pueden proporcionar datos de productos directamente a través de la API sin una conexión ERP.
Para ejecutar una operación, coloca el cursor sobre el nombre de la operación y selecciona la opción Run. Ejecuta las operaciones nuevamente en el futuro cuando tus datos se actualicen.
Consejo
Se pueden programar estas operaciones para obtener datos actualizados de forma regular. Para configurar una programación, abre el menú de acciones de la operación y selecciona Settings > Schedules.
Al no usar App Builder
Los siguientes flujos de trabajo se ejecutan mediante llamadas API sin requerir App Builder. Estos flujos de trabajo realizan análisis de precios sin almacenar resultados en bases de datos de App Builder:
-
Tool - Get ERP Products: Una API activa este flujo de trabajo para obtener materiales de SAP u otro sistema, realizar análisis de precios y devolver resultados mediante notificaciones de Slack. Como este flujo de trabajo no requiere App Builder, se envían notificaciones de Slack para mostrar los resultados del análisis de precios de todos los productos.
-
Main Entry - Generic Single Pricing API Request Handler: Una API activa este flujo de trabajo con un cuerpo de solicitud JSON que contiene información del producto. El flujo de trabajo procesa el producto y envía resultados del análisis de precios mediante notificaciones de Slack.
-
Main Entry - Slack API Request Handler: Este flujo de trabajo se activa cuando el campo
flagNotificationen la solicitud de API está habilitado. El flujo de trabajo envía resultados de IA y resumen de procesamiento a Slack.
Solución de problemas
Si encuentras problemas, revisa los siguientes registros para obtener información detallada de solución de problemas:
Para obtener asistencia adicional, contacta al Jitterbit support.