Projetos, Análise
| Análise | |
| Projeto PJ6026 | |
| Data da Análise: 08/08/2019 |
Projeto
Integração entre o sistema "Totali Commerce" com "Pos Controle" tratando os dados destacados nos itens abaixo.
- Envio de Cadastro de Produtos/Preços/Tributação.
- Recepção de Vendas.
Especificação Técnica
Configurações Necessárias
Pos Controle
- Obtendo credencial da API
- Acessar o Dashboard do Pos Controle, acessar "Configuração -> Terminais" guardar o usuário e senha destacados no grupo "Credenciais API", serão utilizadas na configuração do WSMiddleware.

- Obtendo assinatura da API
- Acessar o Portal da API do Pos Controle, acessar as informações de Perfil através no menu do usuário e guardar a "Chave primária", será utilizada na configuração do WSMiddleware.

- Cadastrar todos os Departamentos do cliente pelo Dashboard do Pos Controle, "Cadastro -> Grupo".
Deve ser criado um grupo com descrição "GERAL", caso seja criado um novo departamento no Commerce e o mesmo não seja localizado será utilizado esse grupo como padrão. Sistema irá utilizar a comparação pela descrição para associar os cadastro caso a chave do grupo não esteja associada pelo "Totali Config >>> Produto >>> Departamento".
- Cadastro de unidade de médida atualmente é fixos no Pos Controle sendo possível consultar apenas pelo WebService, não sendo possível visualizar pelo Dashboard.
Caso utilizar unidade de medida diferente das existentes da lista abaixo deve-se solicitar para o Pos Controle a inclusão. Sistema irá utilizar a comparação pela descrição para associar os cadastro caso a chave da unidade não esteja associada pelo "Totali Config >>> Produto >>> Unidade".
Totali Config
- Tabela de preço utilizada na integração de produtos é a tabela definida para venda ao varejo.
SELECT CFG.FILPRE, CFG.CODPRE, TPR.DESPRE FROM TT_CFG CFG JOIN TT_TPR TPR ON TPR.CODFIL = CFG.FILPRE and TPR.CODPRE = CFG.CODPRE;
- Configurando os terminais deve ser realizada através do menu "Totali Config >>> Venda >>> Emissor de Cupom Fiscal", para cada terminal deve ser definido um ECF dentro da faixa dos 400 à 499, valor definido deve ser utilizado como Série da NFCe a ser emitida pelo terminal, essa configuração é realizada através do Dashboard do Pos Controle "Configuração -> Terminais".

- Associação do ID do Pos Controle para "Unidade de Medida" e "Departamento".
"Totali Config >>> Produto >>> Unidade >>> Campo "Código POS CONTROLE"". "Totali Config >>> Produto >>> Departamento >>> Campo "Código POS CONTROLE""
Devido ao cadastro de unidade de medida ser fixo atualmente segue abaixo a tabela obtida pelo WebService no dia "08/08/2019" o código a ser utilizado é o valor do campo "UnitTypeID".
{ "UnitTypes": [{ "UnitTypeID": "55550E77-10D1-40DA-A067-075CB2124ACC", "Name": "Un" }, { "UnitTypeID": "55550E77-10D1-40DA-A067-075CB2ACCE25", "Name": "Kg" }, { "UnitTypeID": "55550E77-10D1-40DA-A067-075CB2EDDD85", "Name": "Cx" }, { "UnitTypeID": "55550E77-10D1-40DA-A067-075CB2EEEA29", "Name": "Lt" }, { "UnitTypeID": "70FC0030-56DC-4316-AAF5-5B4A106FBE93", "Name": "In" }, { "UnitTypeID": "71F5C365-95D4-4B8C-B648-5CE0A2DA297E", "Name": "VR" }, { "UnitTypeID": "D46DAEDE-CDC7-4C2D-889F-66E2BB7CE170", "Name": "Vq" }, { "UnitTypeID": "F6EC57BA-BBE5-429A-B018-A2B4DF7B1A9E", "Name": "CB" }, { "UnitTypeID": "34088DE9-2DE6-42B5-AAB1-CADB9AA226FB", "Name": "M3" }, { "UnitTypeID": "78866486-AC5D-472A-9C2D-D9A8454FE79C", "Name": "M2" }, { "UnitTypeID": "FB3BFE14-7D94-4043-BC76-F198D00BE34A", "Name": "Pc" }] }
Obs: Caso seja informado um código inválido o serviço do Pos Controle não gera erro ele simplesmente não inclue ou altera o produto caso o mesmo tenha sido enviado juntamente com outros produtos.
WSMiddleware
- Definindo dados de acesso a API e assinatura para possibilitar a sincronização.

