Mudanças entre as edições de "INSTALACAO VRFICHA API"

De VRWiki
(CATRACAS)
 
(16 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 59: Linha 59:
 
==<b>CATRACAS</b>==
 
==<b>CATRACAS</b>==
 
* A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech
 
* A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech
* A aplicação é executada em container Docker, e grava os arquivos nos diretórios:
+
* A aplicação grava os arquivos no diretório configurado para o tipo de catraca utilizada no VRMaster
<b>Catraca Acesso</b>
 
<pre style="color: silver; background: black;">
 
/VRFichaAPI/acesso
 
</pre>
 
<b>Catraca Blantech</b>
 
<pre style="color: silver; background: black;">
 
/VRFichaAPI/blantech
 
</pre>
 
  
Para que os arquivos sejam disponibilizados em uma pasta compartilhada da rede, recomenda-se:
+
<b>Configuração do diretório</b>
  
1. Montar o compartilhamento SMB/Samba no sistema operacional host.</br>
+
Para configurar o diretório onde os arquivos serão gerados, basta ir em:
2. Configurar um volume no Docker para mapear o diretório compartilhado para dentro do container.
+
<b><i><pre>VRMaster -> PDV -> Parâmetro -> Periféricos -> Catraca</pre></i></b>
  
===<b>1. Montando um compartilhamento de rede no host</b>===
+
Então selecionar o tipo de catraca utilizado, ir até a aba da catraca selecionada, especificar o diretório e salvar.
<b>Cenário</b>
 
  
Considere um compartilhamento disponível na rede:
+
<b>PONTOS IMPORTANTES</b>
<pre>\\192.168.1.100\ficha_entrada</pre>
 
ou
 
<pre>\\SERVIDOR\ficha_entrada</pre>
 
  
O servidor pode ser:
+
<b><i>Configuração correta do caminho no VRMaster</i></b>
* Um computador Windows;
 
* Um servidor Linux utilizando Samba;
 
* Qualquer dispositivo que disponibilize compartilhamentos SMB.
 
  
===<b>1.1 Montando em um host Windows</b>===
+
O diretório configurado deve ser o caminho de uma pasta compartilhada na rede, sempre informando IP e o diretório. Não utilizar caminhos locais ou referenciar outras máquinas por nome, pois essa abordagem não funcionará. Obrigatoriamente deve ser no seguinte formato:
<b>Utilizando o Explorador de Arquivos</b>
+
<pre>\\192.168.0.1\catraca</pre>
  
1. Abra o Explorador de Arquivos. <br />
+
Referenciando o IP da máquina com a pasta compartilhada, e o nome da pasta. A barra pode ser tanto a invertida (\) quanto a comum (/), funcionará da mesma forma no app, se atentar se funcionará no desktop, pois ambos compartilham a mesma configuração feita no VRMaster.
2. Clique em "Este Computador". <br />
 
3. Clique em "Mapear unidade de rede". <br />
 
4. Escolha uma letra de unidade, por exemplo: <br />
 
<pre>Z:</pre>
 
5. Informe o caminho do compartilhamento: <br />
 
<pre>\\192.168.1.100\ficha_entrada</pre>
 
6. Marque: Reconectar ao entrar <br />
 
7. Clique em Concluir. <br />
 
  
Caso necessário, informe usuário e senha do compartilhamento.
+
<b><i>Configuração correta do compartilhamento</i></b>
  
Após a montagem, o compartilhamento estará disponível como:
+
O diretório precisa ser compartilhado com permissão para acesso Guest, ou seja, sem informar usuário e senha.
<pre>Z:\</pre>
 
 
 
===<b>Testando o acesso</b>===
 
 
 
Crie manualmente um arquivo:
 
 
 
<pre>Z:\xml\acesso\teste.xml</pre>
 
ou
 
<pre>Z:\xml\blantech\teste.xml</pre>
 
 
 
Se o arquivo for criado corretamente, a montagem está funcionando.
 
 
 
===<b>1.2 Montando em um host Linux</b>===
 
 
 
Instale o suporte CIFS caso ainda não esteja instalado.
 
 
 
Ubuntu/Debian:
 
<pre style="color: silver; background: black;">
 
sudo apt update
 
sudo apt install cifs-utils
 
</pre>
 
 
 
CentOS/RHEL:
 
<pre style="color: silver; background: black;">
 
sudo yum install cifs-utils
 
</pre>
 
 
 
<b>Criando o ponto de montagem</b>
 
<pre style="color: silver; background: black;">
 
sudo mkdir -p /mnt/ficha_entrada
 
</pre>
 
 
 
<b>Montando o compartilhamento</b>
 
<pre style="color: silver; background: black;">
 
sudo mount -t cifs \
 
//192.168.1.100/ficha_entrada \
 
/mnt/ficha_entrada \
 
-o username=USUARIO,password=SENHA
 
</pre>
 
 
 
Exemplo:
 
 
 
<pre style="color: silver; background: black;">
 
sudo mount -t cifs \
 
//192.168.1.100/ficha_entrada \
 
/mnt/ficha_entrada \
 
-o username=vr,password=123456
 
</pre>
 
 
 
<b>Validando a montagem</b>
 
 
 
Execute:
 
<pre style="color: silver; background: black;">
 
ls /mnt/ficha_entrada
 
</pre>
 
 
 
Os arquivos e diretórios do compartilhamento deverão ser exibidos.
 
 
 
Também é possível verificar:
 
 
 
<pre style="color: silver; background: black;">
 
mount | grep cifs
 
</pre>
 
 
 
<b>Montagem automática na inicialização (opcional)</b>
 
 
 
Adicionar ao arquivo:
 
<pre>/etc/fstab</pre>
 
 
 
Exemplo:
 
<pre>//192.168.1.100/ficha_entrada /mnt/ficha_entrada cifs username=vr,password=123456,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0</pre>
 
 
 
Após salvar:
 
<pre style="color: silver; background: black;">
 
sudo mount -a
 
</pre>
 
 
 
===<b>2. Configurando o Docker Compose</b>===
 
 
 
Após a montagem do compartilhamento no host, basta mapear o diretório para dentro do container.
 
 
 
===<b>2.1 Configuração para catraca Acesso</b>===
 
 
 
A aplicação grava os XMLs em:
 
<pre>./acesso/</pre>
 
 
 
que corresponde a:
 
<pre>/VRFichaAPI/acesso</pre>
 
 
 
dentro do container.
 
 
 
<b>Host Linux</b>
 
 
 
Supondo que o compartilhamento esteja montado em:
 
<pre>
 
/mnt/ficha_entrada/xml/acesso
 
</pre>
 
 
 
Configure:
 
 
 
<pre>
 
services:
 
  vrficha-api:
 
    image: vrsoftbr/vrfichaapi:4.1.9
 
 
 
    volumes:
 
      - /mnt/ficha_entrada/xml/acesso:/VRFichaAPI/acesso
 
 
 
    ports:
 
      - "9015:9015"
 
</pre>
 
 
 
<b>Host Windows</b>
 
 
 
Supondo que o compartilhamento esteja mapeado na unidade:
 
<pre>Z:</pre>
 
 
 
e que os XMLs devam ser gravados em:
 
 
 
<pre>Z:\xml\acesso</pre>
 
 
 
Configure:
 
<pre>
 
services:
 
  vrficha-api:
 
    image: vrsoftbr/vrfichaapi:4.1.9
 
 
 
    volumes:
 
      - Z:\xml\acesso:/VRFichaAPI/acesso
 
 
 
    ports:
 
      - "9015:9015"
 
</pre>
 
 
 
===<b>2.2 Configuração para catraca Blantech</b>===
 
 
 
A aplicação grava os XMLs em:
 
 
 
<pre>./blantech/</pre>
 
 
 
que corresponde a:
 
<pre>/VRFichaAPI/blantech</pre>
 
 
 
dentro do container.
 
 
 
<b>Host Linux</b>
 
<pre>
 
services:
 
  vrficha-api:
 
    image: vrsoftbr/vrfichaapi:4.1.9
 
 
 
    volumes:
 
      - /mnt/ficha_entrada/xml/blantech:/VRFichaAPI/blantech
 
 
 
    ports:
 
      - "9015:9015"
 
</pre>
 
<b>Host Windows</b>
 
<pre>
 
services:
 
  vrficha-api:
 
    image: vrsoftbr/vrfichaapi:4.1.9
 
 
 
    volumes:
 
      - Z:\xml\blantech:/VRFichaAPI/blantech
 
 
 
    ports:
 
      - "9015:9015"
 
</pre>
 
 
 
<b>Validação Final</b>
 
 
 
Após iniciar o container:
 
 
 
<pre style="color: silver; background: black;">
 
docker compose up -d
 
</pre>
 
 
 
Verifique se os diretórios estão montados corretamente:
 
 
 
<pre style="color: silver; background: black;">
 
docker exec -it vrficha-api sh
 
</pre>
 
 
 
Para catraca Acesso:
 
<pre style="color: silver; background: black;">
 
ls -la /VRFichaAPI/acesso
 
</pre>
 
 
 
Para catraca Blantech:
 
<pre style="color: silver; background: black;">
 
ls -la /VRFichaAPI/blantech
 
</pre>
 
 
 
Os arquivos XML gerados pela aplicação deverão aparecer nesses diretórios e, consequentemente, no compartilhamento de rede configurado no host.
 

Edição atual tal como às 17h57min de 25 de junho de 2026

REQUISITOS MÍNIMOS

Para que o VR Ficha API funcione corretamente de maneira consistente é necessário ter um computador com esta configuração ou superior:

  • VRUbuntu 20.04.0-1 (No Windows, utilizar o WSL)
  • Processador: i3 (5ª geração +) ou equivalente
  • Memória RAM: 8 GB
  • Disco: 80 GB
  • Docker instalado

INSTALAÇÃO

  • Certifique-se de que as configurações do VR Ubuntu foram todas executadas neste link
  • Certifique-se de que o Docker está instalando no sistema operacional na versão mais recente.
  • Faça o download do arquivo docker-compose-vrfichaapi.yml clicando aqui
  • Se o cliente já possuir o VR Service Manager rodando, o RabbitMQ do Service Manager pode ser utilizado, caso contrário, baixe o arquivo docker-compose-rabbitmq.yml clicando aqui para subir o sistema de mensageria no servidor onde ficará o VR Ficha API.
  • No arquivo docker-compose-vrfichaapi.yml é configurado a porta de comunicação com a API, a conexão com o banco de dados e a conexão com o RabbitMQ. (Obs.: A conexão com o RabbitMQ configurada tem que ser a mesma no serviço de impressão dos pedidos, para que este funcione corretamente)
services:
  vrficha-api:
    image: vrsoftbr/vrfichaapi:4.1.10
    ports:
      - "9015:9015"
    environment:
      - TZ=GMT-3
      - PORT=9015
      - DATABASE_IP=
      - DATABASE_PORTA=
      - DATABASE_NOME=
      - DATABASE_USUARIO=
      - DATABASE_SENHA=
      - SYSTEM_NUMEROLOJA=
      - RABBITMQ_IP=
      - RABBITMQ_PORTA=5672
      - RABBITMQ_USUARIO=vr
      - RABBITMQ_SENHA=vr!RbtMQ
    networks:
      - vr-network

networks:
  vr-network:
    external: true
  • Você deve preencher corretamente os dados de conexão com o banco, o numero da loja e os dados de conexão com o RabbitMQ. Não é mais utilizado vr.properties. A configuração é feita diretamente no arquivo de compose do docker.
  • Caso seja necessário alterar a porta, alterar em environment o valor de PORT, e também alterar as portas em ports

INICIALIZAÇÃO

  • Para iniciar a API, basta executar este comando, passando na flag -f o nome do arquivo yml (Executar comando no mesmo diretório onde o arquivo está)
docker compose -f docker-compose-vrfichaapi.yml up -d

Obs: Será necessário estar autenticado no docker, pois a imagem é privada. Caso não esteja, executar o comando docker login e informar as credenciais

  • Caso seja necessário subir o RabbitMQ, executar o docker compose no arquivo do RabbitMQ também
docker compose -f docker-compose-rabbitmq.yml up -d

IMPRESSÃO DAS FICHAS

  • Para realizar a impressão das fichas, é necessário que o VRFichaMobileImpressao esteja sendo executado no servidor e conectado ao mesmo serviço do RabbitMQ em que a API do VRFicha Mobile está, pois ele irá consumir a fila do RabbitMQ e imprimir as fichas na impressora configurada no VRFicha. Você pode encontrar como configura-lo clicando aqui

CATRACAS

  • A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech
  • A aplicação grava os arquivos no diretório configurado para o tipo de catraca utilizada no VRMaster

Configuração do diretório

Para configurar o diretório onde os arquivos serão gerados, basta ir em:

VRMaster -> PDV -> Parâmetro -> Periféricos -> Catraca

Então selecionar o tipo de catraca utilizado, ir até a aba da catraca selecionada, especificar o diretório e salvar.

PONTOS IMPORTANTES

Configuração correta do caminho no VRMaster

O diretório configurado deve ser o caminho de uma pasta compartilhada na rede, sempre informando IP e o diretório. Não utilizar caminhos locais ou referenciar outras máquinas por nome, pois essa abordagem não funcionará. Obrigatoriamente deve ser no seguinte formato:

\\192.168.0.1\catraca

Referenciando o IP da máquina com a pasta compartilhada, e o nome da pasta. A barra pode ser tanto a invertida (\) quanto a comum (/), funcionará da mesma forma no app, se atentar se funcionará no desktop, pois ambos compartilham a mesma configuração feita no VRMaster.

Configuração correta do compartilhamento

O diretório precisa ser compartilhado com permissão para acesso Guest, ou seja, sem informar usuário e senha.