API

Acesso

Monitorar ocupação da academia em tempo real.

Acesso

Monitore a ocupação da academia em tempo real. Ideal para integrar com displays, aplicativos e totens de autoatendimento.

Ocupação Atual

GET /api/v1/access/occupancy

Retorna a contagem de pessoas presentes na academia no momento e a capacidade máxima configurada.

Exemplo de Requisição

curl -X GET "https://dashboard.octagym.ai/api/v1/access/occupancy" \
  -H "Authorization: Bearer og_live_sua_chave_aqui" \
  -H "Content-Type: application/json"
const response = await fetch(
  'https://dashboard.octagym.ai/api/v1/access/occupancy',
  {
    headers: {
      'Authorization': 'Bearer og_live_sua_chave_aqui',
      'Content-Type': 'application/json'
    }
  }
);

const data = await response.json();

Exemplo de Resposta

{
  "success": true,
  "data": {
    "current_count": 45,
    "max_capacity": 120
  }
}

Campos da Resposta

CampoTipoDescrição
current_countintNúmero de pessoas presentes no momento
max_capacityintCapacidade máxima configurada

Exemplos de Uso

Display de ocupação

const { data } = await response.json();
const percentage = Math.round((data.current_count / data.max_capacity) * 100);

let status;
if (percentage < 50) status = '🟢 Tranquilo';
else if (percentage < 80) status = '🟡 Moderado';
else status = '🔴 Lotado';

console.log(`${data.current_count}/${data.max_capacity} (${percentage}%) — ${status}`);
// 45/120 (38%) — 🟢 Tranquilo

Polling para atualização em tempo real

// Atualizar ocupação a cada 30 segundos
setInterval(async () => {
  const response = await fetch('https://dashboard.octagym.ai/api/v1/access/occupancy', {
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      'Content-Type': 'application/json',
    },
  });
  const { data } = await response.json();
  updateDisplay(data.current_count, data.max_capacity);
}, 30000);

Endpoints restritos ao dashboard

Os endpoints de validação de acesso (POST /api/v1/access/validate) e gerenciamento de dispositivos (GET/POST /api/v1/access/devices) estão disponíveis apenas via dashboard e não são acessíveis pela API pública.

Suporte

On this page