Ir para o conteúdo
clabor Manual do ERPia

Instalar, parear e atualizar o PDV#

Esta página cobre a instalação do PDV no Windows e no Android, a ativação do terminal com o código gerado na retaguarda, a troca de versão do aplicativo e o que a rede da loja precisa liberar. É para quem implanta o caixa e para o suporte que atende a loja.

Antes de começar

  • O terminal cadastrado na retaguarda como Checkout, com a chave de ativação em mãos.
  • Rede com saída HTTPS para o servidor do ERPia. Em homologação e produção o PDV exige HTTPS e valida o certificado do servidor contra hashes conhecidos.
  • No Windows, você precisa do pacote do PDV (o ZIP distribuível), não apenas do executável.

Passo a passo#

AInstalar no Windows#

  1. Extraia o pacote do PDV em uma pasta do terminal (por exemplo C:\PDV).
  2. Dê duplo clique em INICIAR_PDV_WINDOWS.bat.
  3. Na primeira execução, na mesma tela de ativação, o terminal mostra a linha Versão <versão do binário> — anote: é o que o suporte vai pedir.
  4. Siga para o pareamento (passo C).

O launcher existe por um motivo técnico: ele provisiona, antes do aplicativo, uma chave aleatória de 256 bits exclusiva do diário local de recuperação. A chave fica estável no perfil do usuário Windows e é guardada apenas como blob protegido pelo próprio Windows, fora da pasta do pacote — por isso atualizar o binário no mesmo perfil preserva a chave, e por isso o pacote não pode ser movido para outro usuário do Windows sem refazer a ativação do diário.

Se a chave não puder ser autenticada pelo mesmo perfil, o launcher falha com orientação e não troca a chave em silêncio — trocá-la tornaria o diário anterior ilegível.

BInstalar no Android#

  1. Instale o APK release gerado para SmartPOS/maquininha (build com ofuscação, API HTTPS e pinning de certificado).
  2. No Android o PDV é sempre a pele Touch: não há escolha de pele nem teclado físico garantido.
  3. Abra o aplicativo e siga para o pareamento.

O APK não recebe a chave do diário por parâmetro de build — embutir o segredo no pacote seria expor a chave. O canal nativo por instalação é o caminho previsto, e enquanto ele não estiver homologado a proteção adicional de recuperação fica desativada no pacote Android. Isso não reduz as validações funcionais do banco local nem do PIN.

CParear (ativar) o terminal#

  1. Na tela Ativar este PDV, cole a chave de ativação gerada na retaguarda, no campo Código ou chave de ativação.
  2. Alternativas para preencher o campo:
    • no Android, toque em Escanear QR e aponte a câmera para o QR da chave;
    • no Windows, use o leitor de código: o campo já está com o foco, então basta bipar (o leitor "digita" a chave e manda Enter).
  3. Clique em Ativar PDV (ou deixe o Enter fazer isso).
  4. A mensagem Validando e ativando este PDV… aparece e, em seguida, PDV ativado e confirmado pelo servidor.
  5. O terminal passa a ter identidade própria (empresa, loja e PDV) e recebe a carga inicial.

DConfirmar que a carga chegou#

  1. Abra Status do PDV.
  2. Confira o painel Carga do servidor:
    • Completa — o caixa recebeu todas as tabelas e opera offline;
    • Parcial N/M — já dá para operar, e o restante chega no próximo ciclo;
    • Aguardando — o caixa ainda não pode operar.
  3. Só depois disso o caixa aceita abrir a jornada.

Sem catálogo o PDV recusa a abertura com Aguardando a carga do servidor — o caixa recebe as tabelas (catálogo, operadores, perfis, config) antes de operar.

EConfigurar o hardware do terminal#

Siga Hardware e periféricos: impressora, balança, leitor, gaveta e RFID. O terminal TEF é configurado na retaguarda, não no caixa.

FAtualizar a versão do aplicativo#

  1. A atualização não é pedida pelo operador: o servidor oferece a versão nova na resposta do ciclo de sincronização.
  2. O terminal baixa o pacote apenas quando não há venda em andamento — um download grande não disputa banda nem disco com o caixa.
  3. O pacote é conferido por SHA-256 e por assinatura digital antes de ser aceito.
  4. O conteúdo verificado é estagiado numa pasta pending.
  5. A troca dos binários acontece no próximo boot, pelo launcher — nunca pelo aplicativo em execução: o Windows não deixa sobrescrever um .exe rodando, e o caixa não pode parar no meio de uma venda.
  6. No Android, a instalação é pedida ao sistema e pode exigir a confirmação do operador.

A versão só é oferecida se for mais nova. A comparação é pelo número de build (o carimbo numérico depois do + na versão), nunca por comparação de texto de versão.

GLer a versão instalada#

A versão aparece em dois lugares:

  • na tela de ativação, antes mesmo de parear: Versão <versão>;
  • no rodapé da tela do caixa: v<versão>.

Campos e o que significam#

Tela Ativar este PDV#

Campo / botãoO que éObservação
Código ou chave de ativaçãochave gerada na retaguarda no cadastro do Checkoutcampo com foco automático, justamente para o leitor de código "digitar" por ele
Escanear QRleitura da chave pela câmerasó aparece em Android/iOS; no Windows o caminho é o leitor de código
Ativar PDVenvia a chave ao servidor e grava a identidademensagem Validando e ativando este PDV…
Versão <versão>versão do binário instaladouse ao abrir chamado de suporte

