Descrição
Implantação e Configuração do E-commerce
Pré-Requisitos
ERP-Viasoft
E-Commerce (k4Sale nossa plataforma)
Integrador (Sw que precisa ser desenvolvido).
Passo a Passo
Seguir instruções abaixo:
Empresa>> Configurações>> Gerais>> Aba 13/14 - E-Commerce
Preencher os dados de acordo com os fornecidos pela integradora;
Usuário;
Senha;
URL da API;
entre outros.
Marcar Checkbox “Usa E-Commerce = SIM” aba E-Commerce do Produto;
Inserir informações desejadas para os Produtos.
5. Critérios para sincronização no Produto;
a) Saldo;
b) Cod. Barras;
c) Descrição reduzida, Descrição Completa;
d) Imagem;
e) Preço;
f) Categoria.
Status do Pedido
PEDIDOSTATUS INTEGER, - Ao inserir um pedido, inserir com zero (0) e quando for faturado, altera para um (1) - Abaixo os Status:
0 - Novo (é cadastrado mas não lista na entrega da reserva)
1 - Pendente (habilita para entrega)
2 - Entregue Parcial
3 - Cancelado
4 - Entrega parcial e cancelado
5 - Totalmente entregue
Tabelas necessárias para integração:
Tabela de Cabeçalho do pedido WECPEDIDO:
PEDCODIGO VARCHAR(20) NOT NULL, - Código de pedido do E-Commerce
CLICODIGO INTEGER, - Essa informação poderá ser vazio
**Abaixo são informações relacionadas ao cliente:
CLINOMERAZAOSOC VARCHAR(60),
CLICNPJF VARCHAR(14),
CLIEMAIL VARCHAR(250),
CLIENDERECO VARCHAR(70),
CLINUMERO VARCHAR(10),
CLICOMPL VARCHAR(900), - Complemento/Observações
CLIBAIRRO VARCHAR(60),
CLICEP VARCHAR(8),
CLICIDADE VARCHAR(40),
CLIESTADO VARCHAR(40),
CLIPAIS VARCHAR(20),
CLITEL VARCHAR(14),
PEDATA TIMESTAMP, - Data do pedido
PEDSUBTOTAL DOUBLE PRECISION, - Valor total do pedido sem considerar desconto
PEDFORMAENTREGA VARCHAR(20), - Não precisa informar, não utilizamos na importação
PEDFRETE VARCHAR(20), - Valor de Frete
PEDTIPOPAGTO VARCHAR(40), - Pode ser informado o tipo de pagamento, mas não usamos
PEDFORMAPAGTO VARCHAR(40), - Vai gravar no campo ‘Condição de Pagamento’ na reserva, que é um campo texto
PEDTIPOCC VARCHAR(40), - não precisa mandar nada
PEDTOTAL DOUBLE PRECISION, - Total do pedido - não usamos na geração da reserva
PEDTRANSACAOID VARCHAR(40) - não precisa mandar nada
ENTENDERECO VARCHAR(70),- Endereço de Entrega (informar somente se for diferente do endereço padrão);
ENTNUMERO VARCHAR(10),
ENTCOMPL VARCHAR(900),
ENTBAIRRO VARCHAR(60),
ENTCEP VARCHAR(8),
ENTCIDADE VARCHAR(40),
ENTESTADO VARCHAR(40),
ENTPAIS VARCHAR(20),
ENTTEL VARCHAR(14),
DATADOWNLOAD TIMESTAMP, - não usamos, pode usar para seu controle
IDCIDADE VARCHAR(5), - Precisa mandar, Código IBGE
ENTIDCIDADE VARCHAR(5),
NROPED VARCHAR(15), ** Campo gerado automático - uso interno Viasoft
PEDDESCONTO DOUBLE PRECISION - Desconto no total do pedido
Tabela de Itens do Pedido WECPEDIDOITEM:
PEDCODIGO VARCHAR(20) NOT NULL, - Código de pedido do E-Commerce
SEQITEM INTEGER NOT NULL, - Sequencial do item no pedido no E-Commerce
IDITEM VARCHAR(20), - Código do item
DESCRICAO VARCHAR(40),
SUBTOTAL DOUBLE PRECISION, - Valor unitário x quantidade
QUANTIDADE DOUBLE PRECISION,
DESCONTO DOUBLE PRECISION, - desconto do item
VALORTOTAL DOUBLE PRECISION - Valor total do item considerando o desconto
Processos de comunicação necessários entre as duas plataformas (e-Commerce e ERP)
1 - Gravação do pedido originado no e-Commerce no ERP
1.1 - Pedido é efetuado no e-Commerce.
1.2 - Integrador ao estourar gatilho (tempo configurado, ex: 5 minutos)
A - Solicita pedidos ainda não importados no e-Commerce.
B - Grava pedidos no ERP (tabelas desejadas)
C - Atualiza Status do pedido no e-Commerce (Ex. Importado = true / código do pedido no ERP).
2 - Atualização de estoque.
Após importar os pedidos (tendo pedido ou não)
2.1 - Integrador solicita lista de produtos do e-commerce (com código de integração, campo cód.externo).
2.2 - Faz looping sobre a lista de produtos recebida e um a um.
A - Pega o estoque no ERP.
B - Grava estoque no e-Commerce.
3 - Faturado o Pedido no ERP
3.1 - Integrador pega a informação de pedido faturado (os que estão na reserva)
3.2 - Atualiza o Status de pedido no e-Commerce.
Obs:
Produtos serão cadastrados manualmente no e-Commerce.
Não faz parte do escopo desta versão de projeto de Integrador.
Questões importantes:
A - O processo "3" não havia sido discutido.
Penso que para funcionar uma integração entre as duas plataformas seria preciso ao menos estes 3 macro-processos.
Portanto peço que avaliem como o Integrador poderá identificar que o Pedido/Reserva foi faturado(Status) e a sua data de faturamento,
pois o Integrador precisará registrar sempre a última data-hora já processada, por motivos lógicos de desempenho.
B - Referente ao processo "1"
As tabelas que nos foram passadas deverão servir...
Contudo precisamos saber quais campos são válidos e seus valores, para efeito de consistência no ERP e e-Commerce.
Exemplo:
1 - Onde será gravado o n°. do pedido no e-comerce? (é em "PEDCODIGO"?)
2 - Posso colocar qualquer código de cliente? (ex: um cliente novo... qual código o Integrador irá gravar em "CLICODIGO")
3 - Se tentar gravar um cliente com CPF/CNPJ que já exista na base do ERP, o que acontecerá?
E outras coisas...
Acredito que precisamos de uma documentação mais detalhada das tabelas para integração.
Nome do campo
Tipo
Regras e valores válidos.
Exemplo:
PEDIDOSTATUS INTEGER (quais os valores válidos?)
IDCIDADE VARCHAR(5) (Onde pegamos o Id da cidade? é o número do IBGE ou é um ID próprio do ERP?)
No caso precisaremos deste tipo de modelo de documentação de integração para podermos entender e projetar.
E seria para todas as possíveis tabelas envolvidas no processo.
C - Referente ao processo "2"
Como acessaremos o estoque atual do produto?
Acredito que seja o caso de liberação de uma Tabela de View no banco somente.
1 - Onde será gravado o n°. do pedido no e-comerce? (é em "PEDCODIGO"?)
R: Sim, o número do pedido lá do Ecommerce deve ser gravado no WECPEDIDO.PEDCODIGO.
2 - Posso colocar qualquer código de cliente? (ex: um cliente novo... qual código o Integrador irá gravar em "CLICODIGO")
R: Nesse campo envia vazio.
Basta alimentar o campo CLICNPJF com o CPF/CNPJ.
3 - Se tentar gravar um cliente com CPF/CNPJ que já exista na base do ERP, o que acontecerá?
R: Nosso sistema gerencia, se não existir no banco, vai cadastrar, se existir carrega o cadastro que já existe.
Acredito que precisamos de uma documentação mais detalhada das tabelas para integração.
Nome do campo
Tipo
Regras e valores válidos.
Exemplo:
PEDIDOSTATUS INTEGER (quais os valores válidos?)
IDCIDADE VARCHAR(5) (Onde pegamos o Id da cidade? é o número do IBGE ou é um ID próprio do ERP?)
R: Isso, é o código IBGE. PEDIDOSTATUS tem o detalhamento abaixo.
C - Referente ao processo "2"
Como acessaremos o estoque atual do produto?
Acredito que seja o caso de liberação de uma Tabela de View no banco somente.
R: A informação do saldo dos produtos fica no campo: ITEMESTAB.QUANTIDADE. Esse é o saldo total do produto. A única alteração é se for trabalhar com mais de um Local de Estoque, um local para o e-commerce (que a princípio não é a ideia), a informação terá que ser obtida de outra forma.