Do formulário dinâmico ao BOM de produção, o CPQ.core cobre todo o ciclo de configuração e pricing de produtos complexos.
Crie configuradores de produto completos sem escrever HTML ou JavaScript. Defina campos, validações e lógica condicional no schema.
Numérico, slider, dropdown, rádio, swatch visual, checkbox, texto, data, quantidade e hidden.
Campos e grupos que aparecem ou desaparecem conforme a configuração do utilizador.
Opções que alteram a estrutura do formulário recarregam-no automaticamente.
Secções, tabs, accordion ou inline. O layout pode até ser escolhido pelo utilizador.
form {
dynamic: "fields"
layout: "tabs"
groups {
dimensoes: { label: $"group_dimensoes", order: 1 }
acabamentos: {
label: $"group_acabamentos"
visible_when: tipo_produto != "standard"
}
}
fields {
largura: {
type: number
label: $"label_largura"
unit: "mm"
min: 400, max: 2400
}
cor: {
type: swatch
label: $"label_cor"
options: ["branco", "cinza", "preto"]
}
vidro_duplo: {
type: checkbox
label: $"label_vidro_duplo"
visible_when: tipo_produto == "premium"
}
}
}
Obtenha automaticamente qualquer informação derivada da configuração: preço, lista de materiais, tempos de produção, pesos, volumes e quaisquer outros dados que defina como output.
Todos os outputs actualizam-se a cada alteração de configuração, sem recarregar a página.
Defina grupos como "produção", "expedição", "qualidade" — cada um com os campos que precisar: m², metros lineares, tempos, pesos, unidades.
Tabelas de preço por quantidade com interpolação linear automática entre faixas.
EUR, USD, GBP, BRL com separadores, decimais e posição do símbolo por locale.
// Tabelas de preço e materiais
table precos_vidro {
1: 85.00 // até 1m²
3: 72.00 // até 3m²
6: 65.00 // até 6m²
}
// Cálculos
let area = largura * altura / 1000000
let preco_m2 = interpolate(precos_vidro, area)
let perimetro = (largura + altura) * 2 / 1000
add price: area * preco_m2
multiply price by 1.23 // IVA
// BOM para produção
output {
production {
vidro_m2: round(area, 2)
perfil_m: round(perimetro, 1)
kit_ferragens: 1
parafusos: ceil(perimetro * 5)
}
}
Toda a lógica de configuração e pricing num schema legível. Sem programação convencional, sem deploy de código.
Mapeie materiais a preços, cores a referências, quantidades a descontos.
If/else para regras de negócio complexas: sobretaxas, promoções, restrições.
Defina cálculos complexos uma vez, use em múltiplos produtos.
Inclua tabelas e funções comuns entre produtos com cpq://system/...
include "cpq://system/base_caixilharia"
@config {
let margem = 1.15
let iva = 0.23
}
func preco_perfil(metros, tipo) {
let base = lookup(tabela_perfis, tipo)
let custo = metros * base.preco_m
return custo * @config.margem
}
let custo_perfil = preco_perfil(perimetro, tipo_perfil)
let custo_vidro = area * preco_m2_vidro
add price: custo_perfil + custo_vidro
multiply price by (1 + @config.iva)
error_if area > 6 : $"err_area_max" { max: 6 }
warn_if area > 4 : $"warn_area_grande"
Previna encomendas impossíveis e fale a língua de cada cliente.
Regras que impedem configurações impossíveis de produzir. O utilizador vê uma mensagem clara com os valores em causa.
Alertas não-bloqueantes para situações especiais: quantidades elevadas, dimensões fora do comum, prazos afectados.
Labels, erros, opções de select — tudo traduzível. Suporte a PT, EN, ES, FR, DE e outros idiomas.
Interpolação de valores nas mensagens: "Área 15m² excede máximo de 10m²" gerado automaticamente.
Traduções ao nível do sistema, tenant e produto. Cada nível pode sobrepor o anterior para personalização total.
Formatação automática de moeda com símbolo, separadores e decimais correctos para cada mercado.
Plugins prontos com paridade de funcionalidades. Instale, configure e comece a vender produtos configuráveis.
Todos os 10 tipos de campo suportados em cada plataforma, com o mesmo comportamento.
Preço actualizado a cada alteração, integrado nativamente com o carrinho de compras.
Configuração guardada na encomenda. BOM disponível para cada item no checkout.
Adapte o configurador à identidade visual da loja. Personalização adicional via CSS.
Design limpo e moderno
Profissional, tons escuros
Bold, accent laranja
Fontes maiores, acessibilidade
Mais campos, menos espaço
Sem bordas, minimalista
Painel completo para gerir produtos e API documentada para integrações personalizadas.
Editor de código com autocomplete, validação em tempo real e navegação por secções.
Teste configurações e veja preços antes de publicar. Erros com link directo para a linha do schema.
Admin, editor e viewer. Dados isolados por tenant com API Keys dedicadas.
Especificação OpenAPI, guia de início rápido e portal de documentação interactivo.
// Fluxo típico de integração via API
// 1. Obter formulário do produto
GET /v1/products/janela-aluminio/form
?tenant_id=demo&lang=pt-PT
// 2. Utilizador preenche configuração
// (formulário renderizado pelo frontend)
// 3. Calcular preço e BOM
POST /v1/calculate
{
"product_id": "janela-aluminio",
"configuration": {
"largura": 1200,
"altura": 1000,
"vidro": "temperado"
},
"quantity": 5,
"output_groups": ["*"]
}
// Resposta: preço + BOM + warnings
Crie uma conta gratuita e teste o CPQ.core com os produtos de demonstração.