Integração AgoraFaz
Hoje, existe a possibilidade de integrar produtos e clientes 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 as integrações feitas pelo HubDeIntegração:
1) Na pasta Admplus\Net colocar o arquivo configEcommerce.xml que está salvo em Publico\Sistemas\AdmPlusNet\Configuradores\Ecommerce\AgoraFaz e configurar as seguintes informações:
<Ecommerce> AgoraFaz.
<AgoraFaz> Quando <Ecommerce> = AgoraFaz, é necessário existir esta tag, que contem tags específicas para configuração desta integração. São elas:
<site> caminho da API da AgoraFaz. Importante sempre confirmar com o cliente ou com o suporte do site.
<fornecedor> código gerado pelo AgoraFaz para a integração. O cliente deve ter seu próprio código.
<usuario> e-mail do usuário para login na parte de fornecedor no site.
<senha> senha do usuário para login na parte de fornecedor no site.
<referenciaProduto> qual o critério para a integração do produto no site. O padrão é utilizar o CodigoInterno(usa a referencia do produto no plus como código externo no site), mas pode ser usado também CodigoAgoraFaz (usa a referencia do produto no plus como id no site) ou CodigoDeBarras (usa a referencia do produto no Plus como código de barras no site).
<idLocatario> id fornecido pelo Agora Faz para integração de clientes.
OBSERVAÇÃO: As outras tags manter padrão.
2) Colocar a pasta HubDeIntegração que está em Publico\Releases\Hub De Integracoes 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\Sistemas\HubDeIntegracao\Configuradores\AgoraFaz 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 de produtos, categorias de produto, estoque, vendedores e cliente. Já vem com o script padrão, mas o cliente pode optar por integrar menos informações. 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. (verificar item Informações do produto que são integradas com o AgoraFaz)
Esse script considera que o campo utilizado no Admplus para integração é o FANTASIA. Caso utilizar outro campo, será necessário alterar no script os lugares que estão produtos.fantasia para :
- produtos.barra, caso for o código de barras
- produtos.produto, caso for o código do produto.<getCliente> script que busca os clientes incluídos/alterados no AdmPlus para serem integrados no AgoraFaz. Por padrão, retorna todas as informações que são integradas (verificar item Informações de cliente que são integradas com o AgoraFaz). Além disso, considera somente clientes ativos e sem vínculo com o AgoraFaz.
<updateReferenciaCliente> Utilizada para gravar o código do cliente do AgoraFaz no ERP. Utiliza-se o código gerado para vincular na coluna referencia_ecommerce da tabela cliente do Admplus. Essa coluna está apenas no BD.
Observação importante:
- As outras tags devem permanecer vazias.
- Hoje somente inclui os clientes.
5) No DataIntegracao.xml estão as tags com a data e hora da última integração de cada estrutura.
<ProdutoBD> data/hora da última integração dos produtos do Admplus para o AgoraFaz.
<ClienteBD> data/hora da última integração de clientes do AdmPlus para o AgoraFaz.
Observações importantes:
- As outras tags devem permanecer vazias.
- 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 a rotina tem que informar data/hora que considere todas as alterações feitas nas tabelas que integra.
- 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 de clientes, é necessário considerar a tabela integracoes.int_cliente para saber se existe inclusão/alteração dos registros no período. Além de padrão de integração, nessa tabela só haverá alterações feitas no Admplus. Dessa forma, quando estiver implantando a rotina, tem que informar data/hora que considere todas as alterações feitas nessa tabela.
6) Configurações no Admplus:
Na aba Importações, 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: Utilizada na integraçã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: Caso não existir o cliente do pedido que está sendo integrado, indica se inclui esse cliente no Admplus ou se serão incluidos 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.
Transações Fiscais para o sincronizador de Estoque: utilizadas para incluir o movimento no estoque do Admplus. Como no AgoraFaz não existe essa possibilidade, não é necessário informar.
7) Configuração da execução do HubDeIntegração:
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, faz uma configuração do caminho de onde está o arquivo configEcommerce.xml. Por padrão esse arquivo fica na pasta net do sistema:
Importante 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.
PRODUTO
A integração de produtos é feita somente do Admplus para o AgoraFaz, ou seja, todas as inclusões/alterações devem ser feitas no Admplus para serem integradas. Já as alterações no site não serão atualizadas no Admplus.
Atualmente, trata somente produtos sem classe.
Todos os produtos que serão vendidos 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:
Caso no arquivo ConfigEcommerce.xml, estiver configurado <filtroParaAtualizacaoDoProduto> como :
FANTASIA: a referência utilizada para integração deverá ser informado no nome fantasia do cadastro de produto.
CODIGO: pode utilizar o código do produto como referência.
CODIGO_BARRA: pode utilizar o código de barras do produto como referência para a integração
Caso a referência for FANTASIA, desmarcar essa opção no parâmetro:
Informações do produto que são integradas com o AgoraFaz:
Os campos que estão sendo integrados são:
- referência (fantasia ou código ou codigo de barras),
- descrição,
- peso,
- código de barras,
- especificação do produto,
- observação do produto,
- ncm,
- preço de custo,
- preço de venda 1( 2 casas decimais),
- altura,
- largura,
- status.
Correspondência dos campos ( campos correspondentes estão representados com o mesma cor no Admplus e No Site):
No AdmPlus:
No AgoraFaz:
Observações importantes:
- Para chegar ao preço de venda está considerando apenas o markup aplicado ao custo. Caso algum cliente utilizar de outra forma, será necessário alterar o script.
ESTOQUE
No cadastro de filial do Admplus precisa ter o depósito a ser utilizado:
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.
CLIENTE
A integração de clientes é feita do Admplus para o AgoraFaz - todas as inclusões/alterações feitas no Admplus serão integradas no AgoraFaz.
Como a integração de clientes é feita pela tabela int_cliente, antes da execução da primeira integração é necessário executar o script abaixo para dar a carga inicial na tabela:
INSERT INTO integracoes.int_cliente (data, operacao, codigo, filial) SELECT current_timestamp, 'INCLUSAO', codigo, filial FROM public.cliente;
O cliente precisa ter CPF (pessoa física) ou CNPJ (pessoa jurídica) válido :
- Configurar parâmetro Contas a Receber -> Clientes -> Cadastro -> Bloqueio cadastro CNPJ/CPF inválido = TOTAL
O AgoraFaz também não aceita e-mail inválido e por isso é necessário ter essa atenção antes de fazer a primeira integração:
1) Executar o script abaixo antes da primeira integração para listar e-mails que provavelmente estão errados e precisam ser corrigidos (pode ser que tenham outros além dos que serão exibidos, caso isso ocorrer, vai dar erro na integração, aí tem que parar a integração, corrigir e começar novamente):
select * from emaildecliente where email not like '%@%' or email not like '%.%' or email like '%,%' or email like '%:%' or email like '%..%' or email like '%/%' or email like '%>%' or email like '%. %'
or (char_length(email) - char_length(REPLACE(email, '@', '')) > 1 and email not like '% %')
Caso apresentar muitos registros, pode executar o script abaixo que faz a mesma verificação, mas com a diferença de considerar apenas clientes ativos, já que o integrador considera apenas clientes ativos (Mas é importante depois corrigir os inativos também. já que caso forem ativados o integrador irá considerá-los):
select e.cliente, e.email, c.situacao from emaildecliente e inner join cliente c on (c.codigo = e.cliente) where (e.email not like '%@%' or e.email not like '%.%' or e.email like '%,%' or e.email like '%:%' or e.email like '%..%' or e.email like '%/%' or e.email like '%>%' or e.email like '%. %' or TRIM(e.email) like '% %' or (char_length(e.email) - char_length(REPLACE(e.email, '@', '')) > 1)) and c.situacao = 'A'
Informações de cliente que são integradas com o AgoraFaz:
Os campos que estão sendo integrados são:
- código,
- razão,
- fantasia,
- cnpj/cpf,
- rua,
- numero,
- bairro,
- uf,
- cep,
- complemento,
- celular,
- cidade,
Correspondência dos campos ( campos correspondentes estão representados com o mesma cor no Admplus e No Site):
No AdmPlus:
No AgoraFaz:
Observações Importantes:
- Nome, endereço, e-mail e CNPJ são obrigatórios.
- Em relação à e-mail: caso tenha mais de um registro ou algum registro com mais de um email separado por ';' , somente o primeiro é considerado.
- Hoje só trata a inclusão de clientes e permite inclusão de clientes diferentes com mesmo CPF/CNPJ. Só não permite a inclusão caso já exista o email cadastrado.
Então existe as seguintes situações que podem acontecer e precisam de atenção:
- Caso alterar alguma informação do cliente e o cliente (email) já existir no Agora Faz, não vai atualizar no Agora Faz
- Caso alterar o email do cliente no Admplus, vai cadastrar o cliente novamente no Adgora Faz já que a Chave no Agora Faz e o email.