Frente de Lojas Linux Informações referentes as aplicações de frente de lojas, desenvolvidas em Linux Slackware e Debian pela Avanço. Configuração Pagamento Carteira Digital QRCode NFC-e Frente Linux Configuração do Pagamento de Carteira Digital (ITI, PicPay, PIX) com QRCode para NFC-e no Frente Linux Sumário 1 - Explicando o Pagamento com QRCode para NFC-e 2 - Configurando o Supervisor 2.1 - Cadastrando Meios de Pagamento com TEF Dedicado 2.2 - Cadastrando Forma de Pagamento com o Tipo TEF 2.3 - Incluindo o Registrador da Forma de Pagamento 2.4 - Exportando a Configuração para os Caixas Linux 3 - Vinculando Formas de Pagamento no Sistema Integral 3.1 - Incluindo Forma de Pagamento no Integral 3.2 - Vinculando a Forma de Pagamento do Supervisor com o Plano de Contas Gerencial do Integral 4 - Configurando o SITEF 5 - Configurando o QRCode no Linux 6 - Configurando o CliSitef.ini 7 - Atualizando as Tabelas Enviadas 8 - Pagamento com QRCode (ITI, PicPay ou PIX) no Frente Linux 9 - Cancelando Transação da Carteira Digital 9.1 - Identificando o Número do Documento a ser Cancelado 9.2 - Cancelando Transação da Carteira Digital no Frente Linux 10 - Configurando o QRCode no PinPad Neste manual, será explicado o funcionamento do Pagamento com QRCode no Frente Avanço. REQUISITOS: Antes de qualquer ação via sistemas, o lojista precisa realizar o contato com o prestador de serviço de pagamento, neste caso, são os bancos ou entidades financeiras (Recebedoras), registradas no Banco Central, que irão gerar/criar a "conta" (chave PIX) e uma credencial para o estabelecimento. Cadastrar a sua credencial emitida pelo seu banco domicílio (PSP recebedor), juntamente com a Chave PIX, associada à sua conta, na plataforma da Software Express por meio do portal web. Toda transação ocorre Online, assim o estabelecimento obrigatoriamente precisar ter Internet. A configuração do pagamento com QRCode (ITI, PICPAY. PIX), está disponível a partir da versão  1.4.88 do Frente Linux . A versão do Sistema Operacional do Linux, precisa estar com Slackware 14.1 e 32 Bits ou acima. Aplicativo TEF (Software Express) contratado. A Instalação e Configuração do Módulo  CardSE  deverá ser feita no Servidor e no Sitef com os dados adquiridos no 1º tópico desses requisitos.  Para isso, será necessário acionar o Suporte da Avanço para que seja feita a instalação e configuração do módulo . Sistema Integral na última versão do release, pois há impacto no layout de cupons, no que se refere a importação de vendas.  Explicando o Pagamento com QRCode para NFC-e O QRCode é um código de barras bidimensional (em 2D), que pode ser lido por qualquer dispositivo com câmera, como por exemplo, o celular. O funcionamento do pagamento com QRCode, é bem simples. Quando o cliente optar por pagamento via aplicativo (ITI, PicPay ou Pix), o operador deverá escolher uma forma de pagamento que tenha movimentação do tipo TEF. Escolhendo essa forma de pagamento, o sistema irá listar os tipos de captura de dados para pagamento, sendo possível optar pela plataforma (ITI, PicPay ou Pix). Logo após o sistema irá apresentar o QRCode na tela, conforme o exemplo abaixo. A leitura do QRCode é feita na hora e de forma bem simples. Basta o cliente apontar a câmera do celular para escanear o código e realizar o pagamento, conforme a imagem abaixo. Não é preciso informar senha ou dados do cliente durante a transação, pois o aceite será pelo aplicativo e autorizado pelo próprio cliente. 2 - Configurando o Supervisor 2.1 - Cadastrando Meios de Pagamento com TEF Dedicado Rotina: Configuração TEF Dedicado Avanço Localização: Tabelas / TEF Dedicado Avanço Para configurar os meios de pagamento do QRCode no TEF Dedicado, acesse a localização citada acima. Na aba  Meios de Pagto , CLIQUE no campo em branco e informe o nome da forma de pagamento  Carteira Digital . Assim que a opção  Gravar , situado na barra lateral esquerda, for habilitada CLIQUE na mesma para salvar as configurações realizadas. Depois de gravar a configuração acima, será necessário cadastrar a forma de pagamento, conforme será apresentado no subtópico seguinte. 2.2 - Cadastrando Forma de Pagamento com o Tipo TEF Rotina: Cadastro de Formas de Pagamento Localização: Cadastros / Formas de Pagamento Para configurar o pagamento com QRCode, primeiramente é necessário cadastrar uma nova forma de pagamento, acessando a localização citada acima. OBSERVAÇÃO:  O cliente pode utilizar uma forma de pagamento já cadastrada no Supervisor mudando apenas o tipo para  2-TEF . Em seguida, CLIQUE no botão de  Incluir  para cadastrar uma nova forma de pagamento. Na aba  Principal , o código da forma de pagamento é gerado automaticamente a cada inclusão, como pode ser visto no exemplo abaixo no campo  Código .  CLIQUE no campo  Descrição  e, informe a descrição desejada para a forma de pagamento. Logo após, CLIQUE na opção  Tipo  e, selecione o tipo  2-TEF , conforme a imagem abaixo.  Na aba  Parâmetros 2 , CLIQUE na opção  Consulta Cliente (F5), mostrar:  e, selecione  Todos . Na aba  Parâmetros 3 , CLIQUE na opção  Meio Pagto TEF  e, selecione a opção  CARTEIRA DIGITAL . Em seguida, CLIQUE na opção  Tratamento da Data Vencimento  e, selecione a opção  Livre . Assim que a opção  Gravar , situado na barra lateral esquerda, for habilitada CLIQUE na mesma para salvar as configurações realizadas.  Depois de gravar a configuração acima, será necessário incluir o registrador da forma de pagamento cadastrada, conforme será apresentado no subtópico seguinte. 2.3 - Incluindo o Registrador da Forma de Pagamento Rotina: Registradores das Formas de Pagamentos no ECF Localização: Tabelas / Registradores Formas Pagtos Para incluir o registrador da forma de pagamento cadastrada, acesse a localização citada acima. CLIQUE em um campo vazio da coluna  ECF  (refere-se à impressoras cadastradas no Supervisor) e, selecione a opção  NFCE . Em seguida, CLIQUE na mesma linha, porém, da coluna  Forma Pagto  e, selecione a opção da forma de pagamento cadastrada, que no exemplo deste documento foi a  Carteira Digital .  Ainda na mesma linha, porém, da coluna  Registrador Forma , insira  99 .  Assim que a opção  Gravar , situado na barra lateral esquerda, for habilitada CLIQUE na mesma para salvar a configuração. Depois de configurar todas as configurações acima, será necessário exportar as alterações para os caixas, conforme o subtópico seguinte. 2.4 - Exportando a Configuração para os Caixas Linux  Rotina: Gerando Arquivos para: Linux Localização: Exportação / Frente Avanço (Linux/Windows) Para exportar as alterações para os caixas, acesse a localização citada acima. Ao acessar a rotina  Gerando Arquivos para: Linux , MARQUE as opções  Formas de Pagamento  e  TEF Dedicado  e, em seguida CLIQUE em  Exportar 3. Vinculando Formas de Pagamento no Sistema Integral Após realizar as configurações da Forma de Pagamento referente a Carteira Digital (Pagamento com QRCode referente ao ITI, PicPay ou PIX), será preciso fazer o processo de criar o Plano de Contas Gerencial e sua vinculação no sistema Integral, para que as vendas realizadas com essa nova modalidade de pagamento conste no sistema de gestão para conferência. 3.1 - Incluindo Forma de Pagamento no Integral Rotina: Plano de Contas Gerencial Programa: CBA006 Localização: Cadastros Básicos / Plano de Contas / Gerencial / Inclusão Para realizar o cadastro do plano de contas gerencial da forma de pagamento escolhida (ITI, PicPay ou PIX), acesse a localização citada acima, pressionando a tecla  Enter  para acessar cada caminho. Ao acessar a rotina preencha os dados conforme desejado. Para mais detalhes dos campos, consulte o documento: "  Dúvida | Como Cadastrar Tipos Gerenciais Plano Contas Gerencial Integral?  ". Após preencher os dados, o sistema exibirá a pergunta "  Confirma?  ", no qual deverá confirmar pressionando a tecla  Enter  ou informando a letra  S . Abaixo segue um exemplo, meramente ilustrativo, do cadastro do Plano de Contas do PicPay. 3.2 - Vinculando a Forma de Pagamento do Supervisor com o Plano de Contas Gerencial do Integral Rotina: Vincula Loja + Forma Pag com Tipo Gerencial Programa: EXP532 Localização: Exportar - Importar Arquivo / Frente Avanco / Exportar / Forma de Pagamento / Tipo - Forma de Pagamen. Para vincular a forma de pagamento escolhida (ITI, PicPay ou PIX), acesse a localização citada acima, pressionando a tecla  Enter  para acessar cada caminho. Ao acessar a rotina preencha os dados conforme desejado. Para mais detalhes dos campos, consulte o documento: "  Dúvida | Como Vincular Forma Pagamento Frente Loja Integral?  ". Após preencher os dados, o sistema exibirá a pergunta "  Confirma?  ", no qual deverá confirmar pressionando a tecla  Enter  ou informando a letra  S . Abaixo segue um exemplo, meramente ilustrativo, da vinculação da forma de pagamento cadastrada no Supervisor com o Plano de Contas cadastrado no Integral. 4 - Configurando o SITEF OBSERVAÇÃO:  Procure o Suporte da Avanço para fazer essa instalação e configuração. No servidor SITEF do cliente, baixe o módulo disponibilizado pela integradora SOFTWARE EXPRESS . Pare o serviço do SITEF e feche todas as aplicações referente ao mesmo. Antes de iniciar a instalação do módulo, realize uma  cópia  da pasta SITEF atual localizada no disco raiz  C:/ . Execute a instalação e configuração seguindo orientações do  "CardSE_Guia de Instalação.pdf" , já disponibilizado no pacote baixado anteriormente pela SOFTWARE EXPRESS. Após configurar, feche a aplicação salvando as alterações e inicie novamente o serviço do SITEF. 5 - Configurando o QRCode no Linux  Para que o QRCode funcione no Sistema operacional Linux, é necessário baixar o pacote no mesmo. OBSERVAÇÃO:  Procure o Suporte da Avanço para auxiliar nessa instalação. Acesse a linha de comando do prompt com usuário root. Acesse o diretório  /u . Para acessar o diretório, digite o comando  cd /u  e pressione a tecla  Enter . Ainda no prompt de comando, DIGITE o link disponibilizado para baixar o pacote e pressione a tecla  Enter . Link para baixar o pacote:  wget  https://packages.slackonly.com/pub/packages/14.1-x86/graphics/qrencode/qrencode-3.4.2-i486-1_slack.txz Após baixado, o próximo passo é instalar. Para instalar o pacote, DIGITE o comando  Installpkg qrencode-3.4.2-i486-1_slack.txz  no mesmo diretório  /u  do prompt de comando. Logo após, reinicie o Sistema DIGITANDO na linha de comando o comando  reboot , conforme o exemplo abaixo. Depois de reiniciar o Linux, será necessário configurar o  CliSiTef.ini  para que o Frente de Loja esteja apto para aceitar o pagamento com  QRCode . 6 - Configurando o CliSitef.ini   Na área de trabalho do Linux, CLIQUE no botão  Iniciar  ou utilize o atalho (cltr+esc) e, acesse o  Prompt do Linux . Na tela aberta, DIGITE  mcedit CliSiTef.ini  para acessar os parâmetros do Sitef. Ao abrir o arquivo, no grupo  [ GERAL] , no parâmetro  TransacoesAdicionaisHabilitadas , adicione os códigos  7  e  8 , conforme indicado na imagem abaixo. IMPORTANTE:  Apenas adicione os códigos informados, não remova os demais, pois outras transações já se encontram ativas. Após adicionar os códigos conforme citado acima, aperte a tecla  Enter  para inserir uma linha no grupo  [ GERAL] . Nessa nova linha, informe o parâmetro  PermiteDevolucaoCodigoAutorizacaoEstendido=1 , conforme indicado no exemplo abaixo. IMPORTANTE: Os valores previstos para essa variável Permite Devolução Codigo Autorização Estendido são: 0 – Desabilitado (Default) e 1 – Habilitado. Caso essa configuração esteja habilitada poderá ser retornado no campo 135 (Código de Autorização) um código de até 99 bytes. Caso esteja desabilitada, somente serão retornados códigos de até no máximo 15 bytes. Apenas adicione o parâmetro novo informado, não remova os demais, pois outras transações já se encontram ativas. Após realizar a configuração, pressione a tecla  Esc  duas vezes para salvar o arquivo e, em seguida CLIQUE na opção  Yes .  Em sequência, será retornado para a área de trabalho do Linux. Acesse o Frente Avanço CLICANDO no botão  Iniciar  ou utilizando o atalho ( cltr+esc ) e, CLIQUE em  Frente Avanço , ou DIGITE na tela do  Prompt do Linux  o comando  pdv .  7 - Atualizando as Tabelas Enviadas Ao acessar o sistema Frente de Loja Linux, pressione a tecla F4  para acessar o Menu Fiscal.  Ao ser exibida a janela do  MENU GERENTE , utilize a seta do tecla para baixo, selecione a opção  TEF-Op Administrativas  e, pressione a tecla  Enter  para atualizar as tabelas enviadas. OBSERVAÇÃO:  A atualização de tabelas de qualquer forma de pagamento TEF (Cartão de crédito ou débito) é realizada através do pinpad, porém, a forma de pagamento com QRCode não é realizado pelo pinpad, sendo necessário atualizar as tabelas antes de iniciar uma venda. Em seguida, o Frente de Loja exibirá a tela  OPER.ADMINISTRATIVAS TEF...  solicitando um usuário e senha, no qual deverá informar esses dados nos campos correspondentes. Após digitar o usuário e senha, pressione a tecla  Enter  para confirmar os dados. Em sequência, utilize a seta do teclado para baixo, selecione a opção  13 - Carga forcada de tabelas no pinpad (Servidor)  e, pressione a tecla  Enter  para confirmar. Logo em seguida, o Frente de Loja iniciará a atualização das tabelas com o PinPad. 8 - Pagamento com QRCode (ITI, PicPay ou PIX) no Frente Linux   Após a atualização das tabelas enviadas, será realizada uma venda no Frente de Loja Linux para pagamento com QRCode. Ao acessar o sistema Frente de Loja Linux, informe o (s) código (s) do (s) produto (s) desejado (s) e finalize a venda pressionando a tecla  F12 .  Na tela de  SubTotal , na  FORMAS DE PAGTO , escolha a  forma de pagamento  cadastrada no Supervisor. No exemplo neste documento a forma de pagamento é a  Carteira Digital . Após selecionar a forma de pagamento, o Frente abrirá a tela do TEF. Logo após, utilize a seta do teclado para baixo, selecione a opção desejada (ITI, PicPay ou PIX) e, pressione a tecla  Enter  para confirmar. No exemplo deste documento, a Carteira Digital utilizada foi o PicPay, porém, o procedimento será o mesmo para o ITI ou PIX. O Frente de Loja abrirá a tela do QRCode, no qual o cliente com a câmera do celular poderá escanear o código e realizar o pagamento. Para escanear o código é necessário que o cliente abra o aplicativo escolhido para realizar o pagamento no seu celular e, clicar na função correspondente a leitura do código QrCode.  Em seguida, o cliente deverá apontar a câmera do seu dispositivo para O QRCode apresentado no Frente de Loja, aguardando a leitura.  A transação só será confirmada quando o cliente autorizar no seu aplicativo, no qual será debitado automaticamente de seu saldo sendo notificado. Após a confirmação, o Frente de Loja solicitará a confirmação o fechamento a venda, no qual deverá pressionar a tecla  Enter  para confirmar. Para cancelar, utilize a seta do teclado lateral para selecionar a opção  Não  e, pressione a tecla  Enter . Ao finalizar, será impresso uma NFC-e juntamente com comprovante da transação, conforme o exemplo abaixo. 9 - Cancelando Transação da Carteira Digital 9.1 - Identificando o Número do Documento a ser Cancelado O número do documento a ser cancelado se encontra no comprovante de transação impresso pelo Frente no campo  DOC , conforme o exemplo abaixo. 9.2 - Cancelando Transação da Carteira Digital no Frente Linux Ao acessar o sistema Frente de Loja Linux, pressione a tecla  F4  para acessar o Menu Fiscal.  No  MENU GERENTE , utilize a seta do teclado para baixo, selecione a opção  TEF-Op. Administrativas  e, pressione a tecla  Enter  para realizar o cancelamento de transação da Carteira Digital.    Em seguida, o Frente de Loja solicitará um usuário e senha, no qual deverá informar esses dados nos campos correspondentes.  Após digitar o usuário e senha, pressione a tecla  Enter  para confirmar os dados. Em seguida, utilize a seta do teclado para baixo, selecione a opção  3 - Cancelamento de transacao  e, pressione a tecla  Enter  para confirmar. Logo após, utilize a seta do teclado para baixo, selecione a opção  11 - Cancelamento Carteira Digital  e, pressione a tecla  Enter  para confirmar.          Em seguida, o Frente de loja solicitará informações sobre a transação efetuada no qual deseja cancelar, no qual será aberto uma janela de  Carteira digital . Utilize a seta do teclado para cima ou para baixo, selecione a transação efetuada que deseja cancelar e, pressione a tecla  Enter  para confirmar. No exemplo deste documento, foi escolhida a opção  8 - PicPay CD .    Informe o valor da transação no qual deseja cancelar e, pressione a tecla  Enter  para confirmar. Informe o  número do documento  a ser cancelado e, pressione a tecla  Enter  para confirmar. Informe a data em que a transação foi realizada, pressione a tecla  Enter  e, aguarde o fim da transação de cancelamento. Se todos os dados estiverem corretos, será exibido a mensagem  Lojista OK  e os comprovantes de cancelamento serão impressos. Abaixo segue um exemplo de um comprovante de cancelamento. 10 - Configurando o QRCode no PinPad Na área de trabalho do Linux, clique no botão iniciar ou use o atalho (cltr+esc), e acesse o Prompt de comando do Linux. No prompt de comando do Linux digite  fazini  e aperte a tecla  Enter . Ao abrir a tela  fazini , no campo  Variável  AV_  informe a palavra  PINPADQ , no campo  Tipo  informe a letra  L  (que corresponde a lógico) e no campo  Conteudo  informe a letra  T  (que corresponde a true - verdadeiro), conforme o exemplo abaixo. Após realizar a configuração, aperte a tecla  Esc  duas vezes para sair da tela do fazini. Logo depois, será retornado para a área de trabalho do Linux.     O Atendimento para a Avanço Informática é prioridade! Caso Você tenha alguma dúvida, fique à vontade para entrar em contato com a gente: Clique aqui para falar conosco no WhatsApp Frente de Lojas Linux Slackware Informações referentes a aplicação desenvolvida em Linux Slackware 1 - Versões do Frente de lojas Linux Slackware A versão do Frente de Loja é controlada pelo hash do binário do PDV. Comando no prompt do Linux para você verificar o hash do binário do Frente de lojas: cat pdv | md5sum Versão: 1.5.41 - fe83935e0c92516c037d14843b3e3134 Implementações da versão: MUDANÇAS NA VERSÃO 1.5.41 - LINUX  AJUSTES:  Ajuste refere a Inconsistência no XML em vendas com desconto Scanntech por bin. Permitir indentificar cliente por codigo em teclado reduzido. Envio de SKU com mais de 6 digitos para Mercafácil ( CLIENTES NOVOAVANCO). Ajuste na impressão de comprovantes TEF em modo Reduzido. MELHORIAS:  PDV TOUCH - Tocar em qualquer local da tela para sair da mensagem "PRODUTO NÃO CADASTRADO".Padronização de API's, usando sempre a url base. Frente de Lojas Linux Debian Informações referentes a aplicação desenvolvida em Linux Debian 1 - Requisitos, recursos e informações sobre o Frente de Loja Linux Debian A versão do Frente de Loja foi desenvolvida e adaptada sobre a plataforma do Linux Debian 12 - 64 bits, não existe um instalador para o Frente de Loja, as sim imagens disponibilizadas já vêm com todas as configurações iniciais prontas necessárias para a utilização da aplicação. Os requisitos mínimos de hardware para instalação são: Processador Intel Core i3; Mínimo de 8GB de memória RAM; SSD de no mínimo 120GB; Placa de rede Gigabit; Saída serial ou USB compatível com os dispositivos periféricos conectados, como mouse; Outros periféricos: Periféricos que podem compor o PDV, como leitor de código de barras, balança de PDV, PinPad, Teclado Reduzido, Leitor Biométrico entre outros, devem estar disponíveis no momento da instalação, conforme homologação; É necessários duas saídas de vídeo para casos de utilização de dois monitores touch screen! Importante:  Não é recomendado a utilização do Frente de Loja, em redes do tipo Wifi, apenas com soluções cabeadas, podendo utilizar IP fixo ou dinâmico. O equipamento que vai receber a instalação do Frente de Lojas Linux Debian, deverá conter apenas uma unidade de disco e o pendrive da instalação, caso contrário o instalador poderá falhar. A instalação é feita através de imagens e estas estão subdividida em quatro opções: SATA - Legacy: Para computadores que possuam unidade de disco SATA e opção de boot Legacy; Para você baixar a imagem para modelo SATA e boot Legacy, clique  aqui SATA - EFI: Para computadores que possuam unidade de disco SATA e opção de boot EFI; Para você baixar a imagem para modelo SATA e boot EFI, clique  aqui NVME: Para computadores que possuam unidade de disco NVME (M.2) Para você baixar a imagem para modelo NVME, clique  aqui FULL: Para computadores que possuam quaisquer das três opções de setup anteriores: SATA Legacy, SATA EFI ou NVME. Para você baixar a imagem FULL, clique  aqui Os requisitos do pendrive para montagem da instalação são: Imagens separadas: É necessário um pendrive com no mínimo 4GB; Imagem completa, chamada de FULL: É necessário um pendrive com no mínimo 8GB.  * Recomendamos a utilização de pendrives das marcas Sandisk ou Kingston que foram testados pela Avanço. Recursos que a versão oferece: Terminal de acesso remoto  Putty,  já instalado; Navegador de internet  Firefox ,  já instalado; Cliente da Gsurf para sitef, já instalado; Servidor VNC para acesso remoto em redes privadas, já instalado; Preparado para acessos através de SSH ; Instalação facilitada da ferramenta  Rustdesk para acessos remotos diretamente ao caixa de fora da sua rede; Compatibilidade com telas touch screen Sweda, Elgin e Custom ; Compatível com todos os modelos de impressoras já disponíveis no Frente de Loja Avanço; Compatível com todos os modelos de pinpad  já disponíveis no Frente de Loja Avanço; Compatível com todos os modelos de balanças já disponíveis no Frente de Loja Avanço. 2 - Download e Montagem de Pendrive para instalação do Frente de Lojas Linux Debian Nesta sessão, você vai poder acompanhar um vídeo com o passo a passo da montagem do pendrive para instalação do Frente Linux Debian Importante:   Tenha certeza que não existam informações relevante no seu pendrive antes de executar a ferramenta de gravação da imagem, ou faça backup antes de começar. O Computador que vai receber a instalação do Frente de lojas, deverá conter apenas uma unidade de disco e o pendrive da instalação, caso existam mais de um dispositivos no computador, o instalador poderá falhar. Use pendrives das marcas Sandisk ou Kingston, pois este foram testados em nosso laboratório. Abaixo segue o vídeo demonstrando a preparação do pendrive: Para você baixar o software que faz a gravação do pendrive em Windows, clique  aqui Para você baixar a imagem “legacy.iso”,  para modelo SATA e boot Legacy,  pendrive mínimo 4GB. Clique  aqui Para você baixar a imagem  “efi.iso”,  para modelo SATA e boot EFI, pendrive mínimo 4GB. Clique  aqui Para você baixar a imagem  "nvme.iso",  para modelo NVME, pendrive mínimo 4GB. Clique  aqui Para você baixar a imagem  "full.iso",  para todos os modelos de setup, pendrive mínimo 8GB. Clique  aqui 3 - Instalação do Frente de Loja Linux Debian Nesta sessão, você vai poder acompanhar um vídeo com o passo a passo da instalação, feita na prática em uma maquina virtual do Frente Linux Debian Muito importante:  O instalador não questiona sobre informações contidas no equipamento, sendo assim, tenha certeza que não existam informações relevante antes de executar o instalador ou faça o backup, antes de começar. O Computador que vai receber a instalação do Frente de Lojas deverá conter apenas uma unidade de disco e o pendrive da instalação, caso existam mais de um dispositivos no computador, o instalador poderá falhar. Abaixo segue o vídeo demonstrando a instalação em uma maquina virtual, utilizando Virtualbox: Seguem algumas teclas de atalho, para opção de acesso a bios e também boot menu das placas mães mais utilizadas no mercado, você vai precisar desta opção para fazer o seu computador iniciar pelo pendrive que contem a instalação do frente de lojas: Fabricante BIOS (Setup) Boot Dicas úteis  Asus Del  F8  Padrão bem consistente do mercado Asrock Del F11 Muito usada em computadores genéricos Dell F2 F12 Padrão mais consistente do mercado Gigabyte  Del F12 Placas-mãe de Desktop MSI Del F11 Muito usada em computadores genéricos Sweda Touch Del F11 Máquinas homologadas pela Avanço Positivo F2 ou Del F11 ou F7 Varia muito pois usam placas OEM. Se F2/Del falhar, tente Esc HP / Compaq F10 F9 Placas-mãe de Desktop Lenovo F1 ou F2 F12 ou F10 F10 (Raro, modelos muito antigos) 4 - Pós-instalação do Frente de Lojas Linux Debian Nesta sessão, você vai poder acompanhar um vídeo com o passo a passo da demonstrando do reinício do computador após instalação do Frente Linux Debian Muito importante:  Acessando o equipamento por SSH, utilize as seguintes credenciais:  IP do equipamento e porta padrão 22 Login:  pdv Senha: super Acessando o equipamento por VNC, utilize a credencial: IP do equipamento e porta 5969 Senha: pdvdebian Não recomendamos que o caixa seja utilizado em DMZ, por questões de segurança. Nesta instalação, não existe o usuário root, para necessidades de root em casos de comandos administrativos, utilize o comando sudo, com no exemplo abaixo: sudo mcedit /etc/network/interface Abaixo segue o vídeo demonstrando a pós-instalação em uma maquina virtual, utilizando Virtualbox: 5 - Configuração de rede no Frente de Lojas Linux Debian Nesta sessão, você vai poder acompanhar um vídeo com o passo a passo da configuração de rede, feita na prática do Frente Linux Debian Para a configuração de informações sobre a rede do Frente Linux Debian, é muito importante que você saiba sobre as informações de rede que devem ser inseridas nesta etapa para evitar problemas no funcionamento do sistema e até mesmo na sua própria rede. Caso não saiba ou não tenha as informações, sugerimos que procure seu técnico de TI / redes ou o responsável por tal. Abaixo segue o vídeo demonstrando a configuração de rede: Os passos dos procedimentos mostrados no vídeo, estão descritos abaixo para auxílio: 1. Sai do programa de frente de lojas 2. Use as teclas e   para subir o menu principal 3. Selecionar em Menu:  Sistema --> Terminal  (auxilia nas configurações dos arquivos necessários) 4. Utilizar o editor de textos mcedit, precedido do comando administrativo sudo, para alterar as informações de rede no arquivo nomeado de interfaces Exemplo: cd /etc/network sudo mcedit interfaces 4. Escolha qual opção será definida no arquivo interfaces, se você vai utilizar IP fixo, ou se será utilizado IP através de DHCP, ou seja IP dinâmico, lembre-se que utilizando IP fixo, você pode acessar de maneira mais assertiva o caixa, através dos protocolos VNC ou SSH. Para usar IP fixo você deve comentar a opção DHCP e deixar as linhas  referentes a IP Fixo, caso contrário você faz o inverso. Abaixo segue um exemplo do arquivo interfaces, nele você vai encontrar as sessões DHCP, usada para IP dinâmico, ou a sessão IP Fixo, e para comentar neste arquivo, você utilize no início da linha o simbolo # Exemplo:  # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # USAR DHCP allow-hotplug enp0s3 iface enp0s3 inet dhcp # USAR IP FIXO #allow-hotplug enp0s3 #iface enp0s3 inet static #    address 192.168.1.3/24 #    gateway 192.168.1.254 #    dns-nameservers 8.8.8.8 1.1.1.1 5. Sai do editor de textos mcedit utilizando a tecla , duas vezes e selecione sim para salvar o arquivo 6. Após a alteração do arquivo interfaces , devemos reiniciar o computador usando o comando:  sudo reboot Para configurar rotas estáticas no Linux, além das informações acima, inclua as linhas de rota, como mostrado abaixo: Abaixo seguem exemplos do arquivo interfaces, nele você vai encontrar as sessões DHCP, usada para IP dinâmico, ou a sessão IP Fixo, e para comentar neste arquivo, você utilize no início da linha o simbolo #. Os exemplos mostram como definir uma rota, em caso de DHCP, também mostra um exemplo incluindo a rota para caso de IP Fixo. Exemplo usando DHCP:  # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # USAR DHCP allow-hotplug enp0s3 iface enp0s3 inet dhcp # ROTA PARA TEF MARTINS <--- Aqui incluímos a rota de exemplo, você vai precisar pegar o IP da rede e da antena e definir abaixo up ip route add 172.19.0.0/16 via 192.168.1.100 dev enp3s0 # USAR IP FIXO #allow-hotplug enp0s3 #iface enp0s3 inet static #    address 192.168.1.3/24 #    gateway 192.168.1.254 #    dns-nameservers 8.8.8.8 1.1.1.1 Exemplo usando IP Fixo:  # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # USAR DHCP #allow-hotplug enp0s3 i#face enp0s3 inet dhcp # USAR IP FIXO allow-hotplug enp0s3 iface enp0s3 inet static     address 192.168.1.3/24     gateway 192.168.1.254     dns-nameservers 8.8.8.8 1.1.1.1     # ROTA PARA TEF MARTINS <--- Aqui incluímos a rota de exemplo, você vai precisar pegar o IP da rede e da antena e definir abaixo     up ip route add 172.19.0.0/16 via 192.168.1.100 dev enp3s0 Tabela com informações sobre mascara de IP para redes TCP/IP levando em consideração IPV4: Notação CIDR Máscara de Sub-rede (Decimal) Total de IPs Hosts Úteis Uso Comum /32 255.255.255.255 1 1 (Host) IP Fixo (Rota de Host) /31 255.255.255.254 2 0 (ou 2*) Links Ponto-a-Ponto (Raro) /30 255.255.255.252 4 2 Links Ponto-a-Ponto (Padrão) /29 255.255.255.248 8 6 Pequenos blocos de IPs Públicos /28 255.255.255.240 16 14 Deptos pequenos / VLANs /27 255.255.255.224 32 30 Deptos pequenos / VLANs /26 255.255.255.192 64 62 Segmentação de /24 /25 255.255.255.128 128 126 Metade de uma rede padrão /24 255.255.255.0 256 254 Padrão de Redes Locais (LAN) /23 255.255.254.0 512 510 Junção de duas redes /24 /22 255.255.252.0 1.024 1.022 Redes Wi-Fi de médio porte /21 255.255.248.0 2.048 2.046   /20 255.255.240.0 4.096 4.094   /19 255.255.224.0 8.192 8.190   /18 255.255.192.0 16.384 16.382   /17 255.255.128.0 32.768 32.766   /16 255.255.0.0 65.536 65.534 Grandes Redes Corporativas /15 255.254.0.0 131.072 131.070   /14 255.252.0.0 262.144 262.142   /13 255.248.0.0 524.288 524.286   /12 255.240.0.0 1.048.576 1.048.574 Redes Privadas (172.16.x.x) /11 255.224.0.0 2.097.152 2.097.150   /10 255.192.0.0 4.194.304 4.194.302   /9 255.128.0.0 8.388.608 8.388.606   /8 255.0.0.0 16.777.216 16.777.214 Redes Gigantes (Ex: 10.x.x.x) 6 - Configuração de acesso remoto no Frente de Lojas Linux Debian Nesta sessão, você vai poder acompanhar um vídeo com o passo a passo da instalação e configuração da ferramenta de acesso remoto Rustdesk, além de ser uma ferramenta gratuita e muito prática para o auxílio no dia a dia, o Rustdesk não possui as limitações, que o  Anydesk, por ser proprietário está impondo, também utilizamos um servidor de relay da própria Avanço Informática, mantendo mais segurança nas informações que são trafegadas nos acessos. Muito importante:  Para este procedimento, é fortemente recomendado que utilize um mouse ligado ao equipamento, para facilitar as configurações. Você deve definir um servidor para acesso que não seja o servidor padrão do fornecedor Rustdesk, pois assim a ferramenta vai funcionar com bem mais agilidade. Os parâmetros de servidores, não estarão no vídeo, por questões de privacidade, caso necessitem de ajuda, por favor chamem o setor de suporte da Avanço ou vejam os parâmetros no arquivo leia_sobre_rustdesk.txt, que se encontra na pasta /u/util, onde também está o pacote de instalação da ferramenta. Abaixo segue o vídeo demonstrando a instalação e a base da configuração: Os passos dos procedimentos mostrados no vídeo, estão descritos abaixo para auxílio: Tela principal - Abra o Rustdesk Tela principal - Clique nos 3 pontinhos para tela de configurações Tela de configurações - Selecione segurança   Tela de segurança - Faça o desbloqueio da tela de segurança usando a senha do usuário pdv, senha super Tela de segurança - Habilite a opção: Habilitar modificações de configuração remotas  Tela de configurações - Selecione rede Tela de rede - Faça o desbloqueio da tela de rede usando a senha do usuário pdv, senha super Tela de rede - Defina os parâmetros do servidor da Avanço, ou caso tenha algum servidor próprio para esta função. É muito importante que você defina um servidor, para que o acesso não fique lento, pois os servidores compartilhados do fornecedor do Rustdesk, são muito lentos. 7 - Telas touch screen - Sweda, Elgin e Custom Nesta sessão, você vai poder acompanhar um vídeo com o passo a passo da instalação e configuração de um modelo de tela touch screen, além de várias outras informações sobre os modelos que são homologados pela Avanço informática. Muito importante:  Leia as informações abaixo referentes as telas touch screen homologadas e principalmente as informações que fazem referencias específicas aos modelos que você está instalado, pois as informações ajudam na configuração. Para este procedimento, é fortemente recomendado que não utilize um mouse ligado ao equipamento. Em todos os casos, as configurações das telas touch screen homologadas, ficam na resolução de 1024x768. Todos os cabos USB's devem estar ligados no equipamento, para o funcionamento correto das telas homologadas, pois existem algumas particularidades de troca de ID's, quando retiramos e incluímos quaisquer devices nas portas USB. As telas avulsas da Custom foram homologadas, porém o equipamento All In One Custom Sirius 15.6" Intel Celeron J6412 8gb 128gb Ssd - 921lb661700233, não pode ser utilizado com a aplicação da Avanço, devido as resoluções não serem padrão para o sistema. Pois este equipamento possui para a tela menor, apenas a resolução de 1366x768,   não sendo possível alterar esta resolução. Acesse o link abaixo para ver o vídeo demostrando a instalação e configuração: O funcionamento das telas touch screen possuem as seguintes particularidades, exceto um modelo da marca Elgin, que possui apenas USB, fugindo a regra:  Cabo de energia elétrica, fonte de energia para alimentação da tela Cabo de entrada de vídeo, onde recebemos as imagens do computador na tela; Cabo USB,  para o funcionamento do toque na tela. Existem no Linux Debian 12,  comandos que nos auxiliam na hora de configurarmos as telas touch homologadas, os comandos são estes abaixo: lsusb - Lista os dispositivos USB ligados efetivamente ao computador, mostrando também a ligação USB das telas touch; xrandr - Lista os dispositivos conectados efetivamente a um entrada de vídeo no computador, normalmente são nomeadas de VGA, HDMI, DP, entre outro nomes, também é importante ressaltar que a entrada vem complementada pelo número da porta ao qual o cabo de vídeo está ligado com computador, como por exemplo: HDMI-2; xinput - Lista os ID's das telas ligadas ao computador, também chamados de números de identificação de cada dispositivo plugado em uma porta USB no computador, estes ID's podem variar de acordo com as portas USB's que as telas foram ligadas fisicamente, também é muito importante ressaltar que as portas USB's 3.0, possuem uma caraterística particular de variar muito os ID's, quando inserimos ou retiramos dispositivos diversos nestes modelos de portas, e isso pode desconfigurar facilmente uma tela touch. Sendo assim recomendamos fortemente que todos os dispositivos que serão utilizados no computador que vai servir como caixa, devem ser ligados antes das configuração final das telas, para evitar que os ID's mudem. Outra boa prática é evitar ao máximo, colocar as telas touch screen, exceto o modelo da Elgin apenas USB, ligadas a portas USB do tipo 3.0.  Telas Sweda: As telas da Sweda possuem uma denominação interna de ILITEK ILITEK-TP, tanto a tela de 15 polegadas, quanto a tela de 9 polegadas e as duas telas aparecem com o mesmo nome, dificultando um pouco a configuração, até o acerto do ID para cada tela, recomendamos fortemente que não liguem as telas em saídas USB 3.0, principalmente na maquinas completas da Sweda que possuem o conjunto completo de fábrica. Telas Elgin: As telas da Elgin possuem uma denominação interna de Weida Hi-Tech CoolTouch, diferentemente da Sweda, a tela de 15 polegadas da Elgin é embutida juntamente ao computador, não sendo uma tela avulsa, porém a tela de 9 polegadas vem com uma denominação interna um pouco diferente da tela de 15 polegadas, isso é quando a tela que possui apenas um cabo USB e nenhum outro cabo, neste caso a denominação é Weida Hi-Tech CoolTouch®, ou seja é mais fácil a identificação do ID, devido ao ® de marca registrada da tela de 9 polegadas. Ainda falando sobre a tela de 9 polegadas da Elgin, também existe um modelo da tela de 9 polegadas com cabo VGA, a denominação deste modelo é ILITEK ILITEK-TP, como nas telas Sweda, facilitando também a configuração de ID para cada tela, pois possuem os nomes diferentes. Telas Custom: As telas da Custom possuem uma denominação interna de ILITEK ILITEK-TP, assim como as telas da Sweda, tanto para as telas de 15 e 17 polegadas, quanto a tela de 9 polegadas e as três telas aparecem com o mesmo nome, dificultando um pouco até o acerto da configuração de ID para cada tela, recomendamos fortemente que não liguem as telas em saídas USB 3.0. As telas da Custom precisam que alem de definirmos as saídas de vídeo e os ID's, também são necessárias as taxas de atualizações para que funcionem corretamente, diferentemente das telas de Sweda e Elgin. O equipamento All In One Custom Sirius 15.6" Intel Celeron J6412 8gb 128gb Ssd - 921lb661700233, não pode ser utilizado com a aplicação da Avanço, devido as resoluções não serem padrão para o sistema.  Este equipamento possui para a tela menor, apenas a resolução de 1366x768, não sendo possível alterar esta resolução. Configurações e detalhes que existem nas imagens do frente de lojas Linux Debian: Nas imagens da Avanço, existem dois script na pasta /u/bats, que fazem o controle das telas touch screen, primeiro você deve usar o script telas_touch.sh para as telas Sweda ou Elgin ou então o script telas_touch_taxa.sh para as telas da Custom, nestes arquivos você vai definir quais são as telas e seus ID's respectivos e no caso das telas Custom também a taxa de atualização, abaixo seguem exemplos dos dois scripts citados neste tópico: Outros scripts relevantes e que auxiliam muito na instalação, são eles: configura_telas_touch.sh e configura_telas_touch_taxa.sh. Estes scripts possuem um passo a passo solicitando ao usuário a entrada de vídeo e o ID respectivo da tela, ao final o script cria os outros scripts, denominados: script telas_touch.sh e script telas_touch_taxa.sh Neste exemplo a seguir usaremos telas Sweda ou Elgin, ligadas da seguinte forma: A tela de 15 polegadas está na porta HDMI-1 e a tela de 9 polegadas está na porta VGA-1, e conseguimos os ID's, através do comando xinput e os resultados são: A tela de 15 polegadas recebeu o ID 17, já a tela de 9 polegadas recebeu o ID 13. Exemplo do script telas_touch.sh #!/bin/bash # Variáveis de configuração # Você deve definir qual é o monitor primário e também o secundário, para isso use o comando xrandr # Para cada monitor você vai também colocar qual é o ID da tela atraveś do comando xinput MONITOR_PRIMARIO="HDMI-1" MONITOR_AUXILIAR="VGA-1" ID_TOUCH_PRIMARIO="17" ID_TOUCH_AUXILIAR="13" # Configura o layout das telas: primário à esquerda, auxiliar à direita. xrandr --output $MONITOR_PRIMARIO --primary --mode 1024x768 --output $MONITOR_AUXILIAR --mode 1024x768 --right-of $MONITOR_PRIMARIO # Aguarda a estabilização do sistema gráfico. sleep 5 # Mapeia o toque para as telas corretas. xinput map-to-output $ID_TOUCH_PRIMARIO $MONITOR_PRIMARIO xinput map-to-output $ID_TOUCH_AUXILIAR $MONITOR_AUXILIAR Já no exemplo a seguir usaremos telas Custom, ligadas da seguinte forma: A tela de 15 ou 18 polegadas está na porta HDMI-1 e a tela de 9 polegadas está na porta VGA-1, e conseguimos os ID's, através do comando xinput e os resultados são: A tela de 15 ou 18 polegadas recebeu o ID 09, já a tela de 9 polegadas recebeu o ID 15, ambas as telas possuem a taxa de atualização em 60 hz. Exemplo do script telas_touch_taxa.sh #!/bin/bash # Variáveis de configuração # Você deve definir qual é o monitor primário e também o secundário, para isso use o comando xrandr # Para cada monitor você vai também colocar qual é o ID da tela atraveś do comando xinput # Taxa de atualização também conhecido como frequência, veja no comando xrandr referente a resolução de 1024x768 # A opção que usa taxas, devem ser utilizada para telas da marca CUSTOM MONITOR_PRIMARIO="HDMI-1" MONITOR_AUXILIAR="VGA-1" ID_TOUCH_PRIMARIO="09" ID_TOUCH_AUXILIAR="15" TAXA_PRIMARIA="60.00" TAXA_AUXILIAR="60.00" # Configura o layout das telas: primário à esquerda, auxiliar à direita. xrandr --output $MONITOR_PRIMARIO --primary --mode 1024x768 --rate $TAXA_PRIMARIA --output $MONITOR_AUXILIAR --mode 1024x768 --rate $TAXA_AUXILIAR --right-of $MONITOR_PRIMARIO # Aguarda a estabilização do sistema gráfico. sleep 5 # Mapeia o toque para as telas corretas. xinput map-to-output $ID_TOUCH_PRIMARIO $MONITOR_PRIMARIO xinput map-to-output $ID_TOUCH_AUXILIAR $MONITOR_AUXILIAR 8 - Coletas informações de Hardware Nesta sessão, você vai poder acompanhar um vídeo com o passo a passo da montagem de um pendrive para coleta das informações de hardware e também outro vídeo de como executar a coletas destas informações. Esta coleta serve para saber se o equipamento que as informações foram coletadas, contem os requisitos mínimos para instalação da ferramenta de frente de lojas Linux Debian da Avanço Informática. Muito importante:  Para este procedimento, é fortemente recomendado, caso você não saiba detalhes das informações dos caixas do seu estabelecimento. Você vai precisar de um pendrive, e tenha certeza que o mesmo possa ser limpo, pois o procedimento vai limpar todo o conteúdo do seu pendrive. Caso seu equipamento esteja em uma rede com internet, as informações colhidas, serão enviadas para um grupo do Telegram dos responsáveis em analisar os recursos de hardware da  Avanço Informática. As informações colhidas tem apenas a finalidade de informar sobre os hardware existentes no estabelecimento, estas informações não serão utilizadas para mais nenhum fim. Após analise, as informações serão apagadas.  O que será informado: CNPJ do cliente, Nome Fantasia do cliente, Número da loja, Numero do caixa e Técnico responsável. O que será colhido: Modelo da placa mãe do computador, quantidade de núcleos do processador, quantidade de memória RAM, tamanho e tipo do disco e performance da ligação de rede. Para você baixar a ferramenta Ventoy versão Windows,  clique aqui Para você baixar a imagem ISO do coletor de informações, clique  aqui Abaixo seguem vídeos demonstrando a montagem do pendrive e coleta das informações dos equipamentos na prática utilizando uma maquina virtual como exemplo: Montagem do pendrive Coletando informações A coleta demonstrada no vídeo acima, gerou o seguinte resultado no Telegram:   Abaixo, seguem a imagem de quando a coleta aconteceu, porém o computador não estava conectado a internet, você deve tirar uma foto da tela e enviar para o responsável na Avanço para análise: 10 - Versões do Frente de lojas Linux Debian A versão do Frente de Loja é controlada pelo hash do binário do PDV. Comando no prompt do Linux para você verificar o hash do binário do Frente de lojas: cat pdv | md5sum Versão: 1.5.41 - 1654d2d06ef820225ad8dd4725143138 Implementações da versão: MUDANÇAS NA VERSÃO 1.5.41 - LINUX  AJUSTES:  Ajuste refere a Inconsistência no XML em vendas com desconto Scanntech por bin. Permitir indentificar cliente por codigo em teclado reduzido. Envio de SKU com mais de 6 digitos para Mercafácil ( CLIENTES NOVOAVANCO). Ajuste na impressão de comprovantes TEF em modo Reduzido. MELHORIAS:  PDV TOUCH - Tocar em qualquer local da tela para sair da mensagem "PRODUTO NÃO CADASTRADO".Padronização de API's, usando sempre a url base. Como Realizar a Configuração e Manutenção do Pinpad Realizando configuração e manutenção na rotina de pinpad do frente de loja Linux Como Realizar a Configuração e Manutenção do Pinpad Em caso de erros com códigos não especificados sobre o erro, vide tabela Fiserv: https://dev.softwareexpress.com.br/docs/clisitef/tabela_codigos_retorno Requisitos Frente de Loja Linux Requisitos e recomendações para instalação de frente de loja da versão Linux. Solução de PDV que realizar registro, pagamento e tramitação de vendas da Avanço Informática. Os seguintes requisitos e recomendações devem ser seguidos para garantia do funcionamento mínimos das funcionalidades da aplicação. Requisitos de Máquina Para garantir o desempenho adequado da solução de ponto de venda (PDV), é essencial atender aos seguintes requisitos mínimos: Processador Intel Core i3; Mínimo de 8GB de memória RAM; SSD de no mínimo 120GB; Placa de rede Gigabit; Saída serial ou USB compatível com os dispositivos periféricos conectados, como mouse; Outros periféricos: Periféricos que podem compor o PDV, como leitor de código de barras, balança de PDV, PinPad, Teclado Reduzido, Leitor Biométrico entre outros, devem estar disponíveis no momento da instalação, conforme homologação; É necessários duas saídas de vídeo para casos de utilização de dois monitores touch screen! Sistemas operacionais disponíveis Sistemas operacionais necessários para execução correta do caixa na versão Windows. Sistema Operacional Versão Edição Debian 12 (64 bits) 12 1 Slackware 15.0 (32 bits) 15.0 1 A Avanço Informática disponibiliza uma imagem ( iso ) com o pacote completo de instalação da distribuição do Linux Slackware incluindo o pacote da aplicação do PDV em sua última versão disponível. Para mais informações, entre em contato com o suporte Avanço através do nosso  Canal de Atendimento . Requisitos de Infraestrutura Além dos requisitos de hardware, a infraestrutura necessária para operação inclui: Monitor:  Com entrada compatível (VGA, HDMI, DisplayPort) e resolução mínima de 1024x768. Placa de Vídeo:  Compatível com os sistemas operacionais mencionados. Impressora não Fiscal:  Verificar os modelos homologados pela solução. Conexão de Rede:  Ponto de rede cabeada RJ45 disponível, com comunicação com a internet sem controle de firewall (Wi-Fi não permitido). Requisitos de Rede Recomendáveis Para o funcionamento da NFC-e, é recomendável que o ambiente de comunicação seja compatível com os itens abaixo: Internet Estável:  Deve ser uma conexão estável, sem quedas ou perdas de pacotes, com velocidade mínima de 1MB para download e 256KB para upload (por ponto utilizado). Contingência de Internet:  É recomendável que a instalação contenha contingência de internet, utilizando dois ou mais links de fornecedores provedores distintos, para manter o funcionamento pleno. Internet Exclusiva:  É recomendável uma internet exclusiva para emissão das notas, para evitar gargalos e lentidões com compartilhamentos no momento das transações. Requisitos de Segurança de Rede Recomenda-se que o ambiente de comunicação seja compatível com os itens abaixo: Estrutura de Acesso à Internet:  Protegida por firewall e antivírus, principalmente para instalações que utilizam sistema operacional Windows. Requisito do Certificado Digital O modelo do certificado digital usado para NFC-e é o A1, que é gerado e armazenado no computador pessoal, dispensando o uso de cartões inteligentes ou tokens. Para cada filial deverá existir um certificado A1, e este ficará copiado em todos os equipamentos que emitem a NCF-e, para emissão de notas fiscais em processo de contingência. É de responsabilidade do usuário fazer a proteção de acesso aos equipamentos que emitem NFC-e, através de senhas, firewall e antivírus, devido a necessidade deles conter uma cópia do certificado digital da empresa. Recomendações e Observações Para uma instalação bem-sucedida e operação otimizada, tais recomendações devem ser seguidas Recomenda-se realizar o processo de instalação de forma presencial. Crie um ponto de restauração antes de iniciar a instalação para facilitar a recuperação em caso de problemas. Reinicie a máquina conforme solicitado pelo instalador para garantir a conclusão adequada do processo. Utilize o ODBC Driver versão psqlodbc_10_03_0000-x86 ou superior para compatibilidade com o banco de dados. Instale o ODBC Driver a partir do link fornecido ou do site oficial do PostgreSQL. Desative o Controle de Conta de Usuário (UAC) do Windows para evitar interferências durante a instalação. Instale o Java antes de executar a instalação do sistema de frente de loja ou supervisor. Tal instalação será solicitada no processo inicial da instalação do PDV. Reinicie a máquina após a conclusão da instalação para aplicar todas as configurações e garantir o funcionamento correto. Impressoras não fiscais Homologadas: Para o funcionamento da NFC-e, é recomendável que a impressora fiscal seja compatível com as listadas abaixo, por terem sido homologadas: Marca Modelos ELGIN I7, I9 EPSON TM 88V, TM T20, T20X BEMATECH MP 4200 TH, MP 2800 CONTROLID PRINTID DARUMA DR-700/800 TANCA TP-650 JETWAY JP-800 PinPads Homologados Para o funcionamento da NFC-e, é recomendável que o pind pad seja compatível com os listados abaixo, por terem sido homologados: Marca Modelos INGENICO IPP320 GERTEC PPC910, PPC930 Integração PDV Avanço — Consulta de Descontos e Envio de Venda (Parceiros CRM) Objetivo Documentar o fluxo PDV → Parceiro de Fidelidade/Descontos (ex.: "crescevendas" como placeholder), com exemplos de requisição e retorno, e a explicação dos campos utilizados. O documento é genérico e pode ser aplicado a qualquer parceiro que exponha endpoints equivalentes. Visão geral do fluxo Consulta de descontos (pré-venda): o PDV envia os itens do carrinho + identificação do cliente → API do parceiro retorna descontos aplicáveis e dados do cliente. Envio da venda (pós-fechamento): o PDV registra a venda efetuada (itens, pagamento, total) → API do parceiro confirma pontos/saldo/benefícios concedidos e retorna os saldos finais. Observação: os nomes de host, caminhos e cabeçalhos abaixo são exemplos . Adapte-os ao parceiro real (ex.: https://{host-parceiro}/admin/api/v2/... ). Padrões comuns Formato : JSON (UTF-8). Métodos : POST para as operações descritas. Timeout recomendado no PDV : 30s. Autenticação : via cabeçalhos proprietários do parceiro (ex.: X-AdminUser-Email , X-AdminUser-Token ). Idioma : quando suportado, enviar Accept-Language: pt-BR . Cabeçalhos (exemplo) Accept: */* Content-Type: application/json Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4 charsets: utf-8 X-AdminUser-Email: X-AdminUser-Token: 1) Consulta de Descontos (pré-venda) Endpoint (exemplo): POST https://{host-parceiro}/admin/api/v2/shops Request — Exemplo de curl curl -k -m 30 -s -S \ -H "Accept: */*" \ -H "Content-Type: application/json" \ -H "Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4" \ -H "charsets: utf-8" \ -H "X-AdminUser-Email: " \ -H "X-AdminUser-Token: " \ -X POST \ --data-binary @inicia_parceiro.json \ "https://{host-parceiro}/admin/api/v2/shops" \ -o retorno_consulta.json --stderr erro_consulta.log -D header_consulta.txt Request — Corpo (exemplo) { "items": [ { "category": "046", "code": "00000000000017", "product_name": "CREME AMEND ALMOND B", "quantity": 1.0, "subcategory": "241", "unit_type": "um", "unit_value": 6.99 } ], "registration": "05940778690" } Significado dos campos (request) Campo Tipo Obrigatório Descrição items Array de objeto Sim Lista de itens no carrinho do PDV para avaliação de desconto. items[].category string Recomendado Código de categoria mercadológica do item no PDV. items[].subcategory string Opcional Código de subcategoria mercadológica. items[].code string Sim Identificador do produto (EAN/PLU/código interno). items[].product_name string Recomendado Descrição do produto. items[].quantity number Sim Quantidade do item. items[].unit_type string Recomendado Unidade de medida (ex.: um , kg , lt ). items[].unit_value number Sim Preço unitário vigente no PDV (antes de desconto). registration string Sim Identificação do cliente para o parceiro. Ex.: CPF (somente números). Boas práticas: Enviar unit_value já no valor de venda do PDV; o parceiro retornará descontos/propostas. Se houver mix de unidades (ex.: peso/quilagem), alinhar previamente com o parceiro como enviar e arredondar. Response — Exemplo { "response": { "code": 200, "discounts": { "products": [], "subtotal": 0.0 }, "shop_id": "0909092413", "user": { "address": { "adjunct": "", "city": "Belo Horizonte", "district": "Santa Efigênia", "number": 131, "phone": "(31) 33333-3333", "state": "Minas Gerais", "street": "Avenida Brasil", "zipcode": "30140-000" }, "name": "Heberth Minelli", "st_token": "11177821-d40a-40f8-9b58-9f50978682a9", "total_balance": 100.0, "total_points": 1969 } } } Significado dos campos (response) Campo Tipo Descrição response.code number Código de status interno do parceiro (200 = sucesso). Não substitui o HTTP status. response.discounts.products array Detalhes de descontos por produto (quando aplicável). response.discounts.subtotal number Desconto total a ser aplicado no subtotal do carrinho (se houver). response.shop_id string Identificador da loja/estabelecimento no parceiro. response.user objeto Dados do cliente no ecossistema do parceiro (endereços, saldos, pontos). response.user.st_token string Token de sessão/identificação do cliente no parceiro (usar conforme política do parceiro). response.user.total_balance number Saldo monetário de benefícios (se aplicável). response.user.total_points number Pontos acumulados (se aplicável). Aplicação no PDV: o PDV pode aplicar descontos retornados (por item e/ou subtotal) e exibir dados do cliente (nome, pontos, etc.), conforme regras da loja. 2) Envio da Venda (pós-fechamento) Endpoint (exemplo): POST https://{host-parceiro}/admin/api/v2/sales O caminho acima é exemplo . Alguns parceiros usam /shops/sales , /orders , etc. Alinhe o endpoint definitivo na homologação. Request — Corpo (exemplo) { "discounts": [], "items": [ { "category": "046", "code": "00000000000017", "product_name": "CREME AMEND ALMOND B", "quantity": 1.0, "subcategory": "241", "total_value": 6.99, "unit_type": "um", "unit_value": 6.99 }, { "category": "048", "code": "00000000000031", "product_name": "LEITE UHT PIRACANJUB", "quantity": 1.0, "subcategory": "269", "total_value": 1.0, "unit_type": "um", "unit_value": 1.0 } ], "payment": { "coupon": "02290621.99", "date": "2025-09-09T11:12:20", "paymethod": [ { "paymethod": 1, "value": 7.99 } ], "total": 7.99 }, "registration": "05940778690" } Significado dos campos (request) Campo Tipo Obrigatório Descrição discounts array Opcional Lista de descontos efetivamente aplicados na venda (quando o parceiro exige detalhar). items array Sim Itens efetivamente vendidos. Campos seguem a semântica da consulta, com adição de total_value . items[].total_value number Sim Valor total do item (já considerando quantidade e descontos). payment objeto Sim Dados do pagamento da venda. payment.coupon string Recomendado Identificador do cupom/ECF/NSU no PDV (para auditoria). payment.date string (ISO-8601) Sim Data/hora de fechamento da venda no PDV (ex.: YYYY-MM-DDThh:mm:ss ). payment.paymethod[] array Sim Parcelas/meios de pagamento utilizados. payment.paymethod[].paymethod number/string Sim Código do meio de pagamento (tabela acordada com o parceiro). payment.paymethod[].value number Sim Valor pago com o respectivo meio. payment.total number Sim Total da venda (soma dos pagamentos). registration string Sim Identificação do cliente no parceiro (ex.: CPF). Conciliação: payment.total deve bater com a soma de paymethod[].value . Para múltiplos meios, adicione entradas no array. Response — Exemplo { "response": { "balance": 0.0, "code": 200, "future_balance": 0.0, "points": 8, "user": { "address": { "adjunct": "", "city": "Belo Horizonte", "district": "Santa Efigênia", "number": 131, "phone": "(31) 33333-3333", "state": "Minas Gerais", "street": "Avenida Brasil", "zipcode": "30140-000" }, "name": "Heberth Minelli", "st_token": "11177821-d40a-40f8-9b58-9f50978682a9", "total_balance": 100.0, "total_points": 1977 } } } Significado dos campos (response) Campo Tipo Descrição response.code number Código de processamento no parceiro (200 = sucesso). response.points number Pontos concedidos na venda. response.balance number Saldo monetário utilizado/remanescente após a venda (quando aplicável). response.future_balance number Saldo futuro (benefícios liberados em D+N, quando houver). response.user.total_points number Pontos totais do cliente após a venda. response.user.total_balance number Saldo total do cliente após a venda (quando aplicável). Considerações de implementação (PDV) Idempotência: Recomenda-se enviar um identificador único por venda (ex.: payment.coupon + data) e, se o parceiro suportar, um cabeçalho Idempotency-Key para evitar lançamentos duplicados em reenvios. Tratamento de erros: Mapear HTTP status (ex.: 4xx/5xx ) e também response.code do corpo quando houver. Implementar retentativas somente para erros transitórios. Encoding: Garantir UTF-8 para nomes de produtos e logradouros; caso o parceiro retorne acentos com encoding incorreto, normalizar para exibição no PDV. Tabelas de referência: paymethod (meios de pagamento) e eventuais códigos de categoria/subcategoria devem ser alinhados e versionados entre PDV e parceiro. Segurança: Armazenar X-AdminUser-Token em cofre seguro. Nunca registrar token em logs de nível INFO/DEBUG. Observabilidade: Logar request-id, latência, tamanho de payload e resumo do resultado (sem PII sensível) para facilitar diagnósticos. Anexos — Arquivos de exemplo inicia_parceiro.json { "items": [ { "category": "046", "code": "00000000000017", "product_name": "CREME AMEND ALMOND B", "quantity": 1.0, "subcategory": "241", "unit_type": "um", "unit_value": 6.99 } ], "registration": "05940778690" } retorno_consulta.json (amostra) { "response": { "code": 200, "discounts": { "products": [], "subtotal": 0.0 }, "shop_id": "0909092413", "user": { "name": "Heberth Minelli", "st_token": "11177821-d40a-40f8-9b58-9f50978682a9", "total_balance": 100.0, "total_points": 1969 } } } venda_enviada.json { "discounts": [], "items": [ { "category": "046", "code": "00000000000017", "product_name": "CREME AMEND ALMOND B", "quantity": 1.0, "subcategory": "241", "total_value": 6.99, "unit_type": "um", "unit_value": 6.99 }, { "category": "048", "code": "00000000000031", "product_name": "LEITE UHT PIRACANJUB", "quantity": 1.0, "subcategory": "269", "total_value": 1.0, "unit_type": "um", "unit_value": 1.0 } ], "payment": { "coupon": "02290621.99", "date": "2025-09-09T11:12:20", "paymethod": [ { "paymethod": 1, "value": 7.99 } ], "total": 7.99 }, "registration": "05940778690" } retorno_venda.json (amostra) { "response": { "balance": 0.0, "code": 200, "future_balance": 0.0, "points": 8, "user": { "name": "Heberth Minelli", "st_token": "11177821-d40a-40f8-9b58-9f50978682a9", "total_balance": 100.0, "total_points": 1977 } } } Checklist de Homologação Confirmar endpoints definitivos (consulta e venda) e autenticação. Validar mapeamento de paymethod (códigos e formas aceitas). Verificar regras de arredondamento e casas decimais em itens/descontos. Ensaiar cenários com múltiplos meios de pagamento e cancelamento/estorno (se aplicável). Testar comportamento offline/timeout e diretrizes de reenvio (com idempotência). Observação: os exemplos de dados (CPF, nomes, tokens, códigos) são fictícios e servem apenas para demonstração. Substitua por valores reais na sua integração.