Loja Integrada — Integração com E-commerce¶
Aplicativo externo
IntegraLojaIntegrada.exe| Sincronização automática em intervalo configurável
O que é¶
A Integração Loja Integrada é um aplicativo standalone (separado do Master Key) que sincroniza dados entre o Master Key e uma loja na plataforma de e-commerce Loja Integrada. A sincronização ocorre em ciclos automáticos com execução paralela das etapas independentes.
O fluxo é bidirecional: - Loja Integrada → Master Key: clientes e pedidos - Master Key → Loja Integrada: marcas, categorias, produtos, preços, estoque e imagens
Pré-requisitos¶
- Chave de API da Loja Integrada (obtida no painel em Configurações → Dados da Loja → Chave de API)
- Banco de dados do Master Key acessível pelo computador onde o aplicativo roda
- A URL base da API (
https://api.awsli.com.br/v1/) é configurada automaticamente pelo aplicativo
Configuração¶
Acesse o menu Opções → Configurações no aplicativo. As configurações são salvas em arquivo INI na mesma pasta do executável.
API¶
| Campo | O que é |
|---|---|
| Chave de API | Chave de autenticação da Loja Integrada (usada em todas as requisições junto com a chave do aplicativo) |
A autenticação usa dois parâmetros em todas as chamadas:
chave_api(sua chave) echave_aplicacao(chave interna do integrador, fixa).
Estoque¶
| Campo | O que é |
|---|---|
| Filiais de Estoque | Filiais cujos saldos somam para calcular o estoque enviado |
Filiais de estoque são obrigatórias para a etapa de Produtos. Se vazias, o ciclo aborta com erro.
Pedidos¶
| Campo | O que é |
|---|---|
| Vendedor | Código do vendedor padrão atribuído a cada pedido importado |
| Transportador | Código do transportador padrão atribuído aos pedidos |
Clientes¶
| Campo | O que é |
|---|---|
| Vendedor | Vendedor padrão atribuído ao cliente cadastrado |
| Praça | Praça padrão do cliente |
| Atividade | Atividade padrão do cliente |
Vendedor, Praça e Atividade são obrigatórios para clientes. O ciclo aborta se algum não estiver configurado.
Produtos¶
| Campo | O que é |
|---|---|
| Tabela de Preço | Tabela usada para o preço de venda enviado. Cadastro de Produtos usa o preço direto do cadastro |
| Produto Indisponível | Define o comportamento quando EC_DISP = 'N': Inativar produto (padrão) ou Manter ativo |
| Enviar Similares | Envia produtos similares do Master Key como opções/variantes na Loja Integrada |
Fluxo de Sincronização¶
A cada ciclo, o aplicativo executa as etapas com a seguinte ordem de dependências:
Clientes ──► Pedidos ──┐
▼
Marcas ────────────► Produtos ──► Imagens
│
Categorias ────────────┘
│
└──► Estoque
1. Clientes (Loja Integrada → Master Key)¶
Importa clientes modificados desde a última sincronização (paginado, 50 por página).
Para cada cliente:
- Busca no Master Key por ID externo da Loja Integrada
- Se não encontrado por ID, busca por CPF/CNPJ ou e-mail
- Se ainda não encontrado, cria um novo cliente com tipo C e consumidor S
- Importa o endereço padrão e endereços adicionais
- Se a cidade/UF não existir na tabela do Master Key, consulta o serviço de CEP. Se não resolver, registra UF=!! e Cidade=Cidade Inexistente!
Campos importados:
| Campo Loja Integrada | Campo Master Key | Descrição |
|---|---|---|
nome |
CL_NOME |
Nome do cliente |
email |
CL_EMAIL |
|
cpf / cnpj |
CL_CPF ou CL_CGC |
CPF ou CNPJ |
telefone_principal |
CL_FONE |
Telefone |
endereco |
CL_ENDERECO |
Logradouro |
numero |
CL_NRO |
Número |
complemento |
CL_COMPL |
Complemento |
bairro |
CL_BAIRRO |
Bairro |
cep |
CL_CEP |
CEP |
estado + cidade |
CL_UF + CL_CIDADE |
Estado e cidade |
2. Pedidos (Loja Integrada → Master Key)¶
Importa pedidos modificados desde a última sincronização (20 por página). Executa após clientes.
Atenção: o pedido exige que o cliente já exista no Master Key. Se o cliente não for encontrado, o pedido não é importado e é registrado erro.
Para cada pedido: - Busca o cliente pelo ID externo (vinculado na etapa de Clientes) - Cria ou atualiza o pedido no Master Key - Pedido existente não é atualizado se já estiver faturado/cancelado (status 1 ou 3) sem alterações, ou se já tiver saídas vinculadas - A forma de pagamento é registrada na observação do pedido - Desconto e frete são distribuídos proporcionalmente entre os itens
Mapeamento de status:
| Situação Loja Integrada | PE_STATUS |
PE_FINANCEIRO |
|---|---|---|
pedido_cancelado, pagamento_devolvido, pedido_chargeback |
3 (cancelado) | 2 |
pedido_pago, pedido_enviado, pedido_efetuado |
0 (aberto) | 1 (pago) |
| Demais situações | 0 (aberto) | 0 (pendente) |
Campos importados:
| Campo Loja Integrada | Campo Master Key | Descrição |
|---|---|---|
numero |
PE_PEDEXTERNO |
Número do pedido na Loja Integrada |
data_criacao |
PE_DATA / PE_HORA |
Data e hora de criação |
valor_total |
PE_VLRTOTAL |
Valor total |
valor_envio |
PE_VLFRETE |
Valor do frete |
endereco_entrega |
PE_OBS |
Endereço de entrega + forma de pagamento na observação |
3. Marcas (Master Key → Loja Integrada)¶
Sincroniza marcas de produtos (MARCAS) modificadas desde a última sincronização. Executa em paralelo com Clientes/Pedidos.
Campos enviados: nome, apelido (slug do nome), descricao, ativo (MA_INATIVO = 'N').
4. Categorias (Master Key → Loja Integrada)¶
Sincroniza a árvore de categorias (CATEGPROD) de forma recursiva, respeitando a hierarquia pai/filho. Somente categorias modificadas são enviadas. Executa em paralelo com Marcas.
O ID da categoria na Loja Integrada é salvo na tabela CAMPOS do Master Key.
5. Produtos (Master Key → Loja Integrada)¶
Sincroniza produtos modificados. Executa após Marcas e Categorias. Para cada produto, além dos dados cadastrais, envia os preços via endpoint separado (produto_preco).
A Loja Integrada usa três tipos de produto:
| Tipo | Quando | Descrição |
|---|---|---|
normal |
Produto sem similares | Produto padrão sem variações |
atributo |
Produto pai de similares | Produto principal, agrupa as opções |
atributo_opcao |
Produto filho (similar) | Variação de um produto pai |
Quando Enviar Similares está ativo, o sistema cria automaticamente uma "Grade Padrão" chamada
Variaçõesna Loja Integrada (caso não exista) para vincular os similares como variações.
Campos enviados:
| Campo Master Key | Campo Loja Integrada | Descrição |
|---|---|---|
PR_CODIGO |
sku |
SKU / código interno |
EC_NOMEPROD / PR_NOME |
nome |
Nome do produto |
PR_REFTECN |
descricao_completa |
Referência técnica como descrição (em <pre>) |
PR_MARCA |
marca |
Link para a marca sincronizada |
PR_NCM |
ncm |
NCM |
PR_PBRUTO |
peso |
Peso bruto (kg) |
EC_ALTURA |
altura |
Altura (cm) |
EC_LARGURA |
largura |
Largura (cm) |
EC_PROFUNDIDADE |
profundidade |
Profundidade (cm) |
PR_CODBARRA |
gtin |
Código de barras |
EC_DESTACAR |
destaque |
Produto em destaque |
PR_INATIVO + EC_DISP |
ativo |
Ativo na loja (conforme configuração de Produto Indisponível) |
| Categorias do produto | categorias |
Links para as categorias sincronizadas |
Preços (endpoint produto_preco):
| Campo Master Key | Campo Loja Integrada | Descrição |
|---|---|---|
VLR_UNIT |
cheio |
Preço de venda |
PR_PRECOCUST |
custo |
Preço de custo (0 se não informado) |
VALOR_PROMO (dentro do período) |
promocional |
Preço promocional (0 fora do período) |
6. Imagens (Master Key → Loja Integrada via AWS S3)¶
Envia imagens dos produtos. Executa após Produtos.
O processo é em duas etapas:
1. Faz upload da imagem para o AWS S3 (obtendo uma URL temporária de 1 dia)
2. Envia a URL S3 para a Loja Integrada via produto_imagem
Somente imagens de produtos com EC_DISP in ('S','I') e não inativos são enviadas. O nome do arquivo no S3 é gerado como MD5 do CNPJ + código da imagem.
Imagens já enviadas anteriormente não são reenviadas (vinculação controlada pela tabela
CAMPOS).
7. Estoque (Master Key → Loja Integrada)¶
Atualiza o estoque dos produtos via endpoint produto_estoque. Executa após Produtos.
- Busca produtos com saldo de estoque modificado desde a última sincronização
- Se
EC_DISP = 'S': envia o saldo real das filiais menos a margem de segurança (EC_MARGEMEST). Valores negativos são enviados como zero - Se
EC_DISP <> 'S': envia estoque 0
Parâmetros sempre enviados: gerenciado=true, situacao_em_estoque=0, situacao_sem_estoque=-1.
Tabelas e campos relevantes¶
| Tabela | Campo | Função |
|---|---|---|
CAMPOS |
CAMPO / VALOR |
Armazena IDs externos (produto, marca, categoria, imagem) vinculados aos códigos internos |
ECOMMERCE |
EC_DISP |
Produto disponível online (S/N/I) |
ECOMMERCE |
EC_NOMEPROD |
Nome alternativo para e-commerce |
ECOMMERCE |
EC_MARGEMEST |
Margem de segurança de estoque |
ECOMMERCE |
EC_DESTACAR |
Produto em destaque na loja |
ECOMMERCE |
EC_ALTURA/LARGURA/PROFUNDIDADE |
Dimensões para frete |
PRODUTOS |
PR_REFTECN |
Referência técnica — usada como descrição completa na loja |
MARCAS |
MA_INATIVO |
Marca inativa (S/N) — inativas são enviadas como ativo=false |
CATEGPROD |
CP_CATEG_MESTRE |
Categoria pai — usada para montar a hierarquia |
Perguntas frequentes do suporte¶
"O ciclo inicia mas aborta sem sincronizar nada" → Verifique se Filiais de Estoque, Vendedor, Praça e Atividade (Clientes) estão configurados. Qualquer um destes campos vazio aborta o ciclo com erro.
"Pedido não foi importado — erro 'Cliente não encontrado'"
→ O pedido exige que o cliente já esteja no Master Key. Certifique-se de que a etapa de Clientes está funcionando. Se o cliente foi criado manualmente no Master Key sem passar pela integração, ele não terá o vínculo de ID externo — vincule manualmente na tabela CAMPOS ou aguarde o próximo ciclo de Clientes.
"Produto não aparece na Loja Integrada"
→ Verifique se EC_DISP <> 'N' e PR_INATIVO <> 'S'. Confirme também se a Chave de API está correta nas configurações.
"Produto está ativo na loja mas sem estoque disponível"
→ Verifique a configuração Produto Indisponível. Se estiver em Manter ativo, o produto permanece ativo mesmo quando EC_DISP = 'N'. O estoque enviado para produtos indisponíveis é sempre 0.
"Similar não está aparecendo como variação" → Confirme que Enviar Similares está marcado. Verifique se os produtos estão corretamente relacionados como similares no cadastro do Master Key e se o produto pai já foi sincronizado antes do filho.
"Estoque desatualizado na Loja Integrada" → O estoque é sincronizado separadamente dos produtos. Verifique os logs da etapa de Estoque. Confirme se as filiais corretas estão selecionadas em Filiais de Estoque.
"Imagem não aparece na loja"
→ Verifique se o produto já foi sincronizado (imagens dependem do produto existir na Loja Integrada). Confirme que a imagem está cadastrada no banco de imagens do Master Key e que o produto tem EC_DISP in ('S','I'). Verifique logs da etapa de Imagens para erros de upload no AWS S3.
"Preço promocional não está aparecendo"
→ O preço promocional só é enviado se VALOR_PROMO > 0 e a data atual estiver dentro do período de promoção (DT_PROMO_INI a DT_PROMO_FIM). Fora do período, o valor enviado é 0, limpando a promoção na loja.