Trata somente produtos sem classe e não trata composição (kits).
A integração de estoque também é feita somente do Admplus para Wakecommerce da seguinte forma: sempre que a integração é executada, o saldo disponível do Admplus é atualizado no site.
A integração de pedidos é feita a partir da inclusão no site para o AdmPlus e são considerados para integrar os pedidos com status de acordo com o que for configurado no configEcommerce.xml. Dados necessários de pedido deverão estar configurados anteriormente nos parâmetros. O produto já estará integrado e deve estar devidamente vinculado. Já o cliente, caso o parâmetro Incluir novos Clientes = true, será integrado no momento da importação do pedido. (verificar os itens Informações de pedidos que são integradas e Informações de clientes que são integradas).
A integração de condições de pagamento é feito de forma manual, uma vez que não é possível alterar ou incluir formas de pagamento na plataforma Wakecommerce via API.
A integração de fabricantes, produtos, estoque e pedidos é feita pelo HubDeIntegração, um programa que pode ser configurado no cliente no inicializador do Windows e é executado em ciclos de tempo. Por padrão, a integração é realizada de 1 em 1 minuto, mas esse tempo pode ser configurado.
Como configurar integrações feitas pelo HubDeIntegração:
1)Na pasta Admplus\Net colocar o arquivo ConfigEcommerce.xml que está salvo em Publico\Releases\AdmPlusNet\_Configuradores\Ecommerce\Wakecommerce
As tags utilizadas para configuração estão destacadas na imagem acima e podem ter as seguintes informações:
<AtualizaProdutosJaCadastrados> tag utilizada na integração de pedidos. Quando integra produto o padrão é deixar como false, pois todos os produtos do Admplus já serão integrados no Wakecommerce.
<filtroParaAtualizacaoDoProduto> qual campo do cadastro de produto do Admplus será utilizado para integrar com o produto no site. O padrão é utilizar CODIGO, mas também tem opção de utilizar FANTASIA. (caso necessário a troca, seguir o passo a passo do tópico Alteração da tag filtroParaAtualizacaoDoProduto)
<AtualizaClientesJaCadastrados> tag utilizada na integração de pedidos. Deixar como true já que não possui integração de clientes e hoje a inclusão/alteração é feita pelo pedido.
<Ecommerce> informar Wakecommerce.
<Wakecommerce> Quando a tag 'Ecommerce' = Wakecommerce, é necessário existir esta tag, que contem tags específicas para configuração desta integração. São elas:
<site> url da API.
<token> token de acesso do cliente na API. É uma informação dada pela Wakecommerce para o cliente.
<tempoEspera> tempo em milissegundos de espera para continuar integração quando retorna erro de muitas requisições enviadas (aconselhado mínimo de 1 minuto)
<status_pedido> ids dos status de pedidos a serem considerados na integração; devem estar separados por vírgula e sem espaço. Se não preenchido, considera todos os status que geram reserva de pedido. (tabela de correspondência entre ids e status existentes : Consultar todas as situações de pedido da loja (readme.io))
2) Colocar a pasta HubDeIntegração que está em Publico\Releases\Hub De Integracoes\versao fora da pasta net (para evitar conflito de DLL). Sugerimos colocar em Admplus (ou seja, vai ficar uma pasta Admplus\HubDeIntegracao).
3) Copiar ConfigBD.xml e DataIntegracao.xml que estão em Publico\Releases\Hub De Integracoes\_Configuradores\Wakecommerce\SemUtilizarClasseDeProdutos para a pasta HubDeIntegracao que foi criada no cliente e que foram salvos os executáveis.
4) No configBD.xml estão os scripts que serão executados para realização da integração. Já vem com o script padrão, mas existem algumas configurações que devem ser feitas:
<connectionstring> informar onde está o banco de dados do Admplus cliente.
<getProduto> script que busca os produtos incluídos/alterados/excluídos no Admplus para serem integrados. Retorna todas as informações que são integradas. (verificar item Informações do produto que são integradas) , mas o cliente pode optar por integrar menos informações.
É necessário que antes da integração os produtos estejam com o campo SKU vazio. Se necessário limpar o campo, rodar o script: UPDATE produtos set sku = ''
Além disso esse script considera que o campo utilizado no Admplus para integração é o CODIGO (caso necessário a troca, seguir o passo a passo do tópico Alteração da tag filtroParaAtualizacaoDoProduto)
<updateReferenciaProduto> Essa tag é necessária para consultar um produto pelo identificador único do produto no Wakecommerce. No Admplus é gravado na coluna SKU do produto. Essa coluna está apenas no BD.
<getMovimento>retorna os lançamentos de estoque feito no Admplus para serem integrados.
Por padrão, considera que a integração é pelo CODIGO do produto (caso necessário a troca, seguir o passo a passo do tópico Alteração da tag filtroParaAtualizacaoDoProduto).
<getFabricante> script que busca os fabricantes incluídos/alterados/excluídos no Admplus para serem integrados. Retorna o código e a razão do fabricante.
É necessário que antes da integração de fabricantes o campo SKU da tabela de fabricante esteja vazio. Se necessário limpar o campo, rodar o script : UPDATE fabricante set sku = ''
<updateReferenciaFabricante> Essa tag é necessária para consultar um fabricante pelo identificador único do produto no Wakecommerce. No Admplus é gravado na coluna SKU do produto. Essa coluna está apenas no BD.
Observações importantes:
- A integração de fabricante depende do parâmetro no AdmPlus "Troca o Fabricante pelo Fornecedor". Se estiver marcado, o script irá buscar os dados da tabela fornecedor; senão, da tabela de fabricante normalmente.
- As outras tags devem permanecer vazias.
5) No DataIntegracao.xml estão as tags com a data e hora da última integração de cada estrutura:
<MovimentoBD> data/hora da última integração dos movimentos de estoque do Admplus para Wakecommerce.
<ProdutoBD> data/hora da última integração dos produtos do Admplus para Wakecommerce.
<FabricanteBD> data/hora da última integração dos fabricantes do AdmPlus para Wakecommerce.
<PedidoEcommerce> data/hora da última integração de pedidos do Wakecommerce para o AdmPlus.
Observações importantes:
- As outras tags devem permanecer vazias.
- A data precisa estar preenchida no seguinte formato 0000-00-00 00:00:00 (ano-mes-dia hora:minuto:segundo)
- Considera as tabelas de log para saber se existe inclusão/alteração/exclusão dos registros no período. Dessa forma, quando estiver implantando e for rodar pela primeira vez a rotina tem que informar data/hora que considere todas as alterações feitas nas tabelas que integra. Após a primeira execução de integração, as datas são atualizadas automaticamente para a última data de execução.
- Se por algum motivo não tiver informação nas tabelas de log das estruturas integradas, não vai ter informação para integração.
- No caso da integração de fabricantes, caso o parâmetro no AdmPlus "Troca o Fabricante pelo Fornecedor" estiver marcado, será usado como base o log do fornecedor; senão, do log de fabricante normalmente.
6) Configurações do AdmPlus:
6.a) Informar os seguintes parâmetros indicados na imagem abaixo:
Transação Fiscal dentro do Estado: transação utilizada na inclusão de pedidos dentro do estado.
Transação Fiscal fora do Estado: transação utilizada na inclusão de pedidos dentro do estado.
Condição de pagamento a prazo: Condição de Pagamento utilizada na inclusão de pedidos para pagamentos a prazo.
Condição de pagamento a vista: Condição de Pagamento utilizada na inclusão de pedidos para pagamentos a vista.
Vendedor: Vendedor padrão a ser utilizado na inclusão de pedidos.
Grupo/Sub grupo/Família/Fabricante: Parâmetros utilizados quando a tag <incluirProduto> do configEcommerce.xml = true e não existir o produto do item do pedido no Admplus, vai incluir o produto no Admplus com as informações desses parâmetros.
Filial: utilizado nos scripts de integração do estoque e na inclusão de pedidos.
Incluir novos Clientes: Indica se inclui no AdmPlus o pedido com o novo cliente ou se será incluído com cliente Balcão.
Caso incluir novos clientes e CNPJ/CPF do cliente não estiver informado, incluirá o pedido como cliente balcão.
Integra produtos com E-commerce: só habilita o campo no cadastro de produto para informar se integra o produto ou não se esse parâmetro estiver setado. Utilizado para buscar no script de integração de estoque.
Transações Fiscais para o sincronizador de Estoque: utilizadas para incluir movimentos de estoque do Admplus. Como no Wakecommerce não existe essa possibilidade, não é necessário informar.
6.b) Para que apareça o número do pedido do Wakecommerce na tela de pedido do AdmPlus, necessário marcar a opção:
6.c) Todos os produtos que serão integrados devem estar marcados como Integra com E-commerces. Existe opção na alteração em lote para mudar essa informação do produto, como mostra a imagem abaixo:
6.d) Como a referência do produto deve ser única, caso <filtroParaAtualizacaoDoProduto> for FANTASIA deixar a opção a seguir desmarcada:
Assim, na hora de cadastrar/alterar produtos no AdmPlus, o campo fantasia não pode ficar com valor repetido e evita dar problemas de usá-lo como a referência para integração.
7) Configuração do executável do HubDeIntegracao :
Salvar o FS.HubDeIntegracao.exe no inicializar do Windows
Criar um atalho do desktop: opcional, mas serve para caso queira para o integrador para facilitara utilização.
ATENÇÃO:
Na primeira execução é preciso fazer uma configuração do caminho de onde está o arquivo configEcommerce.xml. Por padrão esse arquivo fica na pasta net do sistema:
Fazer um backup dos dados do cliente antes da instalação.
Em caso de problema existe um log gravado na pasta do HubDeIntegracao com um log de execução por dia.
Como a integração de estoque com Wakecommerce não é feita lançamento a lançamento, não é necessário criar a tabela hub_movimentodeestoque, a função func_hub_movimentodeestoque e o trigger tg_movimentodeestoque.
PRODUTO
Informações do produto que são integradas:
- Referência (Código ou Fantasia)
- Descrição
- Fabricante
- Status
- Código de Barras
- Preço de Custo
- Preço de Venda
- Peso Bruto
- Altura
- Largura
No AdmPlus:
No Wakecommerce:
Observações importantes:
- Antes da integração, necessário que o banco deles lá na plataforma esteja limpo. Assim, evita duplicidade de informações ou erro por fantasia/código repetidos.
- Como não tem opção de excluir o produto pela API da Wakecomerce, quando exclui um produto no Admplus, na Wakecommerce altera as propriedades "valido" e "exibirSite" para false.
- Para chegar ao preço de venda está considerando apenas o markup aplicado ao custo, já que o primeiro cliente que utiliza a integração, não utiliza desconto/acréscimo para chegar ao preco de venda final. Caso algum cliente utilizar dessa forma, será necessário alterar o script.
- Por padrão o script considera o markup do produto, então caso utilize tabela de preço, é necessário alterar no script. Atualmente, a HotRio possui script que considera tabela de preço e pode ser encontrada na rede (Publico\Sistemas\HubDeIntegracao\Configuradores\Wakecommerce\SemUtilizarClasseDeProdutos\Hot Rio)
- O estoque também está sendo enviado no script do produto porque é obrigatório na inclusão de um novo produto pela API da Wakecommerce.
- Existe o campo obrigatório "freteGratis": caso não enviar, volta erro de foreign key. Estamos enviando o valor "Neutro". Pelo nosso entendimento, essa opção verifica se existe promoção válida para o produto e valor configurado na Tabela de Configurações.
ESTOQUE
A integração de estoque é feita somente do Admplus para a Wakecommerce: sempre que a integração é executada, o saldo disponível do Admplus é atualizado na Wakecommerce.
No cadastro da filial selecionada no parâmetro de importação do Admplus precisa ter indicando o depósito a ser utilizado (considera o principal):
Observações importantes:
- A atenção que precisa ser tomada aqui, é que no Admplus, mesmo que o produto possua movimento de estoque, mas esteja configurado que não controla estoque (ou no cadastro de produto ou no grupo ou no sub-grupo), no Admplus apresenta que o produto não tem saldo em estoque. No integrador, como considera apenas os lançamentos de estoque, vai considerar que tem. Por isso é importante, quando for necessário alterar a configuração para o produto não lançar estoque, antes zerar o saldo em estoque depósito a depósito.
- Não integra produtos com saldo negativo. Nesse caso apresenta mensagem de erro no integrador.
CLIENTE
Informações do cliente que são integradas:
- Nome Fantasia / Razão Social
- Tipo de Pessoa
- Inscrição Estadual
- CPF/CNPJ
- Telefone
- Identidade
- Sexo
- Email
- Celular
- Data de Nascimento
- Endereço
No AdmPlus:
No Wakecommerce:
Observações importantes:
- No Wakecommerce, as informações do cliente ficam associados ao pedido. Ou seja, associa as informações que estavam no cliente no momento que o pedido foi gerado. Então, caso realizar o pedido e alterar os dados na conta após o pedido, vai considerar as informações do momento em que o pedido foi feito.
- No Wakecommerce tem possibilidade de cadastrar vários endereços para o cliente e o momento da venda o cliente seleciona apenas um. Ao integrar o pedido com o Admplus, o endereço de entrega do pedido vai ficar igual ao informado no pedido da Wakecommerce e vai sempre atualizar o endereço principal do cliente com o endereço do último pedido do cliente.
- No Wakecommerce irá sempre incluir o e-mail com os campos de Nfe e Cobrança marcados.
CONDIÇÃO DE PAGAMENTO
Para vincular uma forma de pagamento do Wakecommerce a uma condição de pagamento no Plus, basta vincular os ids existentes na página Pagamentos > Grupos e Parcelamentos > Grupos de Pagamentos ao campo referencia_ecommerce na tabela de condicaodepagamento.
Depois de todos estarem integrados, a condição de pagamento será vinculada corretamente nos pedidos integrados.
Observação: Caso o integrador não encontre o id da forma de pagamento no Plus, será vinculado a condição de pagamento configurada nos parâmetros.
PEDIDO
Informações do pedido que são integradas:
- Número do pedido Wakecommerce (Ordem de Compra do Cliente)
- Cliente
- Itens (valor unitário + quantidade )
- Desconto
- Frete
- Observação
- Endereço de Entrega (Endereço do Cliente)
No AdmPlus:
No Wakecommerce:
Observações importantes:
- Quando existe um item de brinde, importa para o Admplus com valor unitário 0,01. Ficou decidido fazer assim pois se gravássemos o preço cheio e colocasse o valor do desconto no final do pedido, ao gerar a nota iria ratear o desconto nos outros itens também. Por enquanto deixamos assim, pois não sabemos como os clientes irão utlizar na prática: se o brinde vai ser um produto que é vendido também, se vai ser um produto que é somente brinde.
Alteração da tag filtroParaAtualizacaoDoProduto
Para alterar qual campo será utilizado como base para referenciar o produto no cadastro de produto, movimentação de estoque e importação de pedidos é necessário que :
1) No configEcommerce.xml a tag filtroParaAtualizacaoDoProduto indique o campo a ser considerado (CODIGO / FANTASIA)
2) No configBD.xml alterar os scripts:
2.1) getProduto : alterar o campo que indica REFERENCIA
Exemplo: no script padrão seriam os seguintes campos CASE WHEN OPERACAO = 'EXCLUSAO' THEN logs.log_produtos.produto ELSE produtos.produto END REFERENCIA
Observação: é necessário ficar atento pois em scripts que utilizam tabela de preço, por exemplo, há mais de uma indicação ao campo REFERENCIA e deve ser alterada também.
2.2) getMovimento: alterar o campo que indica referenciaProduto
Exemplo: no script padrão seria o seguinte campo produtos.produto referenciaProduto
ATENÇÃO: IMPORTANTE QUE O CAMPO ESCOLHIDO PARA INDICAR A REFERÊNCIA SEJA SEMPRE ÚNICO E ESTEJA PREENCHIDO EM TODOS OS PRODUTOS A SEREM INTEGRADOS.