🎛️ Torre de Controle

Atualiza sozinho a cada 15s — pensado pra ficar aberto na tela durante a prova.

🩺 Saúde do sistema

Carregando...

🏁 Progresso da prova

Carregando...

📥 Recepção

Carregando...

🔍 Revisão do resultado

Carregando...
Fase de captura atual
Livre (usando configuração de Percursos)
Se largada e chegada são no mesmo ponto físico (mesmo arco/antena), use isto: clique em "Capturar Largada", deixe todo mundo passar, depois clique em "Capturar Chegada" quando começarem a cruzar de volta — toda leitura enquanto essa fase estiver ativa vira largada ou chegada automaticamente, não importa a antena. Se você tem antenas separadas pra cada ponto, deixe em "Livre" (usa a aba Percursos).
0 atletas 0 largaram 0 chegaram 0 na recepção 0 não associados CloudBox: —

🔌 Log de conexão — mensagens de conexão com o CloudBox e comandos enviados

▸ mostrar

📡 Pausar leitura por antena — útil pra antena suspensa/alto alcance, se o percurso passa perto da chegada no meio da prova

▸ mostrar

Recepção — chegada em tempo real

Ignorar repetição por seg
Mostra só as últimas 300 leituras (pra não pesar com prova grande) — o total de recebidos/não associados continua contando certo, e o "Log completo" mostra tudo.
Pos.NºAtletaTempoPontoCateg.SxDist.Leitora📷
Aguardando a largada para começar a receber leituras de chip…

🔲 Etiquetas com QR code (peito do atleta)

Gera um PDF com uma etiqueta pra cada atleta — cada QR code abre direto no resultado individual dele. Precisa do "Link do site de resultado" configurado antes, na aba Notificações (é o mesmo link usado no aviso por WhatsApp). Formato pra imprimir e recortar, com o número e nome de cada um pra facilitar organizar antes de colar no peito.

Faixas etárias (categoria automática)

Configure as faixas de idade dessa prova pra gerar a categoria sozinho a partir da data de nascimento — cada prova costuma usar uma régua diferente (ex: até 24 anos numa faixa só, depois de 5 em 5). Sem "código customizado", gera automático no padrão sexo + idade (ex: F1519, M2029). Deixe a lista vazia pra desligar e continuar preenchendo a categoria manualmente. Vale tanto pra importação (quando a planilha não trouxer categoria) quanto pra edição individual (quando você mudar a data de nascimento em "Editar Atleta").

Se distâncias diferentes usam réguas diferentes (ex: 5km começa em 14 anos, 10km em 16), preencha o campo distância de cada faixa — uma faixa marcada com distância só vale pra quem corre aquela distância. Deixe em branco pra valer em qualquer distância (o normal quando a prova usa a mesma régua pra todo mundo).

Importar planilha de atletas

Aceita arquivo .xlsx, .xls ou .csv. O sistema tenta reconhecer as colunas automaticamente pelo cabeçalho (número/bib, nome, sexo, categoria, chip/epc, distância/prova, origem/local) — se não achar um cabeçalho conhecido, assume a ordem número, nome, sexo, categoria, chip. O campo chip deve ser o EPC (ou tagStr) exatamente como o CloudBox envia.

Se a prova tem mais de uma distância (ex: 5km e 10km), inclua uma coluna distância (ou "prova"/"km") — cada distância vira uma classificação separada, automaticamente. Se quiser separar atleta local de visitante, inclua uma coluna origem (ou "local") — os valores que você usar aí (ex: "Local"/"Visitante") viram os grupos de classificação.
Deixe desmarcado se está reimportando pra uma prova que já tem percursos/premiação configurados com o número puro (ex: "5") — mudar o formato depois de já configurado quebraria essas referências.
⬆
Clique para escolher o arquivo ou arraste aqui
.xlsx, .xls ou .csv
ou colar manualmente

Atletas cadastrados (0)

NºNomeSxCateg.Dist.OrigemIdadeEquipeE-mailTelefoneOndaChip

Importar chips (atualizar quem já está cadastrado)