- Ativando serviço de integração continua da integração do Pos Controle e Tempo entre cada sincronização.

Mudanças por Módulo
Banco de Dados
Criação de novas colunas para armazenar o ID do Pos Controle.
TT_GRA.CODPOS_GRA - VARCHAR(40) - Código POS CONTROLE TD_MED.CODPOS_DMED - VARCHAR(40) - Código POS CONTROLE TD_DEP.CODPOS_DDEP - VARCHAR(40) - Código POS CONTROLE
Totali Config
Criação de interface para possibilitar a associação do ID do Pos Controle para "Unidade de Medida" e "Departamento".
"Totali Config >>> Produto >>> Unidade >>> Campo "Código POS CONTROLE"". "Totali Config >>> Produto >>> Departamento >>> Campo "Código POS CONTROLE""
WSMiddleware
Criação de interface para possibilitar ativar o serviço de integração.
Criação de interface para possibilitar definição dos dados de acesso a API de integração o qual deve ser definida por Filial.
Totali Middleware Service
Criação de serviço que possa ser ativado através de configuração do WSMiddleware onde o tempo entre cada execução seja definido pelo usuário por minutos.
Serviço deve realizar a integrações definidas abaixo:
- Cadastro de Produto através da API do Pos Controle.
- Importação de Vendas "NFC-e" consultando informações através da API do Pos Controle.
Informações Importantes na integração de Produto
- Serviço utiliza controle da data/hora de integração através de registro na "TT_ATU" com a descrição "EXP_CAD_POSCONTROLE", pegando como data/hora inicial valor da coluna "TT_ATU.DATFIM" até a data/hora atual.
- Departamentos que não possuirem código do Pos Controle definidos sistema fará tentativa se associação através do nome caso não localizado utilizará o Grupo definido como GERAL no Dashboard assim se torna obrigatório o cadastro desse grupo.
- Unidade de Medida que não possuirem código do Pos Controle definidos sistema fará tentativa se associação através do nome caso não localizado utilizará por padrão "UN - Unidade".
- Serviço do Pos Controle aceita imagens no produto apenas nos formatos PNG e JPG assim o processo de integração somente enviará a imagem caso esteja nesse formato, o envio de imagem em outro formato não gera erro mas causa a não inclusão/alteração do cadastro.
- Processo de integração de produtos é realizado em pacotes de 10 produtos por vez assim se ouver erro em alguma execução os produtos já sincronizados irão permanecer sendo atualizado quando o processo for reiniciado novamente.
Informações Importantes na integração de Vendas
- Serviço utiliza controle da data/hora de integração através de registro na "TT_ATU" com a descrição "IMP_MOV_POSCONTROLE", pegando como data/hora inicial valor da coluna "TT_ATU.DATFIM" até a data/hora atual.
- Venda sem XML de Autorização ou Inutilização serão registrados como Transação inconsistênte mostrando através da "TV_DIA" a existência da falha.
- Inconsistência não irá abortar processo de importação, irá registrar para que possa ser avaliado e solucionado, não irá atualizar a data da última integração na TT_ATU, dessa forma o sistema irá realizar nova consulta no mesmo período até que todas as vendas retornas possua XML para que possa ser realizada a importação.
- Venda que não foi autorizada pelo SEFAZ porem teve sua inutilização processada será registrada apenas como uma inutilização na tabela "TT_INU" - Inutilização.
- Emissão de notas em contingência no POS CONTROLE atualmente não gera XML no retorno até sua autorização pelo SEFAZ assim será gerado como inconsistênte até seu procesamento.
- Meio de Pagamento Cartão deve estar cadastrado no Pos Controle contendo no texto um dos valores "CARTAO, CREDITO, DEBITO, TEF".
- Sistema utiliza as descrições para identificar os meios de pagamento das operações de TEF.
- Bandeira do cartão é localizada através do código da bandeira no SiTEF onde são utilizados os campos ("TD_CAR.BANDEB - Código da Bandeira do Cartão de Débito" ou "TD_CAR.BANCRE - Código da Bandeira do Cartão de Crédito"), caso não localizada será relacionado como "NÃO IDENTIFICADO" valor padrão do sistema.
Layout de Integração
Produção
Dashboard - "https://totallpos.pdv.mobi/POSAuth"
Portal da API - "https://www.api.poscontrole.com.br"
Homologação
Dashboard - "https://app.poscontrole.com.br/WebAPP"
Portal da API - "https://www.api.poscontrole.com.br"
Pendencias repassadas para o Suporte da Pos Controle
10/09/2019
- Foi identificado que os Dados da Autorização do TEF não estão sendo colocados no XML da NFCe, solicitado ajuste.
Conforme retorno do "Leonardo Oliveira" dia 01/11/2019, o processo foi corrigido.
- Foi identificado que está tendo uma diferente entre o Tipo de pagamento entre o XML e o Bloco de pagamento recebido na Lista de Pagamentos da Venda do Pos Controle, solicitado ajuste.
Conforme retorno do "Leonardo Oliveira" dia 01/11/2019, o processo foi corrigido.
19/08/2019
- Foi solicitado criação de estrutura para possibilitar integração de múltiplos "Cód. Barras" para um mesmo Produto.
13/08/2019
- Foi solicitado criação de maneira para consultar as vendas canceladas na API através da data de cancelamento.
07/08/2019
- Foi solicitado informações sobre a API de vendas canceladas e a possibilidade de gerar lançamentos para que termos retorno nesse método.
Conforme retorno do "Leonardo Oliveira" dia 09/08/2019, o processo de consulta de cancelamentos retorna pela data da venda, foram realizados controles para buscar as vendas dentro do prazo de cancelamento anterior a última integração.
06/08/2019
- Verificar possibilidade de criação de serviço para consultar notas geradas em contingência possibilitando filtrar pela data de autorização.
Conforme retorno do "Leonardo Oliveira" dia 09/08/2019, não será possível criar serviço solicitado em curto prazo irá atualizar informações sobre questão nas próximas semanas.
- Foi solicitado informações de tabelas destacadas no retorno do meio de pagamento para verificar possibilidade de melhorias no processo de importação.
Tabelas retornas pelo "Leonardo Oliveira" dia 09/08/2019, caso venha a ser necessário para melhorar o tratamento dos lançamentos de TEF faremos os devidos controles utilizando as tabelas.
02/08/2019
- Possibilidade de enviar mais informações sobre impostos juntamente com o produto "% de Redução da Base de ICMS", "Código de Beneficio Fiscal" e "Motivo da Desoneração Fiscal".
Conforme retorno do "Leonardo Oliveira" será disponibilizado 22/08/2019.
- Relatório para exibir as Unidades de Medida juntamente com o UnitTypeID.
Conforme retorno do "Leonardo Oliveira" será disponibilizado 15/08/2019.
- Relatório para exibir as Grupo do Produto "Departamento" juntamente com o ProductGroupID.
Conforme retorno do "Leonardo Oliveira" será disponibilizado 15/08/2019.
- Criar recurso para possibilitar realizar inclusão de Grupo do Produto "Departamento" através da API.
Conforme retorno do "Leonardo Oliveira" será disponibilizado 22/08/2019.