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

De VRWiki
(CATRACAS)
(CATRACAS)
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 seguintes diretórios que se encontram dentro do Container:
+
* 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, deve-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.
+
<pre><b><i>VRMaster -> PDV -> Parâmetro -> Periféricos -> Catraca</i></b></pre>
  
O processo envolve basicamente as duas etapas acima, montando no computador host do VRFichaAPI o diretório que é compartilhado onde o VRFicha gera os arquivos, e então configurando o volume para que o container do VRFichaAPI possa gerar arquivos dentro deste diretório.
+
Então selecionar o tipo de catraca utilizado, ir até a aba da catraca selecionada, especificar o diretório e salvar.
  
<h3><b>PONTO DE ATENÇÃO</b></h3>
+
<b>IMPORTANTE</b>
  
Caso a pasta onde serão gerados os arquivos seja uma pasta local no host, ou seja, fique no mesmo computador onde o VRFichaAPI está rodando, não é necessário montar o compartilhamento SMB/Samba, basta configurar o volume do Docker para mapear o diretório local para dentro do container.
+
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:
 +
<pre>\\192.168.0.1\catraca</pre>
  
<b>Cenário</b>
+
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 que usa a mesma configuração.
 
 
Considere que o cliente usa catraca Acesso, e o diretório onde os arquivos da catraca serão gerados seja /home/usuario/catraca/acesso, no mesmo computador onde o VRFichaAPI está rodando. Neste caso, basta configurar o volume da seguinte forma:
 
<pre style="color: silver; background: black;">
 
services:
 
  vrficha-api:
 
    image: vrsoftbr/vrfichaapi:4.1.9
 
 
 
    volumes:
 
      - /home/usuario/catraca/acesso:/VRFichaAPI/acesso
 
 
 
    ...
 
</pre>
 
 
 
Em um caso no Windows, o diretório local poderia ser C:\Catraca\Acesso, e a configuração do volume seria:
 
<pre style="color: silver; background: black;">
 
services:
 
  vrficha-api:
 
    image: vrsoftbr/vrfichaapi:4.1.9
 
    volumes:
 
      - "C:/Catraca/Acesso:/VRFichaAPI/acesso"
 
    ...
 
</pre>
 
 
 
<b>CASO O DIRETÓRIO SEJA LOCAL, IGNORAR TODO O RESTANTE DESTE DOCUMENTO</b>
 
 
 
===<b>1. Montando um compartilhamento de rede no host</b>===
 
<b>Cenário</b>
 
 
 
Considere um compartilhamento disponível na rede:
 
<pre>\\192.168.1.100\ficha_entrada</pre>
 
ou
 
<pre>\\SERVIDOR\ficha_entrada</pre>
 
 
 
O servidor pode ser:
 
* Um computador Windows;
 
* Um servidor Linux utilizando Samba;
 
* Qualquer dispositivo que disponibilize compartilhamentos SMB.
 
 
 
====<b>1.1 Montando em um host Windows</b>====
 
<b>Utilizando o Explorador de Arquivos</b>
 
 
 
1. Abra o Explorador de Arquivos. <br />
 
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.
 
 
 
Após a montagem, o compartilhamento estará disponível como:
 
<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 através dos volumes declarados no arquivo usado pelo Docker Compose para subir o container. Abaixo a explicação de como realizar este mapeamento.
 
 
 
====<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
 
 
 
    ...
 
</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"
 
 
 
    ...
 
</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
 
 
 
    ...
 
</pre>
 
<b>Host Windows</b>
 
<pre>
 
services:
 
  vrficha-api:
 
    image: vrsoftbr/vrfichaapi:4.1.9
 
 
 
    volumes:
 
      - "Z:/xml/blantech:/VRFichaAPI/blantech"
 
 
 
    ...
 
</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 das 17h52min 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:

<b><i>VRMaster -> PDV -> Parâmetro -> Periféricos -> Catraca</i></b>

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

IMPORTANTE

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 que usa a mesma configuração.