Pra quando o lote de chips chega separado da planilha de atletas (comum: inscrição vem de um lugar, chip vem do fornecedor depois). Aceita um arquivo só com número e chip — o sistema acha, entre os atletas já cadastrados, quem tem aquele número e atualiza só o chip dele, sem mexer em nome, categoria, distância nem mais nada. Números que não baterem com nenhum atleta cadastrado aparecem avisados na prévia, sem travar a atualização dos que bateram.
⬆
Clique para escolher o arquivo ou arraste aqui
.xlsx, .xls ou .csv — só precisa das colunas número e chip
ou colar manualmente
Total inscritos
—
Kits entregues
—
—
Kits pendentes
—
—
Status
🟢 Ao vivo

🎒 Check-in rápido

Digite o número ou o nome do atleta e aperte Enter pra marcar a entrega na hora (assume que é o próprio atleta retirando). Se for outra pessoa retirando no lugar dele, digite o nome de quem está ali — muda só depois de já marcado, clicando em "quem retirou".
"📷 Escanear QR" usa a câmera do aparelho — pensado pra usar no celular (que tem câmera); nesse computador principal, se ele não tiver webcam, o botão não vai funcionar.

Base de Atletas

NºNomeCategoria StatusRetirado porQR

Buscar atleta

Corrige na hora: chip que não leu, corredor que cortou percurso, erro de cadastro (nome, categoria, distância) — sem precisar reimportar a planilha inteira.

Desclassificados nesta prova (0)

NºNomeResponsávelMotivo
Ninguém desclassificado até agora.

Classificação — chegada

Calculada a partir do ponto de controle marcado como Chegada em "Percursos". Tempo líquido só aparece pra quem também passou pela antena de Largada individualmente; senão a classificação usa o tempo bruto (desde o horário oficial da largada da onda de cada atleta).

Exportar (CSV / PDF)

🔍 Os filtros abaixo valem só pra esse export — a tela de Classificação continua mostrando todo mundo, sem filtro nenhum.

Certificados

Pos.NºAtletaSxCateg.Dist.OrigemOndaPercursoTempo brutoTempo líquido
Nenhuma chegada registrada ainda.

📺 Telão, site de resultado e redes sociais

A tela do telão abre numa janela separada, sem login — pode deixar ligada o dia inteiro numa TV/projetor, atualiza sozinha.
O site de resultado baixa um arquivo único que funciona sozinho, sem precisar do nosso sistema nem do túnel ligados — tempo, posição, ritmo, pontos de controle e o próprio certificado (se o resultado já estiver fechado como oficial) ficam todos dentro do arquivo. Só o mapa do percurso, se configurado, precisa de internet normal pra carregar (isso é do OpenStreetMap, não do nosso sistema). Pra publicar de graça e sem criar conta: entra em app.netlify.com/drop e arrasta o arquivo baixado — já gera um link público na hora.

📡 Resultado ao vivo na internet

Liga um túnel público (via Cloudflare, grátis, sem criar conta) que deixa a tela do telão acessível de qualquer lugar — atualiza sozinha conforme as chegadas acontecem. Deixe ligado só durante a prova — enquanto estiver ligado, esse computador fica acessível pela internet.
Antes de usar (só uma vez): baixe o programa cloudflared em github.com/cloudflare/cloudflared/releases — pegue o arquivo cloudflared-windows-amd64.exe. Ele não é um instalador (não clique duas vezes nele) — é um programa de linha de comando que o botão abaixo vai chamar sozinho. Só cole o caminho completo do arquivo baixado ali embaixo.

Regra de premiação

Regra clássica de corrida de rua (em outros sistemas isso é chamado de "impedir dobrar prêmio"): quem já ganha um troféu "acima" não ganha de novo num prêmio "abaixo". A hierarquia é Geral → Origem → Categoria, de cima pra baixo — o prêmio passa pro próximo colocado que ainda não ganhou nada em nenhum nível acima. Calculado automaticamente por distância.

Base de tempo

Geral e Origem são sempre calculados pelo tempo bruto (ordem oficial de chegada, desde a largada da prova) — é o que decide o pódio principal.

