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.

Carteira Digital 1.png

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.


Carteira Digital 2.png

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.


Carteira Digital 3.png

Na aba Meios de Pagto, CLIQUE no campo em branco e informe o nome da forma de pagamento Carteira Digital.


Carteira Digital 4.png

Assim que a opção Gravar, situado na barra lateral esquerda, for habilitada CLIQUE na mesma para salvar as configurações realizadas.

Carteira Digital 5.png

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.

Carteira Digital 6.png
Em seguida, CLIQUE no botão de Incluir para cadastrar uma nova forma de pagamento.


Carteira Digital 7.png

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


Carteira Digital 8.png

CLIQUE no campo Descrição e, informe a descrição desejada para a forma de pagamento.   

Carteira Digital 9.png

Logo após, CLIQUE na opção Tipo e, selecione o tipo 2-TEF, conforme a imagem abaixo. 

Carteira Digital 10.png

Na aba Parâmetros 2, CLIQUE na opção Consulta Cliente (F5), mostrar: e, selecione Todos.  

Carteira Digital 11.png

Na aba Parâmetros 3, CLIQUE na opção Meio Pagto TEF e, selecione a opção CARTEIRA DIGITAL.

Carteira Digital 12.png

Em seguida, CLIQUE na opção Tratamento da Data Vencimento e, selecione a opção Livre.  

Carteira Digital 13.png

Assim que a opção Gravar, situado na barra lateral esquerda, for habilitada CLIQUE na mesma para salvar as configurações realizadas. 


Carteira Digital 14.png

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.

Carteira Digital 15.png

CLIQUE em um campo vazio da coluna ECF (refere-se à impressoras cadastradas no Supervisor) e, selecione a opção NFCE.

Carteira Digital 16.png

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

Carteira Digital 17.png

Ainda na mesma linha, porém, da coluna Registrador Forma, insira 99

Carteira Digital 18.png

Assim que a opção Gravar, situado na barra lateral esquerda, for habilitada CLIQUE na mesma para salvar a configuração.

Carteira Digital 19.png

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.

Carteira Digital 20.png


Ao acessar a rotina Gerando Arquivos para: Linux, MARQUE as opções Formas de Pagamento e TEF Dedicado e, em seguida CLIQUE em Exportar

Carteira Digital 21.png


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.


Carteira Digital 22.PNG

Carteira Digital 23.PNG

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


Carteira Digital 24.PNG

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.

Carteira Digital 25.PNG


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.

Carteira Digital 26.PNG

Carteira Digital 27.PNG

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

Carteira Digital 28.PNG

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.

Carteira Digital 29.PNG


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.

Carteira Digital 30.png

Acesse o diretório /u. Para acessar o diretório, digite o comando cd /u e pressione a tecla Enter.

Carteira Digital 31.png

Carteira Digital 32.png

Ainda no prompt de comando, DIGITE o link disponibilizado para baixar o pacote e pressione a tecla Enter.


Carteira Digital 33.png

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.


Carteira Digital 34.png

Carteira Digital 35.png

Logo após, reinicie o Sistema DIGITANDO na linha de comando o comando reboot, conforme o exemplo abaixo.

Carteira Digital 36.png

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.


Carteira Digital 37.png

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.


Carteira Digital 38.png

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.



Carteira Digital 39.png

Após realizar a configuração, pressione a tecla Esc duas vezes para salvar o arquivo e, em seguida CLIQUE na opção Yes

Carteira Digital 40.png

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

Carteira Digital 41.png


7 - Atualizando as Tabelas Enviadas

Ao acessar o sistema Frente de Loja Linux, pressione a tecla F4 para acessar o Menu Fiscal. 

Carteira Digital 42.png

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.


Carteira Digital 43.png

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.


Carteira Digital 44.png

Após digitar o usuário e senha, pressione a tecla Enter para confirmar os dados.


Carteira Digital 45.png

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.


Carteira Digital 46.png

Logo em seguida, o Frente de Loja iniciará a atualização das tabelas com o PinPad.


Carteira Digital 47.png


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


Carteira Digital 48.png

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.


Carteira Digital 49.png

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.

Carteira Digital 50.png

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.


Carteira Digital 51.png

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. 


Carteira Digital 52.png

Em seguida, o cliente deverá apontar a câmera do seu dispositivo para O QRCode apresentado no Frente de Loja, aguardando a leitura. 


Carteira Digital 53.png

A transação só será confirmada quando o cliente autorizar no seu aplicativo, no qual será debitado automaticamente de seu saldo sendo notificado.


Carteira Digital 54.png

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.

Carteira Digital 55.png

Carteira Digital 56.png




Carteira Digital 57.png

Ao finalizar, será impresso uma NFC-e juntamente com comprovante da transação, conforme o exemplo abaixo.

Carteira Digital 58.png
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.


Carteira Digital 59.png


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. 

Carteira Digital 60.png


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.   


Carteira Digital 61.png

Em seguida, o Frente de Loja solicitará um usuário e senha, no qual deverá informar esses dados nos campos correspondentes. 

Carteira Digital 62.png

Após digitar o usuário e senha, pressione a tecla Enter para confirmar os dados.

Carteira Digital 63.png

Em seguida, utilize a seta do teclado para baixo, selecione a opção 3 - Cancelamento de transacao e, pressione a tecla Enter para confirmar.  


