Guia · Arquitetura

Como projetar um software preparado para trabalhar com múltiplos modelos de dispositivos

Hoje seu cliente tem um modelo de terminal. Amanhã outro, e no mês seguinte uma mistura de três. Se sua arquitetura não estiver preparada, cada modelo novo é um fork do seu código. Não deveria ser.

2026-09-14·8 min de leitura·Guía

O erro que se paga com um fork

É a evolução típica: o primeiro cliente tem o modelo A e seu SaaS o suporta bem. O segundo tem o modelo B — e de repente seu backend tem if modelo == "B" espalhado por toda parte. No terceiro modelo, o feature que era "integrar relógios de ponto" virou "manter três adaptadores", e cada release é uma cobra de risco.

A causa de fundo: o software se acoplou ao modelo quando deveria se acoplar ao contrato. Terminais são hardware heterogêneo — modelos, firmwares, periféricos — mas sua lógica de negócio só precisa de um contrato: "algo aconteceu, com esta pessoa, com este método, nesta hora, neste terminal". Projetar para esse contrato é o que torna o software agnóstico do modelo.

Princípio 1: o serial é a chave, não o modelo

Tudo o que você consome de um terminal — relatórios, eventos, usuários, credenciais — deve ser endereçado pelo seu número de série, nunca pelo modelo. O serial é estável, único e não muda quando o firmware é atualizado.

Na API Connect, o serial endereça todos os endpoints: /report/{serial}, gestão de usuários, credenciais, grupos. Seu SaaS nem precisa saber (nem se beneficia de saber) se o terminal é um equipamento de bancada ou um de reconhecimento facial.

Princípio 2: o terminal é uma caixa preta

Seu SaaS não deve modelar o interior do dispositivo (templates, firmware, memória), mas sim sua superfície de contrato: quais eventos ele emite e que gestão ele aceita. Quando a camada de hardware é mantida por uma API como a API Connect, essa superfície fica definida e estável — mesmo que modelos e firmwares mudem por baixo.

Teste de acoplamento: se amanhã seu cliente trocar um terminal por outro modelo, seu SaaS precisa de release? Se a resposta for sim, há acoplamento ao modelo. Com a abstração certa, a resposta é: registra-se o serial novo e pronto.

Princípio 3: seu modelo de dados não é o do terminal

O terminal tem "pessoas com PIN"; seu SaaS tem funcionários, moradores ou associados com seu ciclo de vida. Mantenha essa fronteira: sua tabela de pessoas mapeia a do terminal via PIN/cartão, e o ciclo de vida (cadastro, alteração, exclusão) é orquestrado pelo seu software via API — não por uma importação manual no menu do equipamento.

Os fluxos de credenciais por serial (cadastro com PIN e cartão, atribuição a grupos de acesso, exclusão) permitem orquestrar sem tocar no hardware e sem duplicar seu modelo interno.

Princípio 4: normalize os eventos

Um mesmo acesso pode chegar por impressão digital, cartão, PIN ou rosto. Sua lógica de negócio — ponto, notificações, contagens — deve consumir um registro normalizado:

Com esse contrato, não importa qual modelo gerou o evento: a folha de pagamento calcula horas, a portaria é notificada e a auditoria registra — todos com o mesmo fluxo de código.

Quais camadas uma boa API de hardware deve abstrair

CamadaSe a API abstraiSe seu SaaS gerencia
Protocolo do dispositivoREST/JSON uniformeAdaptador por modelo/firmware
Conectividade (rede do cliente)Modo push: o equipamento sai para a nuvemIP fixo, portas, VPN por unidade
Variedade de modelosSerial como chave únicaRamos if modelo
Eventos em tempo realWebhook/stream normalizadoPolling e engenharia de filas própria
Templates biométricosGerenciados pelo equipamento/plataformaRisco e compliance no seu DB

Como testar o design multi-modelo

A verificação prática: misture modelos nos testes. Com a API Connect você registra terminais de diferentes modelos na mesma conta (e simula a variedade a partir do sandbox/trial), e verifica que seu SaaS — relatórios, notificações, conciliação — funciona sem mudar uma linha. Se algum fluxo quebrar, há um acoplamento escondido; melhor detectá-lo nos testes do que no local do cliente.

Perguntas frequentes

Meu SaaS precisa saber o modelo do terminal?

Não: seu software trabalha com serial e eventos. Suportar um modelo novo é registrar o equipamento, não escrever código.

Como normalizo métodos de verificação diferentes?

Com um registro por evento: pessoa, método, data/hora, terminal e resultado. Sua lógica consome esse contrato, não o modelo que o gerou.

E se o cliente misturar modelos antigos e novos?

A plataforma gerencia a variedade: todos os terminais são consumidos pela mesma API. Seu parque pode misturar gerações sem que seu código perceba.

Teste sua arquitetura com equipamentos reais e virtuais

Registre terminais de diferentes modelos e valide que seu SaaS não muda. 14 dias grátis, sem cartão.