O Star CloudPRNT é um protocolo, não um serviço. As impressoras Star implementam-no, e ele define como uma impressora pede trabalho a um servidor. Essa única distinção explica quase tudo o que surpreende a seu respeito.
Resposta curta: raramente são as impressoras que se querem substituir. A Star fabrica hardware térmico sólido: as gamas TSP e mC-Print estão entre as impressoras de balcão mais implantadas na Europa, e a sua linguagem de comandos dá controlo preciso sobre a paginação do talão. O que as equipas querem deixar de fazer é ser o servidor. Com o CloudPRNT, a impressora consulta um endpoint HTTP que você escreve, aloja e mantém disponível. Uma API push elimina esse endpoint por completo.
Onde está realmente o trabalho
| Star CloudPRNT | API REST push | |
|---|---|---|
| Quem inicia | A impressora consulta o seu servidor | O seu backend chama a API |
| Endpoint a construir e alojar | Sim, por si | Nenhum |
| Piso de latência | O intervalo de polling | < 1 s |
| Fila, retentativas, exatamente-uma-vez | A seu cargo | O serviço |
| Atrás de redes restritivas | Sim, apenas saída | Sim, apenas saída |
| Controlo fino do talão | Sim | Sim |
Ambos os modelos resolvem o problema realmente difícil: nenhuma porta de entrada no router da loja. A diferença é sobre quem recai a engenharia.
O hardware não é o tema
Vale a pena separar as duas perguntas, porque são confundidas constantemente.
Escolher uma impressora é uma questão de hardware: arrastamento do papel, fiabilidade do cortador, conectividade, resistência num balcão em hora de ponta. A Star pontua bem em tudo isso, e é precisamente por isso que existem tantas instalações CloudPRNT. Se já tem impressoras Star, não há boa razão para as retirar.
Escolher como os trabalhos chegam a essa impressora é uma questão de software, e é independente. Uma impressora bem construída atrás de uma arquitetura de polling que tem de operar continua a ser uma arquitetura de polling que tem de operar.
Se comprar hardware novo, encaminhamos para distribuidores especializados em vez de o vendermos: o mercado da impressora é melhor servido por revendedores que trabalham várias gamas e tratam da assistência localmente.
O que custa realmente alojar o endpoint
A especificação não é difícil e uma primeira implementação leva uma tarde. O custo não é a primeira implementação, é tudo o que vem depois.
A disponibilidade passa a ser sua. Cada impressora do parque depende de o seu endpoint estar acessível. Um deploy, um certificado expirado, um limitador mal configurado: cada um para a impressão em todo o lado ao mesmo tempo.
Constrói a fila. Os trabalhos têm de ser guardados, entregues exatamente uma vez, marcados como entregues e repetidos se uma impressora pegar num trabalho e perder energia a meio. É um pequeno problema de sistemas distribuídos, fácil de errar de formas que só surgem sob carga.
O polling fixa a latência. Três segundos de intervalo são segundo e meio em média antes de a cozinha ver o talão. Encurtá-lo multiplica o volume de pedidos.
A carga escala com as impressoras, não com as impressões. Cem impressoras a consultar de poucos em poucos segundos são uma carga permanente, haja ou não algo para imprimir.
Nada disto é uma crítica ao protocolo. O CloudPRNT é um desenho razoável que o coloca deliberadamente ao comando. A única pergunta é se esse comando lhe interessa o suficiente para o operar.
Quando deixar o CloudPRNT como está
Duas situações, ambas legítimas: quando o endpoint já funciona, é estável e alguém o percebe: uma migração também custa; e quando a impressora só deve falar com infraestrutura que controla, por política ou conformidade.
O que um fabricante não pode fazer por si
Cada fabricante implementa o seu próprio protocolo para a sua própria gama: CloudPRNT na Star, Server Direct Print na Epson. Do lado deles é razoável: vendem impressoras, não camadas de integração.
A consequência é estrutural, não um defeito. O protocolo de um fabricante só pode cobrir as suas próprias impressoras, pelo que assim que o parque tem duas marcas mantém duas integrações, dois conjuntos de credenciais e duas famílias de falhas. E nenhum fabricante entrega uma aplicação Shopify ou uma extensão WooCommerce.
É exatamente a camada para que existe uma plataforma de impressão: um endpoint único seja qual for a marca, mais os conectores: Shopify, WooCommerce, PrestaShop, HubRise, Zapier: que ficam entre um pedido e um talão impresso. Quando um fabricante expõe um transporte aberto como MQTT, esse hardware pode ficar sob o mesmo endpoint em vez de se tornar uma segunda integração.
A alternativa push
curl -X POST https://www.expedy.fr/api/v2/printers/{printer_uid}/print \
-H "Authorization: API_SID:API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"printer_msg": "PEDIDO #1043\n2x Margherita", "origin": "pos"}'
Uma impressora Star com porta USB é comandada assim já hoje através de um adaptador Raspberry Pi, mantendo o hardware já comprado e movendo apenas o lado do servidor.
Migrar sem dia de viragem
Deixe o endpoint CloudPRNT a funcionar e acrescente a chamada push ao lado; mude um local e compare talões durante uma semana; avance local a local com o endpoint como plano de recuo; desmantele-o só quando a última impressora tiver migrado. O plano gratuito cobre os dois primeiros passos. E se a conclusão for «o nosso endpoint funciona bem, ficamos com ele», esse é um resultado perfeitamente legítimo do exercício.
FAQ
O Star CloudPRNT é um serviço ou um protocolo?
Um protocolo implementado pelas impressoras Star. Não há serviço alojado por trás: é você que escreve e aloja o endpoint que a impressora consulta, pelo que assume a sua disponibilidade e a sua fila.
Tenho de substituir as minhas impressoras Star?
Não, e normalmente não deve. A Star fabrica hardware de balcão fiável, e as impressoras são independentes da forma como os trabalhos lhes chegam. Uma impressora Star com porta USB é comandada através de um adaptador Raspberry Pi enquanto o lado do servidor passa para uma API push.
Quanta latência acrescenta o polling?
Em média metade do intervalo. Três segundos de intervalo significam cerca de 1,5 segundos antes de a impressora sequer pedir o trabalho.
Quando convém manter o endpoint CloudPRNT?
Quando já funciona, é estável e alguém o percebe: uma migração também custa. E quando uma política ou a conformidade exigem que a impressora só fale com infraestrutura que controla.
Porquê usar uma plataforma de impressão em vez do protocolo do fabricante?
Porque o protocolo de um fabricante só cobre as suas próprias impressoras, e nenhum fabricante entrega uma aplicação Shopify ou uma extensão WooCommerce. Uma plataforma dá um endpoint único seja qual for a marca, mais os conectores entre um pedido e um talão.