Categoria/Faixa Etária é sempre calculada pelo tempo líquido (desde que cada atleta cruzou a largada individualmente) — mais justo, já que quem larga mais atrás no pelotão não é penalizado pelo tempo que levou só pra cruzar a linha de largada.

Nível 1 · Geral

Deixe 0 se sua prova não premia um "geral misto" — a maioria não premia.
Masculino Feminino
O mais comum no Brasil: os 3 primeiros homens e as 3 primeiras mulheres do geral não concorrem de novo. Pode usar números diferentes pra cada sexo.
Isso também exclui de:

Nível 2 · Origem (grupos de premiação)

Cada valor de Origem, Origem 2, Origem 3... da planilha vira um grupo com pódio próprio (ex: Colaborador, Local, PCD). O atleta pode estar em quantos grupos precisar.
Vale pra todo grupo que não tiver um número próprio na tabela abaixo.
Isso também exclui de:

Nível 3 · Categoria (faixa etária)

Sempre 1 vencedor por categoria, pelo tempo líquido. Último nível da cascata — não exclui de nada abaixo.
Ex: "M2029 do Geral" e "M2029 do Local" viram pódios totalmente independentes, em vez de brigarem pela mesma vaga. Deixe desmarcado se "origem" é só um prêmio adicional simples (a maioria das provas) — só ligue se a prova for genuinamente dividida (ex: "5km Geral" e "5km Local" como corridas separadas, cada uma premiando por faixa etária à parte).

Tamanho do relatório em PDF

Não afeta o CSV, que sempre sai completo com todo mundo. Só encurta o PDF pra facilitar imprimir/consultar na hora da premiação.
Isso já reflete automaticamente na aba Classificação e nos relatórios exportados — no PDF, quem foi excluído da categoria aparece listado separadamente com o motivo, pra ficar claro na hora de chamar no palco.

📊 Estatísticas da prova

Nenhum atleta cadastrado ainda — as estatísticas aparecem assim que importar/cadastrar alguém.

🚩 Fiscal de percurso

Pra pontos do trajeto sem leitora RFID (custa caro cobrir tudo), um fiscal com celular confirma manualmente a passagem de um atleta digitando o número dele. Crie um ponto abaixo, mande o link gerado pro celular do fiscal (WhatsApp, por exemplo) — ele não precisa instalar nada nem fazer login, só abrir o link.
NomeTipoLink (mande pro celular do fiscal)

⚠ Verificação de corte de percurso

Esse interruptor controla se o sistema avisa quando um atleta não passou por um ponto marcado como obrigatório abaixo. Fica desligado por padrão de propósito: se você importar dados aos poucos durante a prova, ligar antes da hora pode gerar avisos falsos pra quem ainda nem passou pelo ponto. Ligue depois que todos os pontos obrigatórios já tiverem dados (ex: no fim da prova, ou depois de importar o backup do meio do percurso).

Pontos de controle

Cada combinação de leitora + antena vira um ponto de controle da prova. Marque qual é a Largada, qual(is) são Parciais (ex: km 5) e qual é a Chegada. Se você tem mais de uma leitora cobrindo o mesmo ponto (ex: 3 caixas na chegada larga), adicione uma linha pra cada uma com o mesmo tipo "Chegada" — o sistema não conta o mesmo atleta duas vezes mesmo que seja detectado por leitoras diferentes.

🗺️ Mapa ao vivo (posição estimada no percurso)

Sobe o trajeto real do percurso (arquivo .gpx, exportado do Strava/Garmin ou desenhado num site tipo gpx.studio) — com isso, o sistema consegue mostrar uma estimativa de onde cada atleta está no mapa, ao vivo, mesmo sem GPS de verdade no chip. Funciona assim: pega o último ponto de controle que o atleta passou, calcula o ritmo dele, e vai "andando" a posição na rota — toda leitura nova corrige pro lugar certo.
Se a prova tem mais de uma distância com percursos fisicamente diferentes (ex: 5km e 21km em ruas diferentes), suba um .gpx pra cada uma escolhendo abaixo. "Padrão" é a rota usada por qualquer distância que ainda não tenha a sua própria — se só existir a rota Padrão, ela vale pra prova inteira (é assim que já funcionava antes de dar pra escolher por distância).
Depois de configurado, o mapa ao vivo fica em /mapa.html (funciona sem login, igual o telão — dá pra compartilhar o link com família/amigos acompanharem um atleta específico pelo número dele).