Painel Carga do servidor#

SeloSignificaO caixa opera?
Completatodos os obrigatórios recebidossim, e opera offline
Parcial N/Mparte dos obrigatórios recebidossim, com o essencial
Aguardandocatálogo ainda não chegounão

Resultado esperado#

  • PDV ativado e confirmado pelo servidor. ao final do pareamento.
  • O painel Carga do servidor sai de Aguardando para Parcial e depois Completa.
  • A barra do caixa mostra o nome do checkout vindo da retaguarda e o título no formato PDV-01.
  • O rodapé mostra a versão instalada e o resumo dos periféricos.

Se algo der errado#

SintomaCausa provávelO que fazer
Informe a URL do servidor.o terminal não tem endereço de servidor gravadorefaça o pareamento; o endereço vem do pacote ou do pareamento
Informe o código de ativação.campo vaziocole ou bipe a chave
Resposta de pareamento incompleta do servidor.o servidor respondeu sem pdv_id, empresa_id ou loja_idconfirme o cadastro do Checkout na retaguarda e tente de novo
codigo_ativacao invalido (do servidor)chave errada, de outro terminal, ou já usadagere/confira a chave no cadastro do Checkout
Certificate pinning incompleto: api_sem_https, certificate_pinning_sem_hashbuild em produção/homologação sem HTTPS ou sem os hashes do certificadorefaça o build com os parâmetros corretos; não improvise ignorando o certificado
Carga parada em Aguardandorede bloqueada ou servidor inacessívelconfira a saída HTTPS da loja para o servidor do ERPia
Aplicativo abre e fecha, ou o diário local não abreo executável foi iniciado direto em vez do .batfeche e inicie por INICIAR_PDV_WINDOWS.bat
Depois de mover a pasta para outro computador, o diário local não abrea chave do diário é protegida pelo perfil do Windows de origemrefaça a ativação no perfil correto; não apague o banco local por isso — veja Recuperar o PDV
A atualização não chegajá está na versão mais nova, ou o terminal nunca reportou estadoconfirme a versão no rodapé com a retaguarda
A atualização baixa e não instala no Windowsa troca depende do próximo boot pelo launcherfeche o PDV pelo launcher e abra de novo
A atualização foi recusada por assinaturao pacote não confere com a chave pública do buildnão force: avise a retaguarda; o terminal marca a versão como não tentável

Como funciona por dentro#

  • Uma identidade por terminal. O pareamento chama POST /pdvs/autenticar com o código de ativação e o identificador do dispositivo, e grava o retorno — pdv_id, empresa_id, loja_id e o token de dispositivo — como a identidade do caixa.
  • A credencial do dispositivo acompanha toda requisição. Depois de pareado, o PDV manda o token do dispositivo; sem token, cai no código de ativação.
  • Tempos curtos de propósito. A conexão espera 4 segundos; cada resposta, até 8. O caixa prefere seguir offline a travar esperando o servidor.
  • Atualização sem verificação de origem não existe. Sem a chave pública embutida no build, o aplicativo ignora qualquer oferta de atualização.
  • Download retomável. Um pacote interrompido continua de onde parou; o servidor pode responder do início, e nesse caso o download recomeça.
  • O diário de recuperação e a identidade têm proteção própria. Se a persistência desses dados não for segura no ambiente, o caixa abre em modo seguro e bloqueia as vendas até o diagnóstico — é o comportamento esperado, não um defeito.
  • Linux e macOS não são perfis suportados. O código registra essas plataformas, mas a recuperação local depende de um gate de portabilidade ainda não cumprido.

O que a rede da loja precisa liberar#

DestinoPara quê
Servidor do ERPia por HTTPS (o mesmo endereço que a retaguarda usa)carga, login de operador, fila de vendas, fiscal e heartbeat
Download do pacote de atualização (URL assinada, válida por tempo limitado)atualizar a versão do aplicativo
Loopback do próprio terminalagente do terminal TEF, quando o plugin é o SiTEF (o agente fica em 127.0.0.1 e o PDV confia apenas em loopback)

Portas e endereços internos variam por instalação: confirme com quem administra o servidor antes de fechar o firewall.

O que é de fábrica e o que a sua loja pode ter mudado#

PontoPadrão de fábricaComo fica diferente
Endereço do servidoro pacote traz o endereço de produção compiladoo pareamento grava o endereço efetivo no terminal. Não presuma: leia o que está configurado na máquina
Aplicativo e canal de distribuiçãoo APK (Android) e o pacote Windows saem dos scripts de release do projetonome do arquivo, canal e versão publicada variam por entrega
Instalação automática no Androida confirmação de instalação passa pelo sistema operacionalpode exigir ação do operador no aparelho
Proteção adicional de recuperação (Windows)em determinados pacotes sai desativada, por depender de componente ainda não homologado para o banco cifradoisso muda o conjunto de códigos de recuperação que o terminal mostra — confira na máquina

Os valores vigentes da sua loja ficam em Administração › Parâmetros; a tabela completa está em Parâmetros e valores padrão.