API

Instrutores (Trainers)

Consultar instrutores da academia.

Instrutores

Consulte a equipe de instrutores da academia, incluindo suas especializações, horários e alunos vinculados.

Listar Instrutores

GET /api/v1/trainers

Retorna a lista de instrutores da academia com seus horários de atendimento.

Parâmetros de Query

ParâmetroTipoDescrição
is_activebooleanFiltrar por status ativo/inativo
specializationstringFiltrar por especialização do instrutor

Exemplo de Requisição

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

const data = await response.json();

Exemplo de Resposta

{
  "success": true,
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "cref_number": "012345-G",
      "cref_state": "SP",
      "specializations": ["musculação", "funcional", "pilates"],
      "certifications": ["CREF", "TRX Certified"],
      "bio": "Personal trainer com 8 anos de experiência em musculação e treinamento funcional.",
      "years_experience": 8,
      "education": "Educação Física - USP",
      "max_students": 30,
      "accepts_new_students": true,
      "commission_pct": 40,
      "is_active": true,
      "schedules": [
        {
          "day_of_week": 1,
          "start_time": "06:00",
          "end_time": "12:00"
        },
        {
          "day_of_week": 1,
          "start_time": "16:00",
          "end_time": "21:00"
        }
      ],
      "user": {
        "id": "user-uuid",
        "name": "Carlos Silva",
        "email": "carlos@academia.com"
      }
    }
  ]
}

Buscar Instrutor

GET /api/v1/trainers/:id

Retorna os detalhes completos de um instrutor, incluindo horários e alunos vinculados.

Parâmetros de Rota

ParâmetroTipoDescrição
iduuidIdentificador único do instrutor

Exemplo de Requisição

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

const data = await response.json();

Exemplo de Resposta

{
  "success": true,
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "cref_number": "012345-G",
    "cref_state": "SP",
    "specializations": ["musculação", "funcional", "pilates"],
    "certifications": ["CREF", "TRX Certified"],
    "bio": "Personal trainer com 8 anos de experiência em musculação e treinamento funcional.",
    "years_experience": 8,
    "education": "Educação Física - USP",
    "max_students": 30,
    "accepts_new_students": true,
    "commission_pct": 40,
    "is_active": true,
    "schedules": [
      {
        "day_of_week": 1,
        "start_time": "06:00",
        "end_time": "12:00"
      },
      {
        "day_of_week": 2,
        "start_time": "06:00",
        "end_time": "12:00"
      }
    ],
    "students": [
      {
        "member_id": "member-uuid-1",
        "client_id": "client-uuid-1",
        "name": "Ana Oliveira",
        "email": "ana@email.com",
        "status": "active"
      },
      {
        "member_id": "member-uuid-2",
        "client_id": "client-uuid-2",
        "name": "Bruno Santos",
        "email": "bruno@email.com",
        "status": "active"
      }
    ],
    "user": {
      "id": "user-uuid",
      "name": "Carlos Silva",
      "email": "carlos@academia.com"
    }
  }
}

Campos do Instrutor

CampoTipoDescrição
iduuidIdentificador único
cref_numberstringNúmero do registro no CREF
cref_statestringUF do registro no CREF
specializationsstring[]Lista de especializações
certificationsstring[]Certificações profissionais
biostringBiografia/descrição profissional
years_experienceintAnos de experiência
educationstringFormação acadêmica
max_studentsintNúmero máximo de alunos simultâneos
accepts_new_studentsbooleanSe está aceitando novos alunos
commission_pctnumberPercentual de comissão sobre mensalidades dos alunos
is_activebooleanStatus ativo/inativo
schedulesarrayHorários de atendimento (dia da semana, início, fim)
studentsarrayAlunos vinculados (apenas no endpoint de detalhe)
userobjectDados do usuário (nome, email)

O campo students com dados completos dos alunos vinculados é retornado apenas no endpoint de detalhe (GET /api/v1/trainers/:id), não na listagem.

Suporte

On this page