Ondas de largada

Se todo mundo larga junto, você não precisa mexer aqui — a onda "Largada" padrão já é disparada pelo botão "Iniciar largada" no topo. Use isto só se tiver baterias em horários diferentes (ex: elite às 7h, geral às 7h15). Associe cada atleta a uma onda na coluna wave da planilha de importação (se não preencher, todo mundo cai na onda padrão).

📈 Dashboard do negócio

Visão agregada de TODAS as provas já cronometradas (crescimento ao longo do tempo) — diferente das Estatísticas, que são só da prova atual.
Provas cronometradas
—
Atletas no total
—
Chegadas no total
—

Provas por mês

Maiores provas (por atletas)

📋 Provas-modelo

Salva a configuração inteira da prova carregada agora (leitoras, percursos, faixas etárias, premiação, campos extras) como um modelo reutilizável — nunca leva atleta nem resultado. Útil pra quem cronometra a mesma prova (ou parecida) todo ano/mês, sem montar tudo de novo sempre. Aplicar um modelo substitui a configuração da prova carregada no momento — sempre confira qual prova está carregada antes de aplicar.
NomeCriado em

Provas

Cada prova tem seus próprios atletas, leituras, percursos e leitoras — tudo separado. Só uma fica carregada por vez (marcada abaixo), e é nela que as abas Recepção/Classificação/ Editar Atleta trabalham. Carregar uma prova antiga deixa ela totalmente editável de novo — útil pra corrigir um tempo que passou despercebido, mesmo dias depois da prova ter acabado.
Ao exportar (CSV/PDF): PDF por categoria:
DataProvaAtletasChegadasStatusAções
Nenhuma prova ainda.

🏆 Circuitos

Um circuito junta várias provas (etapas) e soma a pontuação de cada atleta ao longo delas — pensado pra quando vocês rodam um circuito com várias etapas (tipo "Circuito Sertanejo"). A pontuação é por colocação em cada etapa (não soma tempo — etapas podem ter distâncias diferentes): quem ganha uma etapa com mais gente ganha mais pontos. Atletas são reconhecidos entre etapas pelo nome (não precisa ter o mesmo número de peito).

Usuários

Cada pessoa da equipe deveria ter seu próprio login — assim dá pra saber quem mexeu no quê se alguma dúvida aparecer depois. Só administradores veem essa aba.
UsuárioPapelCriado em

Trocar minha própria senha

Configuração de e-mail

Usada pra mandar o certificado por e-mail direto pro atleta. Pode usar Gmail, Outlook ou qualquer servidor SMTP próprio. Se for Gmail, você precisa gerar uma "senha de app" (não é a senha normal da conta) — busque por "senha de app Gmail" nas configurações de segurança da sua conta Google. É a mesma configuração pra todas as provas.
Assim que o resultado for fechado oficialmente, manda sozinho um resumo aqui: inscritos, finalizantes, taxa de conclusão e tempo médio por distância. Deixe em branco pra não mandar nada.

Testar envio

📱 WhatsApp (Z-API)

Manda uma mensagem automática pro atleta avisando que o resultado saiu, com link direto pra página dele. Usa a Z-API (crie uma conta lá, escaneie o QR code com o WhatsApp que vai enviar as mensagens, e cole os dados da instância abaixo). Precisa do campo Telefone preenchido no cadastro de cada atleta (com DDD, ex: 83999998888) — sem isso, esse atleta simplesmente não recebe.

Testar conexão

Manda uma mensagem de teste pro número que você digitar, só pra confirmar que a instância está conectada certinho.

Avisar que o resultado saiu

Manda a notificação pra TODOS os atletas com telefone cadastrado (dessa prova) de uma vez. Recomendado usar só depois de fechar o resultado como oficial.

📋 Log de auditoria

