Integração

Produtos

O que o seu ERP precisa expor para que o Amplia One leia o catálogo de produtos: as views, as colunas de cada uma, os tipos, as regras e exemplos preenchidos dos três casos que existem — produto simples, produto com embalagem e produto com grade.

Quando somos nós que buscamos

O que pedimos ao ERP

As quatro views que o ERP precisa expor para o Amplia One ler o catálogo.

Nem todo ERP quer escrever no Amplia One. Muitos preferem apenas expor os dados e deixar que a gente busque. Para esse caminho, pedimos quatro views ligadas entre si pelo código do produto no ERP — duas obrigatórias, duas conforme o que o cliente vende.

ViewUma linha porQuando
vw_amplia_produtosprodutoObrigatória
vw_amplia_embalagensforma de venda (unidade, caixa, fardo)Obrigatória
vw_amplia_variacoescombinação de tamanho, cor etc.Só se houver grade
vw_amplia_imagensimagemSó se houver foto

Os nomes são sugestão. Se a convenção do ERP for outra, o que importa são as colunas — basta nos dizer os nomes reais.

Como acessamos

Endpoint HTTP (preferido)
Um GET por view devolvendo JSON, com a autenticação que o ERP já usa. Precisamos de atualizado_desde e de paginação.
Acesso direto ao banco
Um usuário somente leitura com permissão apenas nas quatro views, mais endereço, porta, base, credenciais e liberação de IP.

Colunas de cada view

O contrato campo a campo, com tipo e obrigatoriedade.

vw_amplia_produtos — uma linha por produto

ColunaTipoObrig.O que é
codigo_erpVARCHAR(40)SimO código do produto no ERP. É a chave de tudo e precisa ser estável.
nomeVARCHAR(200)SimDescrição comercial.
marcaVARCHAR(80)SimNome da marca por extenso, não o código dela.
departamentoVARCHAR(80)SimNível mais alto da classificação.
grupoVARCHAR(80)SimNível intermediário.
subgrupoVARCHAR(80)SimNível mais baixo. É nele que o produto fica.
unidadeVARCHAR(4)SimSigla da MENOR unidade vendida: UN, KG, L, PR.
situacaoVARCHAR(15)Simativo, inativo ou descontinuado.
tem_gradeBOOLEANSimVerdadeiro quando o produto é vendido em variações.
atualizado_emTIMESTAMP TZSimÚltima alteração da linha. É o que permite ler só o que mudou.
referenciaVARCHAR(60)NãoCódigo do fabricante.
descricaoVARCHAR(1000)NãoTexto livre.
ncm / cestVARCHARNãoSó dígitos.
peso_liquido / peso_brutoNUMERIC(14,4)NãoEm quilogramas, da unidade base.
preco_vendaNUMERIC(14,4)NãoPreço da unidade base. Um só para a conta inteira.
custoNUMERIC(14,4)NãoCusto da unidade base, da empresa em cnpj_empresa.
cnpj_empresaVARCHAR(14)NãoDe qual empresa é o custo. Obrigatório se vier custo.

vw_amplia_embalagens — uma linha por forma de venda

ColunaTipoObrig.O que é
codigo_erpVARCHAR(40)SimO produto a que a embalagem pertence.
unidadeVARCHAR(4)SimSigla do agrupamento: CX, FD, PC. Na linha da base, repete a do produto.
quantidadeINTEGERSimQuantas unidades base cabem. 1 na base; a partir de 2 nas demais.
baseBOOLEANSimVerdadeiro só na unidade base. Uma por produto.
atualizado_emTIMESTAMP TZSimÚltima alteração da linha.
codigo_barrasVARCHAR(14)NãoEAN ou DUN desta embalagem. Só números.
preco_vendaNUMERIC(14,4)NãoPreço da embalagem fechada. Nulo quando é o proporcional.
venda_padraoBOOLEANNãoA forma em que o produto costuma ser vendido. No máximo uma.
peso_brutoNUMERIC(14,4)NãoPeso da embalagem fechada.

vw_amplia_variacoes — só para produto com grade

