O componente preço do produto permite consultar o preço final de um produto diretamente no ERP Sankhya, considerando todas as regras comerciais configuradas no ambiente, como tabela de preços, parceiro, tipo de negociação, unidade, controle do produto e tipo de operação.
bot-server: versão 1.6.0
bot-component-service: 1.2.0
Doc Sankhya: https://developer.sankhya.com.br/docs/operacoes-comerciais
Esse componente é essencial para:
Exibir preços corretos no atendimento via bot
Simular valores antes da criação do pedido
Aplicar regras comerciais reais da Sankhya
Evitar divergência entre preço exibido e preço faturado
Índice:
- Objetivo do componente
- Integração técnica
- Interface do componente (tela)
- Estrutura do retorno
- Descrição dos campos retornados
- Contextualização de negócio (Importante)
- Exemplo de chamada ao serviço da Sankhya
- Exemplos de uso no bot
- Tratamento de erros
Objetivo do componente
Garantir que o preço apresentado ao cliente no fluxo conversacional seja exatamente o mesmo que o ERP Sankhya calcularia em um cenário real de venda, respeitando todas as variáveis de negócio.
Integração técnica
A consulta de preço utiliza o serviço Sankhya:
CentralVendaRapidaSP.consultarDetalhesPreco
Esse serviço executa o motor de precificação da Sankhya, retornando o valor final do produto com base nos parâmetros informados.
Interface do componente (tela)
Dados do produto
Campo |
Descrição |
|---|---|
Código do Produto* |
Código único do produto no Sankhya ( |
Volume (opcional) |
Unidade de medida do produto ( |
Local de Estoque (opcional) |
Código do local de estoque ( |
Controle (opcional) |
Controle do produto (variação). Ex: sabor, cor, tamanho. |
🔎 O campo Controle é essencial para produtos com variações configuradas na Sankhya.
Contexto de negócio
Campo |
Descrição |
|---|---|
Tabela de preço (opcional) |
Código ou número da tabela de preços ( |
Parceiro (opcional) |
Código do cliente ou fornecedor ( |
Empresa (opcional) |
Código da empresa ( |
Tipo de Negociação (opcional) |
Forma de pagamento ( |
Código da TOP (opcional) |
Tipo de operação ( |
Quanto mais campos preenchidos, mais preciso será o preço retornado.
Armazenamento
Campo |
Descrição |
|---|---|
Variável de armazenamento |
Nome da variável que receberá o retorno do preço. |
Variável de escopo global |
Permite reutilizar o preço em todo o fluxo do bot. |
Exemplo:
precoProduto
Estrutura do retorno
Exemplo de resposta
{
"found": true,
"data": {
"value": 6,
"baseValue": 6,
"promoValue": 0,
"priceTableCode": 999,
"priceTableNumber": 609,
"priceTableName": "TABELA PADRÃO",
"description": "Preço"
},
"error": null
}
Descrição dos campos retornados
Campo |
Descrição |
|---|---|
found |
Indica se o preço foi encontrado |
data.value |
Preço final calculado |
data.baseValue |
Preço base |
data.promoValue |
Preço promocional |
data.priceTableCode |
Código da tabela de preço |
data.priceTableNumber |
Número da tabela de preço |
data.priceTableName |
Nome da tabela de preço |
data.description |
Descrição do retorno |
error |
Mensagem de erro, se houver |
Contextualização de negócio (Importante)
O preço retornado não é um valor fixo, mas o resultado de um cálculo dinâmico baseado nas regras da Sankhya.
O valor pode variar conforme:
Tabela de preço
Unidade (volume)
Local de estoque
Tipo de negociação (forma de pagamento)
Parceiro
Empresa
Controle do produto (sabor, cor, tamanho, etc.)
Tipo de operação (TOP)
Exemplo prático de controle de produto
No ambiente Sankhya, o produto Balas Sortidas possui controle por sabor, como:
MAÇÃ VERDE
UVA
MORANGO
Na Tabela Padrão, existem regras de preço específicas por controle.
Isso significa que:
O preço pode variar de acordo com o sabor
Informar corretamente o campo Controle é essencial
Ao consultar o preço informando CONTROLE = MORANGO, o valor retornado será calculado com base nas regras específicas desse sabor.
Exemplo de chamada ao serviço da Sankhya
curl --location 'https://api.sankhya.com.br/gateway/v1/mgecom/service.sbr?serviceName=CentralVendaRapidaSP.consultarDetalhesPreco&outputType=json' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'appkey: <APPKEY>' \
--header 'Content-Type: application/json' \
--data '{
"serviceName": "CentralVendaRapidaSP.consultarDetalhesPreco",
"requestBody": {
"criterio": {
"RESOURCEID": "br.com.sankhya.mgecom.VendaAssistida.DetalhesPrecoLayout",
"CODPROD": "1185",
"CODLOCAL": "0",
"QTDNEG": 1,
"CONTROLE": "MORANGO",
"CODVOL": "UN",
"CODPARC": "654",
"CODTIPOPER": "50",
"CODTIPVENDA": "1",
"CODEMP": "0",
"NUTAB": "609",
"MANDARVOLUMES": false,
"MANDARLOCAIS": false
}
}
}'
Exemplos de uso no bot
Exibir preço ao cliente
O valor do produto é R$ {{precoProduto.data.value}}.
Verificar preço promocional
Se {{precoProduto.data.promoValue}} > 0
→ Exibir preço promocional
Senão
→ Exibir preço base
Tratamento de erros
Situação |
Comportamento |
|---|---|
Produto não encontrado |
found = false |
Parâmetros inválidos |
error preenchido |
Regra inexistente |
valor retornado pode ser 0 |
Iremos disponibilizar exemplos de erro em breve.
Comentários
0 comentário
Escreva seu comentário aqui
Por favor, entre para comentar.