Registro das ações mais sensíveis do sistema — quem fez, quando e em qual prova. Ajuda a entender o que aconteceu se algo sair diferente do esperado. Mostra as 200 mais recentes.
QuandoUsuárioAçãoProvaDetalhes

🕐 Replay cronológico

Junta leituras de chip E ações de auditoria numa linha do tempo só, na ordem exata em que aconteceram — útil pra reconstituir uma disputa (ex: "prove que esse atleta passou nesse horário" ou "o que aconteceu logo antes dessa desqualificação").

🧪 Testar Leitoras

Use isso antes de disparar a largada, pra confirmar que toda antena está recebendo leitura de verdade — passe um chip de teste (ou o seu próprio crachá) na frente de cada uma. Nada aqui conta pra prova: nenhuma leitura de teste vira largada, chegada, resultado ou fica salva — é só um "eco" visual de conferência. Assim que você clicar em "Iniciar largada" de verdade, o modo de teste desliga sozinho.
Teste desligado

🧪 Iniciar sessão em modo de teste (sem leitora nenhuma)

Diferente do teste de antenas acima (que só confere se a leitora está lendo), isso aqui inicia a sessão de verdade — mas sem tentar conectar em nenhuma leitora, mesmo que tenha alguma cadastrada. Útil pra testar outras partes do sistema sem precisar de leitora nenhuma por perto (ex: registrar chegada pelo Fiscal de Percurso, ou confirmar que o webhook de resultado está avisando o site de inscrição certinho). Sem isso, "Iniciar largada" normal falha se tiver leitora cadastrada e nenhuma conectar. Não use isso no dia da prova de verdade — é só pra testar.

Painel visual das antenas

Passe um chip na frente de cada antena — a bolinha correspondente acende na hora. Assume 4 antenas por leitora (padrão do CloudBox); se a sua tiver menos, é só ignorar as que não usa.

Pontos configurados em Percursos

Confronta com o que já foi testado até agora.
LeitoraAntenaNome do pontoTipoStatus
Nenhum ponto de controle configurado ainda em Percursos.

Leituras recebidas durante o teste

LeitoraAntenaQtd. leiturasÚltima leituraÚltimo chip visto
Nenhuma leitura de teste recebida ainda — clique em "Iniciar teste" e passe um chip nas antenas.

🏁 Simular prova completa

Gera uma chegada com tempo aleatório (plausível pra cada distância) pra todos os atletas já importados de uma vez — sem precisar simular leitura por leitura na mão. Serve pra conferir, antes da largada de verdade, se a classificação, a premiação (Geral/Local/PCD, faixa etária) e o certificado saem do jeito esperado com a planilha e as configurações de hoje.

⚠️ Isso preenche a prova inteira com dados falsos. Sem uma largada real configurada ainda, usa uma largada automática (2h atrás) só pra funcionar. Depois de conferir, é obrigatório limpar antes da prova de verdade — o botão abaixo já faz isso.

🔍 Descobrir formato de leitora desconhecida

Pra quando você tem uma leitora que não é Rufus e não tem documentação de como ela entrega os dados. Liga essa escuta numa porta livre, aponta o programa da leitora (o que você já usa pra acioná-la) pra mandar pra cá em vez de pro destino de sempre — mesmo IP deste computador, mesma porta escolhida abaixo — e faz uma leitura de teste com o chip. O que chegar aparece cru, do jeito que veio, sem interpretar nada — não conta pra prova, é só pra descobrir o formato.
Este computador na rede: carregando...

🔊 Alerta sonoro na Recepção

Toca um som na hora, pra quem está de olho na Recepção não precisar ficar lendo a tabela toda vez que alguém chega — só nos momentos que costumam merecer atenção na hora (pódio).

💼 Patrocinadores no telão

Os logos aparecem alternando numa faixa no telão — até 10 patrocinadores. Prefira imagens com fundo transparente (PNG) e não muito grandes.

🖼️ Banner de fundo — Painel de Chegada

Imagem própria com o tema da prova, usada de fundo no Painel de Chegada (a tela que mostra o tempo de quem pede pra ver). Sem banner definido, usa um padrão genérico automático.

Evento

Campos extras do cadastro