Carteira Digital 64.png

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.         


Carteira Digital 65.png

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.   

Carteira Digital 66.png

Informe o valor da transação no qual deseja cancelar e, pressione a tecla Enter para confirmar.


Carteira Digital 67.png

Informe o número do documento a ser cancelado e, pressione a tecla Enter para confirmar.

Carteira Digital 68.png

Informe a data em que a transação foi realizada, pressione a tecla Enter e, aguarde o fim da transação de cancelamento.


Carteira Digital 69.png
Se todos os dados estiverem corretos, será exibido a mensagem Lojista OK e os comprovantes de cancelamento serão impressos.


Carteira Digital 70.png

Abaixo segue um exemplo de um comprovante de cancelamento.


Carteira Digital 71.png

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.

Carteira Digital 72.png

Ao abrir a tela fazini, no campo Variável AV_ informe a palavra PINPADQ, no campo Tipo informe a letra (que corresponde a lógico) e no campo Conteudo informe a letra (que corresponde a true - verdadeiro), conforme o exemplo abaixo.

Carteira Digital 73.png
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:
logo whatsapp.jpgClique aqui para falar conosco no WhatsApp

avanco.png

Frente de Lojas Linux Slackware

Informações referentes a aplicação desenvolvida em Linux Slackware

Frente de Lojas 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 

Frente de Lojas Linux Debian

Informações referentes a aplicação desenvolvida em Linux Debian

Frente de Lojas 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:

Importante: 

A instalação é feita através de imagens e estas estão subdividida em quatro opções:

Os requisitos do pendrive para montagem da instalação são:

 * Recomendamos a utilização de pendrives das marcas Sandisk ou Kingston que foram testados pela Avanço.

Recursos que a versão oferece:

Frente de Lojas Linux Debian

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: 

Frente de Lojas Linux Debian

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: 

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)
Frente de Lojas Linux Debian

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: 

Abaixo segue o vídeo demonstrando a pós-instalação em uma maquina virtual, utilizando Virtualbox:


Frente de Lojas Linux Debian

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 <CRTL> e <ESC> 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 <ESC>, 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)

Frente de Lojas Linux Debian

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: 

Os passos dos procedimentos mostrados no vídeo, estão descritos abaixo para auxílio:

Tela principal - Abra o Rustdesk

Rustdesk_principal.png

Tela principal - Clique nos 3 pontinhos para tela de configurações

Rustdesk_Confgurações.png

Tela de configurações - Selecione segurança

Rustdesk_segurança.png 

Tela de segurança - Faça o desbloqueio da tela de segurança usando a senha do usuário pdv, senha super

Rustdesk_segurança_desbloquear.png

Tela de segurança - Habilite a opção: Habilitar modificações de configuração remotas 

Rustdesk_remota.png

Rustdesk_senha.png

Tela de configurações - Selecione rede

Rustdesk_rede.png

Tela de rede - Faça o desbloqueio da tela de rede usando a senha do usuário pdv, senha super

Rustdesk_desbloquear_rede.png

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.

Rustdesk_Servidores.png

Frente de Lojas Linux Debian

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: 

O funcionamento das telas touch screen possuem as seguintes particularidades, exceto um modelo da marca Elgin, que possui apenas USB, fugindo a regra: 

  1. Cabo de energia elétrica, fonte de energia para alimentação da tela
  2. Cabo de entrada de vídeo, onde recebemos as imagens do computador na tela;
  3. 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:

  1. lsusb - Lista os dispositivos USB ligados efetivamente ao computador, mostrando também a ligação USB das telas touch;
  2. 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;
  3. 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

Frente de Lojas Linux Debian

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: 

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:



Resultado_Telegram.png

 

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:



Coletas_sem_Internet.png

Frente de Lojas Linux Debian

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 

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

Como Realizar a Configuração e Manutenção do Pinpad

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

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:

    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:

    1. Monitor: Com entrada compatível (VGA, HDMI, DisplayPort) e resolução mínima de 1024x768.
    2. Placa de Vídeo: Compatível com os sistemas operacionais mencionados.
    3. Impressora não Fiscal: Verificar os modelos homologados pela solução.
    4. 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:

    Requisitos de Segurança de Rede

    Recomenda-se que o ambiente de comunicação seja compatível com os itens abaixo:

    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

    1. Recomenda-se realizar o processo de instalação de forma presencial.
    2. Crie um ponto de restauração antes de iniciar a instalação para facilitar a recuperação em caso de problemas.
    3. Reinicie a máquina conforme solicitado pelo instalador para garantir a conclusão adequada do processo.
    4. Utilize o ODBC Driver versão psqlodbc_10_03_0000-x86 ou superior para compatibilidade com o banco de dados.
    5. Instale o ODBC Driver a partir do link fornecido ou do site oficial do PostgreSQL.
    6. Desative o Controle de Conta de Usuário (UAC) do Windows para evitar interferências durante a instalação.
    7. 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.
    8. 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

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

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

    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: <email-de-integracao@parceiro>
    X-AdminUser-Token: <token-de-integracao>
    

    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: <email-de-integracao@parceiro>" \
      -H "X-AdminUser-Token: <token-de-integracao>" \
      -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:

    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)


    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


    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.