Skip to content

Tag-icone-mini.png 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.

Credenciais da API

  • 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.

Assinatura da API

  • 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".

Configuração do Terminal

  • 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.

Dados de Acesso a API

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

Ativação da Integração Pos Controle

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 ​
  1. 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.
  2. 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.
  3. 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".
  4. 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.
  5. 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 ​
  1. 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.
  2. 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.
    1. 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.
  3. 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.
  4. 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.
  5. Meio de Pagamento Cartão deve estar cadastrado no Pos Controle contendo no texto um dos valores "CARTAO, CREDITO, DEBITO, TEF".
    1. Sistema utiliza as descrições para identificar os meios de pagamento das operações de TEF.
    2. 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 ​

  1. 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.

  1. 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 ​

  1. Foi solicitado criação de estrutura para possibilitar integração de múltiplos "Cód. Barras" para um mesmo Produto.

13/08/2019 ​

  1. Foi solicitado criação de maneira para consultar as vendas canceladas na API através da data de cancelamento.

07/08/2019 ​

  1. 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 ​

  1. 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.

  1. 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 ​

  1. 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.

  1. Relatório para exibir as Unidades de Medida juntamente com o UnitTypeID.

Conforme retorno do "Leonardo Oliveira" será disponibilizado 15/08/2019.

  1. Relatório para exibir as Grupo do Produto "Departamento" juntamente com o ProductGroupID.

Conforme retorno do "Leonardo Oliveira" será disponibilizado 15/08/2019.

  1. 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.