3 campos livres pra qualquer informação que essa prova precise (ex: "Tamanho da camiseta", "Alergia", "Time do coração"). Deixe em branco o que não for usar — some da tela sozinho. Aparecem em Editar Atleta, na importação da planilha e no CSV de resultado.

🏅 Personalizar certificado

Suba a arte do certificado já pronta, inteira (fundo, cores, logo, tudo) — o sistema só escreve os dados (nome, tempo, colocação) por cima, nas posições marcadas no guia abaixo. Sem imagem, usa o certificado padrão simples (só com a cor escolhida).
Escolha uma cor com contraste nas áreas onde o texto vai cair (veja o guia).

📷 Câmera IP (foto automática na chegada)

Se você tiver uma câmera IP apontada pra chegada, o sistema tira uma foto sozinho toda vez que um chip cruza a chegada — útil pra conferir depois quem passou de verdade com aquele chip (ex: chip usado por outra pessoa). Cole aqui a URL de "foto/snapshot" da câmera (isso varia de marca pra marca — geralmente vem no manual dela ou na tela de configuração de rede da própria câmera).
Comum precisar disso com celular usado na vertical — o app da câmera geralmente manda a foto sempre deitada, sem saber a posição física do aparelho. Testa as opções abaixo até a foto vir do jeito certo.

🎬 Vídeo da chegada — clipe de cada atleta e live no YouTube

A mesma câmera da foto, filmando. Clipe: o Apex grava a câmera o tempo todo (só os últimos minutos ficam no disco) e, quando um chip cruza a chegada, recorta uns segundos antes e depois, em pé (formato de Reels/status), com o nome e o tempo por cima — e manda pro site de inscrição, onde o atleta assiste e baixa o dele. Live: manda a câmera direto pra uma transmissão do YouTube (sem OBS); o site e o telão mostram, e o vídeo de cada atleta no site já sai sincronizado.
Preencher pela marca:

Clipe de cada atleta

O atraso da câmera é quanto a imagem demora pra chegar (normalmente 1 a 2 s). Pra calibrar: com o clipe ligado, peça pra alguém pisar no tapete e clique em "Clipe de teste" na mesma hora — se a pessoa aparecer cedo ou tarde no vídeo, ajuste.

📡 Live no YouTube

No YouTube Studio: Transmitir ao vivo → copie a chave da transmissão e o link da live. Precisa de uns 3 Mbps de internet de envio estável (um bom 4G dá).

⚠ Zona de risco

Apaga as leituras de largada e chegada guardadas no nosso sistema — não mexe em nada salvo na leitora (o backup dela continua intacto, dá pra importar de novo se precisar). Atletas cadastrados, leitoras e configurações continuam como estão.

Leitoras CloudBox

Cadastre uma linha pra cada leitora física (cada uma com seu próprio IP na rede). Pode ter quantas quiser — por exemplo, 3 caixas lado a lado cobrindo uma chegada larga, ou leitoras separadas em pontos diferentes do percurso. O sistema conecta em todas ao mesmo tempo e, se uma delas detectar o mesmo atleta que outra já pegou, não conta duas vezes.
Leitoras pelo Wi-Fi: como ligar uma ou várias
Uma caixa só: conecte o computador na rede Wi-Fi da própria caixa (o nome é tipo CLBX_192_168_1_10 — o IP vem no nome) e cadastre esse IP, porta 8080.
Duas ou mais: o computador só entra numa rede Wi-Fi por vez, então coloque todas as caixas e o computador na mesma rede (roteador, roteador 4G ou roteamento do celular). Em cada caixa, abra cloudbox.local e mande ela entrar nessa rede. Depois clique em 🔍 Procurar leitoras na rede.
Cada caixa precisa de um IP diferente. Se o roteador ou o celular isolar os aparelhos entre si ("isolamento de cliente"), desligue isso.
Se o Wi-Fi cair, o sistema reconecta sozinho e pede pra caixa reenviar o que ela leu enquanto estava fora (aparece "♻" embaixo da leitora).

📡 Pontos remotos (sem rede compartilhada)

