Verificações de Conectividade
1. Verificar se JuxtaPOS V3 está rodando
bash
# No Windows, abra o JuxtaPOS V3 (WPF)
# Verifique se as seguintes portas estão ativas:
2. Portas Necessárias
- WebAPI:
http://localhost:5000ouhttp://IP:5000 - MessagingServer (GraphQL):
http://localhost:9001 - MessagingServer (SSE/Events):
http://localhost:9001/events
3. Testar Conectividade
Abra o console do navegador (F12) e execute:
javascript
// Teste 1: WebAPI
fetch('http://localhost:5000/api/Departments')
.then(r => r.json())
.then(d => console.log(' WebAPI OK:', d))
.catch(e => console.error(' WebAPI erro:', e));
// Teste 2: MessagingServer
fetch('http://localhost:9001/graphql', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
query: '{ __typename }'
})
})
.then(r => r.json())
.then(d => console.log(' MessagingServer OK:', d))
.catch(e => console.error(' MessagingServer erro:', e));
Configuração do config.js
Verifique se o arquivo config.js está correto:
javascript
// src/config.js
export function appconfig() {
return {
// URL da sua WebAPI (JuxtaPOS V3)
ApiUrl: 'http://localhost:5000/api',
// URL do serviço de autenticação
AuthUrl: 'http://localhost:5000',
// Credenciais (se necessário)
UserName: 'admin',
Password: 'senha',
UserId: 1,
// Departamento padrão
departmentName: 'VENDAS'
};
}
Fluxo Completo de Pedido
Passo 1: Login
- Abra o JuxtaGO
- Digite o ID do terminal (exemplo:
1,2,1013) - Sistema busca terminal no JuxtaPOS V3
- Conecta ao MessagingServer via SSE
Passo 2: Selecionar Mesa/Balcão
- Clique na aba "MESAS" ou "BALCÕES"
- Sistema carrega entidades via WebAPI
- Clique em uma mesa
- Sistema:
- Verifica se existe ticket aberto para essa mesa
- Se não existe, cria novo ticket
- Abre tela de menu
Passo 3: Adicionar Itens
- Navegue pelas categorias do menu
- Clique em um produto
- Sistema adiciona ao ticket atual
- Ticket é atualizado via WebAPI
Passo 4: Enviar para Produção
- Revise os itens na coluna central
- Clique em "PRODUZIR / FECHAR"
- Sistema envia via MessagingServer GraphQL
- Ticket vai para as telas de produção (COZINHA, BAR, etc.)
Troubleshooting Comum
"Terminal não definido. Faça login primeiro"
Causa: Terminal não foi registrado ou não existe no JuxtaPOS
Solução:
sql
-- Verifique no banco do JuxtaPOS V3 se o terminal existe:
SELECT * FROM Terminals WHERE Id = 1;
-- Se não existe, crie manualmente ou use a tela de cadastro do JuxtaPOS
"Erro ao carregar Departments WebApi"
Causa: WebAPI não está respondendo
Solução:
- Verifique se JuxtaPOS V3 está rodando
- Teste a URL:
http://localhost:5000/api/Departments - Verifique firewall/antivírus
"Não foi possível criar a comanda"
Causa: Endpoint /Tickets/createForTerminal não implementado
Solução: Verifique se sua WebAPI tem este endpoint:
csharp
// No seu TicketsController.cs do JuxtaPOS V3
[HttpPost("createForTerminal")]
public IActionResult CreateForTerminal([FromBody] CreateTicketRequest request)
{
// Sua implementação aqui
}
Mesa não mostra ticket existente
Causa: Endpoint /Tickets/byEntity/{id} não retorna dados
Solução:
javascript
// Teste no console:
fetch('http://localhost:5000/api/Tickets/byEntity/123')
.then(r => r.json())
.then(d => console.log(d));
SSE/Eventos não funcionam
Causa: MessagingServer não está rodando na porta 9001
Solução:
- Verifique se o processo está ativo
- Teste:
http://localhost:9001/events?terminalId=PM01&replay=1 - Deve abrir conexão SSE
Estrutura de Dados Esperada
Terminal
json
{
"id": 1,
"name": "Terminal 01",
"deviceId": "abc123"
}
Ticket
json
{
"id": 100,
"number": "00100",
"status": "Em aberto",
"ticketType": "Mesa",
"totalAmount": 45.50,
"remainingAmount": 45.50,
"entities": [
{ "id": 5, "name": "Mesa 05", "type": "Mesa" }
],
"orders": [
{
"id": 1,
"itemName": "Pizza Margherita",
"quantity": 1,
"portionName": "Grande",
"modifiers": ["+ Borda recheada"],
"price": 45.50
}
]
}
Entity (Mesa/Balcão)
json
{
"id": 5,
"name": "Mesa 05",
"type": "Mesa",
"caption": "05",
"state": "Disponível",
"color": "#4CAF50"
}
Checklist Final
- JuxtaPOS V3 rodando
- WebAPI respondendo em
http://localhost:5000/api - MessagingServer rodando em
http://localhost:9001 - Terminal cadastrado no banco
- Departamentos configurados (VENDAS, COZINHA, etc.)
- Mesas/Balcões cadastrados
- Menu/Produtos cadastrados
- SSE conectando (veja logs no console F12)
Próximos Passos
Depois de corrigir os arquivos:
- Teste o login: Deve salvar
terminalIdno localStorage - Teste selecionar mesa: Deve criar/carregar ticket
- Teste adicionar produto: Deve aparecer na lista de orders
- Teste enviar para produção: Deve limpar ticket e aparecer na COZINHA
Debug Avançado
Ative logs detalhados no console:
javascript
// Adicione no início do App.jsx (apenas para debug)
window.DEBUG_JUXTAGO = true;
// Nas funções, adicione:
if (window.DEBUG_JUXTAGO) {
console.log('
Esta resposta lhe foi útil?
Artigos Relacionados
Visão Geral — JuxtaGo
1) Visão Geral — JuxtaGo
JuxtaGo é o painel de operação do JuxtaPOS V3 para...
Erro COMPATIBILITY_LEVEL
O JuxtaPOS V3 já depende implicitamente de recursos de SQL Server modernos:
OPENJSON...
Requisito Técnico – SQL Server (JuxtaPOS V3)
A partir da versão 5.0.20.35, o JuxtaPOS V3 utiliza recursos nativos de JSON do SQL Server.
É...