ColunaTipoObrig.O que é
codigo_erpVARCHAR(40)SimO produto a que a variação pertence.
eixo_1 / valor_1VARCHAR(40)SimPrimeiro eixo e seu valor: Tamanho / 37/38.
atualizado_emTIMESTAMP TZSimÚltima alteração da linha.
eixo_2 / valor_2VARCHAR(40)NãoSegundo eixo e seu valor: Cor / PRETO.
codigo_barrasVARCHAR(14)NãoEAN desta variação. Sem ele, geramos um.
preco_vendaNUMERIC(14,4)NãoSó quando a variação foge do preço do produto.
custoNUMERIC(14,4)NãoSó quando a variação foge do custo do produto.
situacaoVARCHAR(15)NãoSituação própria. Nula segue a do produto.

vw_amplia_imagens

ColunaTipoObrig.O que é
codigo_erpVARCHAR(40)SimO produto a que a imagem pertence.
urlVARCHAR(500)SimEndereço público da imagem, sem login. Até 10 MB.
atualizado_emTIMESTAMP TZSimÚltima alteração da linha.
corVARCHAR(40)NãoPrende a foto a uma cor da grade.
principalBOOLEANNãoFoto de capa. Vale dentro da própria cor.
ordemINTEGERNãoOrdem de exibição, começando em 0.

Regras e sincronização

O que reprova carga e como a leitura incremental funciona.

AssuntoRegra
Código de barrasSó números, sem pontuação. Leitor não lê letra.
TextoNão precisa vir em maiúscula — normalizamos. Sem código embutido no nome.
NúmerosPonto decimal, sem separador de milhar, sem símbolo de moeda.
NuloCampo sem valor vem nulo, não vazio nem zero. Preço zero é preço zero.
DatasISO 8601 com fuso: 2026-08-27T14:32:10-03:00.
Grade e embalagemNão convivem. Produto nas duas views é recusado.

Como a sincronização roda

  1. Guardamos o instante da última leitura bem-sucedida.
  2. Pedimos vw_amplia_produtos com atualizado_desde, página a página.
  3. Para os produtos que vieram, pedimos as linhas das outras três views.
  4. Importamos produto por produto — um recusado não impede os outros.
  5. Devolvemos um relatório do que entrou e do que foi recusado, com o motivo.

Clientes e fornecedores

Uma view a mais, quando o cliente quiser que a gente leia o cadastro de pessoas.

O cadastro de pessoas segue o mesmo caminho do catálogo: ou o ERP escreve no Amplia One pela API, ou expõe uma view e nós buscamos. Aqui é uma view só, porque cliente e fornecedor são o mesmo cadastro — o que muda são dois campos de papel.

vw_amplia_pessoas — uma linha por documento

ColunaTipoObrig.O que é
documentoVARCHAR(14)SimCNPJ ou CPF, só dígitos. É a chave — e é ela que faz dois ERPs convergirem no mesmo cadastro.
nomeVARCHAR(200)SimRazão social ou nome completo.
clienteBOOLEANSimVerdadeiro quando a pessoa compra de você.
fornecedorBOOLEANSimVerdadeiro quando a pessoa vende para você. Os dois podem ser verdadeiros.
situacaoVARCHAR(15)Simativo, inativo ou bloqueado.
atualizado_emTIMESTAMP TZSimÚltima alteração da linha.
codigo_erpVARCHAR(40)NãoO código dela no ERP. Guardamos como referência, não como identidade.
nome_fantasiaVARCHAR(200)NãoNome fantasia ou apelido.
inscricao_estadualVARCHAR(20)NãoNulo quando isento.
isento_ieBOOLEANNãoIsento de inscrição estadual.
inscricao_municipal / suframaVARCHAR(20)NãoQuando houver.
nascimentoDATENãoSó para CPF.
logradouro / numero / complementoVARCHARNãoEndereço, em colunas separadas.
bairro / cidade / uf / cepVARCHARNãoUF com 2 letras; CEP só dígitos.
codigo_ibgeVARCHAR(7)NãoCódigo do município. Evita o município ambíguo entre estados.
telefone / telefone2VARCHAR(11)NãoSó dígitos, com DDD.
emailVARCHAR(160)NãoUm endereço por linha.
observacoesVARCHAR(1000)NãoTexto livre.

As regras da seção anterior valem igual: nulo é nulo, datas em ISO 8601 com fuso, e pessoa que sai do cadastro muda de situacao em vez de desaparecer da view.