Se algum ponto de controle fica longe demais do computador principal pra usar o mesmo Wi-Fi (ex: Km5 de um percurso longo), marque a leitora dele como "Remota" acima — em vez de tentar conectar direto (que não ia funcionar), o sistema espera receber os dados de outro computador que fica fisicamente naquele ponto, com internet do celular, retransmitindo.

Neste computador (o principal, que recebe)

Gere um token aqui uma vez, e cole ele na configuração do computador que fica em cada ponto remoto (é a "senha" que permite ele mandar dados pra este sistema pela internet).
⚠ Gerar um novo token invalida o anterior — os computadores remotos que já estavam configurados vão precisar do token novo.

Neste computador (se ele for o que fica no ponto remoto)

Marque isso SÓ no computador/laptop que fica fisicamente no ponto remoto — não no principal. Ele vai continuar lendo a leitora local dele normalmente, só que em vez de processar sozinho, manda uma cópia de cada leitura pro servidor principal pela internet.

☁️ Alternativa: sincronizar direto com a RUFUS Cloud

Se a leitora do ponto remoto já tem chip 4G ou Wi-Fi próprio e você já usa a nuvem da Rufus, não precisa de nenhum laptop/celular fazendo ponte — a própria leitora manda os dados direto pra nuvem deles, e este sistema consulta essa nuvem sozinho a cada 10 segundos.

Isso é uma opção separada da retransmissão manual acima — use uma OU outra pra cada leitora remota, dependendo do que for mais prático. Dá pra sincronizar vários dispositivos ao mesmo tempo (um pra cada ponto do percurso), todos usando a mesma chave de API da conta.
Dispositivos (um por ponto remoto):

⚠ Essa integração é nova — se as leituras não aparecerem, veja a aba Auditoria/console do programa por avisos de erro (formato de resposta da API pode precisar de ajuste fino).

🌐 Site de inscrição (Apex Inscrições)

Liga ESTA prova à prova do site: o Apex busca os inscritos de lá (sem planilha, sem copiar e colar) — ou, em prova só de cronometragem (a lista do cliente foi importada aqui), manda os atletas daqui pra lá — e avisa o site a cada chegada (resultado ao vivo e mensagem pro atleta). O token fica no admin do site, na prova → percurso → botão "Link do webhook" — cada prova tem o seu, e essa configuração fica guardada nesta prova.
Ao fechar o resultado como oficial, a página de resultado completa (premiação, categorias e a página de cada atleta com certificado) vai sozinha pro site. Se corrigir algo depois de fechar, publique de novo:

🏷️ Outras leitoras (não-Rufus, ex: Tag System)

Pra leitoras de outro fabricante que mandam os dados pra cá por conta própria (em vez do Apex conectar nelas, como faz com a Rufus). Liga essa escuta, aponta o programa da leitora (o mesmo que você já usa pra acioná-la) pra mandar pro IP deste computador, na porta escolhida abaixo — as leitoras aparecem sozinhas na lista assim que mandarem a primeira leitura, não precisa cadastrar nada antes. Depois é só configurar em Percursos o que cada uma significa, exatamente como já faz com a Rufus.
Este computador na rede: carregando...

Leitoras detectadas

Nenhuma ainda — aparece aqui assim que a primeira leitura chegar.

Recuperar leituras perdidas (importar backup do CloudBox)

A própria caixa CloudBox guarda um backup local de todas as leituras (mesmo se a conexão com este sistema cair no meio da prova) — é o navegador embutido dela, na seção "Backup", que você acessa digitando o IP da caixa direto no navegador do computador. Lá dá pra ver, baixar (arquivo .txt) e até apagar esses backups. Se você perdeu a largada por queda de conexão, por exemplo, baixe o arquivo de backup do horário certo e importe aqui — o sistema processa exatamente como se fosse leitura ao vivo, sem duplicar quem já foi capturado.
Escolha "Automático" só se a antena gravada no arquivo bater exatamente com um ponto já configurado na aba Percursos. Se não bater (ex: "leituras sem ponto de controle"), force o tipo aqui — não importa qual antena está no arquivo, tudo vira o tipo escolhido.
▸ Importações recentes (pra desfazer se precisar)