Agente de Precificação Competitiva do Jitterbit
Visão geral
O Jitterbit oferece o Agente de Precificação Competitiva aos clientes através do Jitterbit Marketplace. Este agente utiliza IA para analisar a precificação dos concorrentes em marketplaces, ajudando as organizações a tomar decisões de preço baseadas em dados e a manter-se competitivas. O agente utiliza a técnica de Geração Aumentada por Recuperação (RAG), que combina o raciocínio de LLM com acesso a ferramentas e fontes de dados externas.
O agente aproveita dados de mercado em tempo real do Google Shopping para comparar preços de produtos entre concorrentes. Com análise alimentada por IA, avalia estratégias de precificação e recomenda preços ideais com base em regras de negócio configuráveis e objetivos de posicionamento no mercado.
O agente utiliza análise alimentada por IA para realizar recomendações inteligentes de precificação. Pode-se configurar o agente para funcionar com ou sem App Builder, conforme suas necessidades. O agente executa as seguintes tarefas:
- (Opcional) Conecta-se ao SAP ECC para recuperar dados de produtos (materiais) em tempo real usando o Jitterbit Studio. Os produtos também podem ser fornecidos diretamente através de chamadas de API.
- (Opcional) Armazena produtos recuperados no Jitterbit App Builder para gerenciamento de dados e configuração.
- Consulta a Google Shopping API usando a SKU do produto para recuperar informações de precificação de concorrentes em todos os produtos armazenados.
- Processa produtos individuais sob demanda usando uma API personalizada do Jitterbit.
- Cria prompts dinâmicos baseados na estratégia de negócio configurável (armazenada no App Builder ou variáveis de projeto) para orientar as recomendações de preço.
- Utiliza um LLM para analisar a precificação dos concorrentes e gerar recomendações.
- Armazena resultados de análise de precificação (no App Builder, se usado) e envia notificações do Slack para produtos sinalizados.
Este documento explica como configurar e operar este agente de IA. Ele cobre arquitetura e pré-requisitos, exemplos de consultas de API que mostram o que o agente pode fazer, e etapas para instalar, configurar e operar o agente de IA.
Arquitetura do agente de IA
Este agente de IA analisa a precificação dos concorrentes e recomenda preços ideais com base em dados de mercado e estratégia de negócio. Um fluxo de trabalho típico segue estas etapas:
- Execute o agente em um cronograma ou manualmente, e o agente recupera produtos do SAP ECC ou App Builder.
- Para cada produto, o agente consulta a Google Shopping API para coletar dados de precificação de concorrentes, incluindo preços mínimo, médio e máximo.
- O agente constrói um prompt dinâmico baseado em regras de negócio configuráveis armazenadas no App Builder (como intenção de posicionamento no mercado e estratégia de ancoragem de preço) ou em variáveis de projeto.
- Azure OpenAI analisa os dados do mercado usando o prompt dinâmico e retorna recomendações de precificação, incluindo preço sugerido, pontuação de confiança e faixas de preço dos concorrentes.
- O agente armazena resultados de análise no App Builder, retorna resultados via API para produtos individuais ou envia notificações do Slack, dependendo de sua configuração.
- Produtos com a sinalização de notificação habilitada acionam alertas do Slack quando os preços mudam, recomendações são geradas ou quando você executa qualquer um dos fluxos de trabalho disponíveis.
- Pode-se acionar a análise de produtos individuais através de uma chamada de API personalizada pela interface do App Builder ou executar processamento em lote para todos os produtos. Ambas as abordagens funcionam com ou sem App Builder.
Diagramas de fluxo de trabalho
Os diagramas a seguir mostram os fluxos de trabalho principais para esta integração. Dependendo de você usar o App Builder para armazenamento de dados e configuração, os fluxos de trabalho diferem em como recuperam dados de produtos e retornam resultados.
Fluxos de trabalho ao usar o App Builder
Ao usar o App Builder, o agente armazena dados de produtos e resultados de análise nas tabelas do App Builder.
Análise de precificação em lote
Pode-se executar o agente em um cronograma ou manualmente para analisar todos os produtos. Ao usar uma conexão de ERP, opcionalmente pode-se armazenar produtos no App Builder imediatamente após consultar o sistema de ERP e, em seguida, recuperá-los do App Builder para continuar o fluxo de trabalho do Agente de Precificação Competitiva do 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álise de preços sob demanda
Os usuários acionam a análise de produtos individuais através da interface do 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
Fluxos de trabalho sem usar o App Builder
Sem usar o App Builder, o agente recupera produtos diretamente dos sistemas ERP e retorna resultados através de respostas de API e notificações do Slack.
Análise de preços em lote do ERP
Uma API dispara o agente para recuperar produtos do ERP e realizar análise de preços:
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álise de preços de produto único via API
Os usuários acionam a análise de produtos individuais através de chamadas diretas da API com payload 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
Pré-requisitos
Você precisa dos seguintes componentes para usar este agente de IA.
Componentes do Harmony
Você deve ter uma licença do Jitterbit Harmony com acesso aos seguintes componentes:
- Jitterbit Studio
- Jitterbit API Manager
- Jitterbit App Builder versão 4.55.1 com banco de dados PostgreSQL (opcional, para gerenciamento de dados e configuração)
- Jitterbit Competitive Pricing Agent adquirido como complemento de licença
Endpoints suportados
O agente de IA incorpora os seguintes endpoints. Você pode acomodar outros sistemas modificando as configurações de endpoints e fluxos de trabalho do projeto.
Modelo de linguagem grande (LLM)
O agente de IA usa Azure OpenAI como provedor de LLM para análise de preços. Para usar o Azure OpenAI, você deve ter uma assinatura do Microsoft Azure com permissões para criar um recurso do Azure OpenAI com um modelo gpt-4o implantado.
Dica
Para informações de preços, consulte a página de preços do Azure OpenAI.
Fonte de dados
O agente de IA pode recuperar dados de produtos do SAP ECC ou de outros sistemas ERP, ou você pode fornecer dados de produtos diretamente através de chamadas de API. Se você optar por usar o App Builder, ele armazena e exibe informações de produtos e resultados da análise de preços. Sem o App Builder, o agente retorna resultados diretamente através de respostas de API e notificações do Slack.
Dados do Google Shopping
O agente de IA usa SerpApi para acessar dados do Google Shopping. Você deve ter uma conta SerpApi para usar a API Google Shopping. Este serviço é externo ao Google e ao Jitterbit. A SerpApi oferece planos gratuitos e pagos.
Serviço de notificação
O agente de IA usa Slack para enviar notificações de produtos com a flag de notificação ativada quando um registro de produto é alterado. Você pode substituir o Slack por qualquer outro endpoint de notificação modificando as configurações de endpoints do projeto e adaptando os fluxos de trabalho aos esquemas exigidos pelo seu serviço escolhido. Se usar o Slack, você deve criar um app do Slack (usando o arquivo slack_app_manifest.json fornecido no download de customizações) e obter os tokens de autenticação necessários.
Exemplos de consultas de API
Os exemplos a seguir mostram como chamar a API personalizada do Jitterbit para realizar análise de preços.
Chamadas de API com App Builder
Estes exemplos demonstram chamadas de API ao usar o App Builder para armazenamento e gerenciamento de dados.
Análise de preços de produto único
A API aceita detalhes de produtos do App Builder. O App Builder fornece a solicitação JSON de acordo com a regra do App Builder criada. A resposta inclui os dados do produto original mais análise de preços gerada por IA: preços mínimo, médio e máximo dos concorrentes, preço recomendado e pontuação de confiança.
-
Endpoint:
POST https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/suggestedprice -
Requisição:
{ "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 } -
Resposta:
{ "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álise de preços em lote para todos os produtos
A API dispara o processamento em lote de todos os produtos armazenados no App Builder. O processo em lote é executado em segundo plano para evitar tempo limite da API.
-
Endpoint:
POST https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/AppBuilderAllProductsSuggestedPrice -
Requisição: Nenhuma obrigatória.
-
Resposta:
{ "status": "Success", "message": "The integration will run but it will take some time. Please verify that the data is updated after some time" }
Chamadas de API sem App Builder
Estes exemplos demonstram chamadas de API ao realizar análise de preços sem usar o App Builder para armazenamento de dados.
Processamento em lote do ERP
A API dispara o processamento em lote de todos os produtos do sistema ERP. O processo em lote é executado em segundo plano para evitar tempo limite da API.
-
Endpoint:
POST https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/ERPProductsSuggestedPrice -
Requisição: Nenhuma obrigatória.
-
Resposta:
{ "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álise de preços de um único produto
A API permite análise de preços sem usar o App Builder para armazenamento de dados. O agente retorna resultados na resposta da API e os envia via notificações do Slack.
-
Endpoint:
POST https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/GenericProductSuggestedPrice -
Requisição:
{ "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 } -
Resposta:
{ "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 }
Instalação, configuração e operação
Siga estas etapas para instalar, configurar e operar este agente de IA:
- Baixar personalizações e instalar o projeto
- Criar recursos do Microsoft Azure
- Criar o aplicativo Slack
- Configurar variáveis do projeto
- Testar conexões
- Implantar o projeto
- Criar a API personalizada do Jitterbit
- Instalar o aplicativo App Builder (opcional, apenas para usuários do App Builder)
- Revisar fluxos de trabalho do projeto
- Disparar os fluxos de trabalho do projeto
Para orientação sobre solução de problemas, consulte Solução de problemas.
Baixar personalizações e instalar o projeto
Siga estas etapas para baixar arquivos de personalização e instalar o projeto do Studio para o agente de IA:
-
Faça login no portal Harmony em https://login.jitterbit.com e abra o Marketplace.
-
Localize o agente de IA chamado Jitterbit Competitive Pricing Agent. Para localizá-lo, use a barra de pesquisa ou, no painel Filters, em Type, selecione AI Agent para limitar a exibição apenas aos agentes de IA.
-
Clique no link Documentation do agente de IA para abrir sua documentação em uma aba separada. Mantenha a aba aberta para consultar depois de iniciar o projeto.
-
Clique em Start Project para abrir um diálogo de configuração em duas etapas para baixar personalizações e importar o agente de IA como um projeto do Studio.
Nota
Se ainda não tiver adquirido o agente de IA, Get agent será exibido. Clique nele para abrir um diálogo informativo e clique em Submit para que um representante o contate sobre a compra do agente de IA.
-
Na etapa de configuração 1, Download Customizations, o arquivo a seguir é fornecido para facilitar a configuração do aplicativo Slack. Selecione o arquivo e clique em Download Files:
- Arquivo de manifesto do aplicativo Slack:
slack_app_manifest.json
- Arquivo de manifesto do aplicativo Slack:
-
Clique em Next.
-
Na etapa de configuração 2, Create a New Project, selecione um ambiente onde o projeto do Studio será criado e clique em Create Project.
-
Um diálogo de progresso é exibido. Quando indicar que o projeto foi criado, use o link do diálogo Ir para Studio ou abra o projeto diretamente da página Projetos do Studio.
Criar recursos do Microsoft Azure
Crie os seguintes recursos do Microsoft Azure e retenha as informações para configurar o agente de IA. Para criar e gerenciar esses recursos, você deve ter uma assinatura do Microsoft Azure com as permissões apropriadas.
Recurso Azure OpenAI
Você deve criar um recurso Azure OpenAI e implantar um modelo gpt-4o através do portal Azure AI Foundry.
Retenha o nome da implantação, a URL do endpoint do Azure OpenAI e a chave de API. Você inserirá esses valores nas variáveis do projeto Azure OpenAI quando configurar as variáveis do projeto na próxima etapa.
Para encontrar esses valores, siga estas etapas:
-
No portal Azure AI Foundry, abra o recurso OpenAI específico.
-
Na página de destino do recurso, copie a URL do endpoint (você usará isso para a variável do projeto
azure_openai_base_url) e a chave de API (você usará isso para a variávelazure_openai_api_key). -
No menu de navegação em Recursos compartilhados, selecione Implantações. Copie o nome da implantação (você usará isso para a variável
azure_deployment_id).
Criar o app Slack
Para receber notificações do Slack sobre mudanças de preços, siga estas etapas:
-
Crie um app Slack usando o arquivo de manifesto do app Slack (
slack_app_manifest.json) fornecido com os arquivos de personalização deste agente de IA. Alternativamente, crie o app do zero. -
Se você usar o arquivo de manifesto fornecido, substitua os seguintes espaços reservados pelos seus próprios valores de configuração:
Espaço reservado Descrição {{Replace with Slack bot name}}O nome que você deseja que seu bot Slack tenha, conforme exibido aos usuários. Substitua esse valor em dois locais no manifesto. {{Replace with Jitterbit API URL}}A URL do serviço da API personalizada do Jitterbit que você criou em Criar a API personalizada do Jitterbit. -
Instale o app no seu workspace do Slack.
-
Obtenha o token do bot (para o campo Bot User OAuth Token da conexão do Slack) e insira seu valor para a variável do projeto
slack_bot_oauth_user_token. -
Configure a variável do projeto
slack_channel_namecom o canal para o qual as notificações devem ser enviadas. -
Insira o valor do token do bot para a variável do projeto
slack_bot_oauth_user_tokene o nome do canal para a variável do projetoslack_channel_name. Você configurará esses valores na próxima etapa.
Configurar variáveis do projeto
No projeto do Studio instalado anteriormente do Marketplace, você deve definir valores para as seguintes variáveis do projeto.
Para configurar as variáveis do projeto, use o menu de ações do projeto para selecionar Variáveis do Projeto e abrir um painel na parte inferior da página onde você pode revisar e definir os valores.
Slack
| Nome da variável | Descrição |
|---|---|
slack_channel_name |
Canal do Slack onde as notificações são enviadas com análise de preços de produtos. |
slack_bot_oauth_user_token |
O token do bot do Slack obtido após criar o app Slack, usado para o campo Bot User OAuth Token da conexão do Slack. |
SAP
| Nome da variável | Descrição |
|---|---|
SAP_Username |
Nome de usuário de integração para a instância SAP. |
SAP_System_Number |
Número do sistema para conectar à instância SAP. |
SAP_Password |
Senha para a instância SAP. |
SAP_Language |
Código de idioma, como EN para inglês. |
SAP_Host |
URL do servidor SAP. Exemplo: ecc489.example.com. |
SAP_Client |
Cada cliente possui seus próprios dados, personalizações e configurações. O número do cliente identifica exclusivamente cada cliente dentro de um sistema SAP. |
SAP_Last_Modified_Date |
Data de início para recuperar materiais SAP. Use o formato YYYYMMDD. |
Google Shopping
| Nome da variável | Descrição |
|---|---|
Google_Location |
Filtrar resultados por país ou região. |
Google_Key |
Chave de API do Google Shopping. Crie uma conta em https://serpapi.com. |
Google_Engine |
Tipo de mecanismo que o Google usa para pesquisar dados. Use google_shopping_light por padrão. |
Notificações por email
| Nome da variável | Descrição |
|---|---|
Email_Summary |
Defina como true para ativar o envio de notificações de email resumidas. |
Email_SMTP_Servers |
Lista separada por vírgula de servidores SMTP usados para enviar notificações por email. |
Email_Sender_Password |
Senha da conta de email usada para enviar notificações por email. |
Email_Sender_Account |
Conta de email usada para enviar notificações por email. |
Email_Recipients |
Lista separada por vírgula de contas de email para receber notificações por email. |
Email_Enabled |
Defina como true para ativar o envio de notificações por email. |
Email_Display_Name |
Conta de email usada no campo "de" das notificações por email. |
Email_Data_Error |
Defina como true para ativar o envio de notificações de email de falha. |
Azure OpenAI
| Nome da variável | Descrição |
|---|---|
azure_openai_top_p |
Controla quanto da massa de probabilidade o modelo considera ao gerar texto. Valores baixos (como 0,1–0,3) são muito focados. Valores altos (como 0,9–1,0) são mais diversos e criativos. Defina como 0.95. |
azure_openai_temperature |
Controla a aleatoriedade da saída do modelo. Valores mais baixos (como 0,0–0,3) tornam as respostas mais focadas e determinísticas, enquanto valores mais altos (como 0,8–1,0) aumentam a criatividade e a diversidade. Defina como 0.2 para respostas determinísticas. |
azure_deployment_id |
O nome da implantação do Azure OpenAI usada para acessar o modelo. Defina como gpt-4o. |
azure_openai_base_url |
A URL base para acessar o serviço Azure OpenAI. Exemplo: https://<your-resource-name>.openai.azure.com. |
azure_openai_api_key |
A chave de API usada para autenticar solicitações ao serviço Azure OpenAI. |
App Builder
Nota
Você deve preencher os valores dessas variáveis após Instalar a aplicação App Builder. Pode deixar essas variáveis em branco por enquanto.
| Nome da variável | Descrição |
|---|---|
app_builder_base_url |
A URL base da sua instância do App Builder (por exemplo, https://development.appbuilder.jitterbit.com). Você obtém esse valor após concluir a seção Integração da API do App Builder. |
app_builder_api_key |
Chave de autenticação da API REST para a chamada da API. Você obtém esse valor após concluir a seção Integração da API do App Builder. Para instruções detalhadas sobre como obter esse valor, consulte Publicar app do App Builder como um endpoint da API REST. |
app_builder_endpoint_url |
O caminho do endpoint que vem após a URL base. Valor padrão: rest/v1/PricingAIAgentApp. Esse valor não precisa ser modificado pelo usuário. |
Parâmetros de prompt dinâmico
Essas variáveis controlam o comportamento da IA ao criar recomendações de preço.
Nota
Se você estiver usando o App Builder, a única variável de projeto entre essas que precisa configurar é ai_Use_PV_Configuration_Values. Pode deixar as demais com seus valores padrão.
| Nome da variável | Descrição |
|---|---|
ai_Use_PV_Configuration_Values |
Defina como true para usar a aplicação App Builder para configuração. Defina como false para usar valores de variáveis de projeto. |
ai_System_Prompt |
Parte estática das instruções fornecidas à IA. Define o papel da IA como especialista em shopping e análise de preços competitivos. Consulte Valores de prompt padrão para o texto padrão necessário. Não modifique a menos que seja necessário. |
ai_Premium_Discount_Percentage |
Percentual aplicado de acordo com a intenção de posicionamento. Valores positivos aumentam o preço (premium), valores negativos diminuem o preço (desconto). |
ai_Positioning_Intent |
Estratégia de posicionamento no mercado. Opções: Match market, Premium ou Undercut market. |
ai_Outlier_Exclusion |
Defina como true para remover preços extremos de concorrentes (valores >2x ou <0,5x a mediana) antes de calcular estatísticas. |
ai_Minimum_Competitor_Sample_Size |
Número mínimo de concorrentes válidos necessário para recomendações confiáveis. Se abaixo desse limite, a IA dispara comportamento de fallback. |
ai_Max_Price_Increase |
Percentual máximo que a IA pode recomendar acima do preço base ou preço influenciado por âncora. |
ai_Max_Price_Decrease |
Percentual máximo que a IA pode recomendar abaixo do preço base ou preço influenciado por âncora. |
ai_Market_Price_Anchor |
Ponto de referência para decisões de preço. Opções: Average, Lowest competitor, Median ou Top quartile. |
ai_Base_Price_Weighting |
Percentual que controla a força com que o preço base influencia a recomendação final em relação à âncora do mercado. Defina como 0 para ignorar preço base, 100 para ignorar âncora de mercado ou 50 para combinar ambos igualmente. |
ai_Dynamic_Prompt |
Parte variável do prompt do sistema que incorpora valores de configuração. Contém instruções sobre como a IA deve analisar dados de preço e gerar recomendações. Consulte Valores de prompt padrão para o texto padrão necessário. Não modifique a menos que seja necessário. |
Valores padrão do prompt
Os seguintes valores padrão devem ser mantidos para as variáveis ai_System_Prompt e ai_Dynamic_Prompt. Modificar esses valores pode causar problemas na execução da IA.
Valor padrão 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 padrão 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
Testar conexões
Teste as configurações do endpoint para verificar a conectividade usando os valores das variáveis de projeto definidas.
Para testar as conexões, acesse a aba Project endpoints and connectors (Endpoints e conectores do projeto) da paleta de componentes de design, passe o cursor sobre cada endpoint e clique em Test (Testar).
Implantar o projeto
Implante o projeto do Studio.
Para implantar o projeto, use o menu de ações do projeto e selecione Deploy (Implantar).
Criar a API personalizada do Jitterbit
Crie uma API personalizada para múltiplos serviços a fim de disparar diferentes operações usando o API Manager.
Escolha o conjunto apropriado de serviços abaixo com base em se você usa o App Builder ou chamadas diretas de API, e configure e publique a API personalizada.
Serviços para App Builder
Configure estes serviços se usar a abordagem do App Builder. Após configurar os serviços, publique a API personalizada.
-
Service 1: Get AI Suggested Price
Configuração Valor Service name Get AI Suggested PriceOperation Initial Data Load - API RunPath /suggestedpriceMethod POSTResponse Type System Variable -
Service 2: Get AI All Products Suggested Price
Configuração Valor Service name Get AI All Products Suggested PriceOperation Sync App Builder Products API Request HandlerPath /AppBuilderAllProductsSuggestedPriceMethod POSTResponse Type System Variable
Importante
Salve as URLs dos serviços da API publicada. Você usará essas URLs na seção App Builder API integration para configurar a conexão entre o App Builder e a API personalizada do Jitterbit.
Serviços para chamadas de API (sem App Builder)
Configure estes serviços se você usar chamadas de API sem o App Builder. Após configurar os serviços, publique a API personalizada.
-
Service 1: Initial Data Load Products
Configuração Valor Service name Initial Data Load ProductsOperation Initial Data Load ProductsPath /ERPProductsSuggestedPriceMethod POSTResponse Type System Variable -
Service 2: Get AI Suggested Price
Configuração Valor Service name Get AI Suggested PriceOperation Initial Data Load - Generic API RunPath /GenericProductSuggestedPriceMethod POSTResponse Type System Variable
Importante
Salve as URLs dos serviços da API publicada para uso ao fazer solicitações de API. Para encontrar as URLs dos serviços, acesse a API details drawer na aba Services (Serviços), passe o cursor sobre a coluna Actions (Ações) de cada serviço e clique em Copy API service URL (Copiar URL do serviço da API).
Instalar a aplicação do App Builder
Estas instruções são necessárias apenas se você estiver usando o App Builder para gerenciamento e configuração de dados. Se estiver usando o agente de IA sem o App Builder, pule esta seção e configure o agente usando variáveis de projeto conforme descrito em Dynamic prompt parameters.
Nota
Este agente de IA usa comunicação bidirecional por API com o App Builder:
- O agente de IA chama APIs do App Builder para armazenar informações de produtos.
- O App Builder chama a API customizada do Jitterbit para realizar análise de preços.
Você configurará URLs de API em ambas as variáveis de projeto do Studio e integração de API do App Builder durante as etapas abaixo.
Para instalar e configurar o aplicativo App Builder, contate o suporte do Jitterbit para obter o arquivo de instalação do App Builder (arquivo .lp).
Importante
Se usar o pacote de lançamento do App Builder, sua instância do App Builder deve executar a versão 4.55.1 e usar um banco de dados PostgreSQL.
Instalar o arquivo LP
Instale o pacote de lançamento na sua instância do App Builder:
-
Faça login no App Builder.
-
Acesse o IDE.
-
Em Deploy, clique em Install Release.
-
Clique em + Package e depois clique em Browse.
-
Selecione o arquivo LP fornecido pelo suporte do Jitterbit.
-
Clique em Save. O painel Release à direita exibe as informações do pacote.
-
Feche o diálogo Package.
-
Confirme se os detalhes estão corretos e clique em Install.
Integração de API do App Builder
As etapas nesta seção configuram a comunicação bidirecional por API entre o App Builder e a API customizada do Jitterbit:
- Entrada: Permite que o Jitterbit chame APIs do App Builder para armazenar informações de produtos.
- Saída: Permite que o App Builder chame a API customizada do Jitterbit para disparar a análise de preços.
Configurar autenticação de API para chamadas de entrada
Configure a autenticação por API Key no App Builder para permitir que o Jitterbit armazene dados de produtos. Você precisa de um provedor de segurança API Key e API Keys específicas do usuário.
Nota
-
Se você tiver um provedor de segurança API Key existente: Configure API Keys para os usuários específicos que precisam de acesso.
-
Se você não tiver um provedor de segurança API Key: Crie o provedor de segurança API Key e configure API Keys para usuários específicos. Não configure nem publique endpoints.
Para instruções detalhadas, consulte Publicar aplicativo App Builder como um endpoint de API REST.
Configurar o servidor de dados para chamadas de saída
Configure o App Builder para chamar a API customizada do Jitterbit quando os usuários clicarem no botão Send data to AI. Isto dispara o workflow Tool - Read AppBuilder Pricing Request.
-
Acesse IDE > Data Servers e localize o servidor de dados AI Pricing Agent API Source.
-
Clique em Open record e depois clique em Edit.
-
No campo URL, insira a URL da API customizada do Jitterbit que você salvou ao criar a API customizada do Jitterbit.
-
Clique em Save.
Atualizar variáveis de projeto do Studio
Agora que você completou a integração de API do App Builder, insira os valores para as variáveis de projeto do App Builder.
Atualizar tabelas do App Builder usando APIs
O projeto do Studio usa as variáveis de projeto app_builder_base_url e app_builder_endpoint_url para chamar os seguintes endpoints do App Builder:
- Upsert tabela Products:
/products/[appBuilderProductID](POST) - Criar dados históricos do App Builder:
/aiSearchLog(POST)
Nenhuma configuração adicional é necessária. Estes endpoints são usados automaticamente pelos workflows do projeto.
Obter dados do App Builder usando APIs
Para recuperar dados do App Builder usando a API REST nativa do App Builder, as seguintes solicitações são usadas:
- Obter informações de produto:
GET - https://development.appbuilder.jitterbit.com/rest/v1/PricingAIAgentApp/products -
Obter valores de configuração:
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
Tabelas do App Builder
O aplicativo App Builder armazena e exibe as seguintes informações em diferentes tabelas.
As seguintes tabelas são usadas pelo aplicativo App Builder. Para informações detalhadas sobre tipos de dados do App Builder e suas especificações, consulte a documentação de Tipos de dados de coluna do App Builder.
-
AISearchLog: Esta tabela armazena dados históricos para cada execução de IA.
Nome da coluna Tipo de dados Descrição AISearchLogIDUUID Identificador exclusivo dateDateTime Carimbo de data/hora da execução de IA productInformationNVarchar(5000) Informações de produto com valores gerados por IA configurationNVarchar(5000) Esquema de configuração usado na análise -
ConfigurationControlValues: Esta tabela armazena a estratégia de análise usada para criar o prompt dinâmico para resultados de análise de preços.
Nome da coluna Tipo de dados Descrição ConfigurationControlValueIDUUID Identificador exclusivo marketPriceAnchorValueIDUUID Referência ao valor de âncora de preço de mercado positioningIntentIDUUID Referência ao valor de intenção de posicionamento basePriceWeightingTinyInt Percentual que controla a influência do preço base premiumDiscountPercentageTinyInt Percentual aplicado de acordo com a intenção de posicionamento maxPriceDecreaseTinyInt Percentual máximo para redução de preço maxPriceIncreaseTinyInt Percentual máximo para aumento de preço minimumCompetitorSampleSizeNVarchar(50) Número mínimo de concorrentes necessário para recomendações confiáveis outlierExclusionBit Sinalizador booleano para habilitar exclusão de outliers dynamicPromptTextNVarchar(5000) Parte variável do prompt que incorpora valores de configuração staticPromptTextNVarchar(5000) Parte estática das instruções de IA -
marketPriceAnchorValues: Esta tabela armazena valores de dropdown usados na configuração de análise.
Nome da coluna Tipo de dados Descrição marketPriceAnchorValueIDUUID Identificador exclusivo marketPriceAnchorValueNVarchar(50) A opção de valor de âncora: Média,Concorrente mais baixo,MedianaouPrimeiro quartilscriptNVarchar(5000) Script associado ao valor de âncora -
positioningIntentValues: Esta tabela armazena valores de dropdown usados na configuração de análise.
Nome da coluna Tipo de dados Descrição positioningIntentIDUUID Identificador exclusivo positioningIntentValueNVarchar(50) A opção de intenção de posicionamento: Acompanhar mercado,PremiumouSubestimar mercadoscriptNVarchar(5000) Script associado à intenção de posicionamento -
Produtos: Esta tabela armazena informações de produtos. Preencha esta tabela manualmente ou use o workflow Tool - Get ERP Products with App Builder para importar produtos automaticamente do SAP ECC.
Nome da coluna Tipo de dados Descrição ProductIDUUID Identificador único do produto BrandNVarchar(50) Marca do produto SKUNVarchar(50) Unidade de Manutenção de Estoque VinylAuditRefIdUUID Identificador de referência de auditoria de vinil DescriptionNVarchar(100) Descrição do produto BasePriceNumeric(15,2) Preço base do produto CategoryNVarchar(50) Categoria do produto AICompetitorMinimumNVarchar(50) Preço mínimo do concorrente gerado por IA AICompetitorAverageNVarchar(50) Preço médio do concorrente gerado por IA AICompetitorMaximumNVarchar(50) Preço máximo do concorrente gerado por IA AIPriceRecommendationNVarchar(50) Preço recomendado gerado por IA AIConfidenceScoreNVarchar(50) Pontuação de confiança da IA para a recomendação SourceIDNVarchar(50) Identificador do sistema de origem SourceNameNVarchar(50) Nome do sistema de origem flagNotificationBit Sinalizador booleano para ativar notificações Slack
Revisar workflows do projeto
O projeto Studio contém 12 workflows que implementam a funcionalidade do agente de preços com IA. Cada workflow serve um propósito específico no processo de análise de preços. Compreender esses workflows ajuda a determinar quais configurar e executar com base na sua abordagem de implementação.
| Workflow | Tipo de acionamento | App Builder | Non-App Builder |
|---|---|---|---|
| Tool - Read AppBuilder Pricing Request | API | ||
| Tool - Read Products From AppBuilder Table | Manual/Agendado | ||
| Tool - Build Prompt Configuration | Chamado por outros workflows | ||
| Utility - Search Products in Google Shopping | Chamado por outros workflows | ||
| Main - AI Agent Tools Logic | Chamado por outros workflows | ||
| Tool - Get ERP Products with App Builder | Manual/Agendado | ||
| Tool - Get ERP Products | API | ||
| Utility - Store to App Builder | Chamado por outros workflows | ||
| Utility - AppBuilder Logging | Chamado por outros workflows | ||
| Main Entry - Slack API Request Handler | Chamado por outros workflows | ||
| Main Entry - Sync App Builder Products API Request Handler | API | ||
| Main Entry - Generic Single Pricing API Request Handler | API |
Fluxos de trabalho ao usar App Builder
Tool - Read AppBuilder Pricing Request
Este fluxo de trabalho recebe informações de produtos via solicitações da API do App Builder e chama a API do Google Shopping, configuração de prompt, Azure OpenAI, notificação e fluxos de trabalho de registro para realizar análise de preços. O fluxo de trabalho retorna informações de preço atualizadas às tabelas do App Builder.
Main Entry - Sync App Builder Products API Request Handler
Este fluxo de trabalho chama Tool - Read Products From AppBuilder Table para processar todos os produtos sob demanda em vez de aguardar uma execução agendada. Você pode ativar esse fluxo de trabalho usando uma API configurada no App Builder ou executá-lo fora do App Builder.
Main Entry - Slack API Request Handler
Este fluxo de trabalho envia resultados de IA e resumo de processamento para um canal do Slack quando o campo flagNotification de um produto é marcado como verdadeiro. Você pode personalizar esse fluxo de trabalho para outros canais de comunicação criando um novo conector e operação.
Tool - Get ERP Products with App Builder
Este fluxo de trabalho se conecta a SAP ou outros sistemas ERP para recuperar produtos e armazená-los em tabelas do App Builder em formato genérico. Ao conectar-se ao SAP ECC, RFC_READ_TABLE chama a tabela MARA para obter a lista de materiais, e BAPI_MATERIAL_GETALL é usado para obter os detalhes de cada material. O fluxo de trabalho contém a operação Get SAP Materials. O fluxo de trabalho é executado conforme agendado ou manualmente.
Tool - Read Products From AppBuilder Table
Este fluxo de trabalho processa todos os produtos da tabela do App Builder. O fluxo de trabalho contém a operação Initial Data Load que chama a API do Google Shopping, configuração de prompt, Azure OpenAI, notificação e fluxos de trabalho de registro para realizar análise de preços. O fluxo de trabalho é executado conforme agendado ou manualmente.
Utility - Store to App Builder
Este fluxo de trabalho verifica se um produto existe na tabela do App Builder. O fluxo de trabalho atualiza o produto se existir ou cria um novo registro se não existir.
Utility - AppBuilder Logging
Este fluxo de trabalho armazena informações de execução na tabela AISearchLog do App Builder quando Tool - Read AppBuilder Pricing Request e Tool - Read Products From AppBuilder Table são executados. O fluxo de trabalho registra o esquema do produto com valores de IA e o esquema de configuração usado em cada execução.
Fluxos de trabalho sem usar App Builder
Tool - Get ERP Products
Este fluxo de trabalho recebe solicitações de API para recuperar materiais de SAP ou outros sistemas ERP, realiza análise de preços usando Google Shopping e o LLM, e retorna resultados via notificações do Slack. Ao conectar-se ao SAP ECC, RFC_READ_TABLE chama a tabela MARA para obter a lista de materiais, e BAPI_MATERIAL_GETALL é usado para obter os detalhes de cada material. A chamada de API requer um parâmetro obrigatório startingDate na URL (por exemplo, https://JBExample123456.jitterbit.net/defaultUrlPrefix/2.1/aiAgentPricingAgentApi/ERPProductsSuggestedPrice?startingDate=20250101) para estreitar a busca por produtos. Sem esse parâmetro, a integração exibirá um erro. Este fluxo de trabalho é semelhante a Tool - Read Products From AppBuilder Table mas não armazena dados no App Builder.
Main Entry - Generic Single Pricing API Request Handler
Este fluxo de trabalho recebe solicitações de API com informações de produtos em formato JSON e realiza análise de preços sem exigir SAP ECC ou App Builder. Você fornece dados completos do produto no corpo da solicitação de API, e o fluxo de trabalho retorna o produto com informações de IA atualizadas na resposta de API. O fluxo de trabalho envia notificações do Slack se o campo flagNotification for marcado como verdadeiro.
Main Entry - Slack API Request Handler
Este fluxo de trabalho envia resultados de IA e resumo de processamento para um canal do Slack quando o campo flagNotification de um produto na solicitação de API é marcado como verdadeiro. Você pode personalizar esse fluxo de trabalho para outros canais de comunicação criando um novo conector e operação.
Fluxos de trabalho compartilhados
Os fluxos de trabalho a seguir são usados tanto pela abordagem App Builder quanto pela abordagem sem App Builder. Esses fluxos de trabalho são executados automaticamente como parte de outros fluxos de trabalho e não são destinados à execução direta.
Tool - Build Prompt Configuration
Este fluxo de trabalho cria prompts dinâmicos para análise de preços orientada por IA. O fluxo de trabalho pesquisa a configuração armazenada em tabelas do App Builder ao usar o App Builder ou cria prompts a partir de variáveis de projeto quando não se usa o App Builder.
Utility - Search Products in Google Shopping
Este fluxo de trabalho chama a API do Google Shopping para recuperar informações de preços de mercado dos produtos. O fluxo de trabalho usa o SKU do produto como filtro de consulta para pesquisar e recuperar dados de preços de concorrentes do Google Shopping.
Main - AI Agent Tools Logic
Este fluxo de trabalho chama o LLM (Azure OpenAI) para realizar análise de preços com base nas informações do produto e nos dados de mercado.
Acionar os fluxos de trabalho do projeto
Ao usar o App Builder
Se usar uma conexão ERP, execute a operação Get SAP Materials no fluxo de trabalho Tool - Get ERP Products with App Builder para carregar materiais nos bancos de dados do App Builder. Alternativamente, você pode fornecer dados de produtos diretamente por meio da API sem uma conexão ERP.
Para executar uma operação, passe o cursor sobre o nome da operação e selecione a opção Run. Execute as operações novamente no futuro quando seus dados forem atualizados.
Dica
É possível agendar essas operações para obter dados atualizados regularmente. Para configurar um cronograma, abra o menu de ações da operação e selecione Settings > Schedules.
Ao não usar o App Builder
Os fluxos de trabalho a seguir são executados por meio de chamadas de API sem exigir o App Builder. Esses fluxos de trabalho realizam análise de preços sem armazenar resultados nos bancos de dados do App Builder:
-
Tool - Get ERP Products: Uma API ativa esse fluxo de trabalho para obter materiais do SAP ou de outro sistema, realizar análise de preços e retornar resultados por meio de notificações do Slack. Como esse fluxo de trabalho não exige o App Builder, notificações do Slack são enviadas para mostrar os resultados da análise de preços para todos os produtos.
-
Main Entry - Generic Single Pricing API Request Handler: Uma API ativa esse fluxo de trabalho com um corpo de solicitação JSON contendo informações do produto. O fluxo de trabalho processa o produto e envia resultados de análise de preços por meio de notificações do Slack.
-
Main Entry - Slack API Request Handler: Este fluxo de trabalho é acionado quando o campo
flagNotificationna solicitação da API está ativado. O fluxo de trabalho envia resultados de IA e resumo do processamento para o Slack.
Solução de problemas
Se encontrar problemas, consulte os logs a seguir para obter informações detalhadas sobre solução de problemas:
Para obter assistência adicional, entre em contato com o Suporte do Jitterbit.