Início Rápido

Comece a usar a API OctaGym em 5 minutos

Início Rápido

Este guia mostra como fazer sua primeira integração com a API OctaGym. Ao final, você terá cadastrado um aluno, criado uma mensalidade e consultado métricas da academia via API.

Pré-requisitos

  • Conta ativa no OctaGym
  • API Key gerada (veja Autenticação)
  • store_id da sua unidade (opcional — em Configurações → Unidades no painel)

Obtenha sua API Key

  1. Acesse o painel do OctaGym
  2. Navegue até ConfiguraçõesAPI Keys
  3. Clique em Criar Nova Chave
  4. Copie sua chave (formato: og_live_...)
Guarde sua API Key em segurança. Ela não será exibida novamente!

Cadastre seu primeiro aluno

Crie um aluno na academia:

curl -X POST https://dashboard.octagym.ai/api/v1/members \
  -H "Authorization: Bearer og_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "full_name": "João da Silva",
    "email": "joao.silva@email.com",
    "phone": "+5511999998888",
    "cpf": "123.456.789-00"
  }'
const response = await fetch('https://dashboard.octagym.ai/api/v1/members', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.OCTAGYM_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    full_name: 'João da Silva',
    email: 'joao.silva@email.com',
    phone: '+5511999998888',
    cpf: '123.456.789-00'
  })
});

const data = await response.json();
console.log('Aluno criado:', data.data.id);
import requests
import os

response = requests.post(
    'https://dashboard.octagym.ai/api/v1/members',
    headers={
        'Authorization': f'Bearer {os.environ["OCTAGYM_API_KEY"]}',
        'Content-Type': 'application/json'
    },
    json={
        'full_name': 'João da Silva',
        'email': 'joao.silva@email.com',
        'phone': '+5511999998888',
        'cpf': '123.456.789-00'
    }
)

data = response.json()
print(f"Aluno criado: {data['data']['id']}")

Resposta:

{
  "success": true,
  "data": {
    "id": "uuid-do-aluno",
    "full_name": "João da Silva",
    "email": "joao.silva@email.com",
    "phone": "+5511999998888",
    "cpf": "123.456.789-00",
    "status": "trial",
    "created_at": "2026-03-22T10:30:00Z"
  }
}

Liste os planos e crie uma mensalidade

Primeiro, consulte os planos disponíveis:

curl -X GET https://dashboard.octagym.ai/api/v1/plans \
  -H "Authorization: Bearer og_live_sua_chave_aqui"
const response = await fetch('https://dashboard.octagym.ai/api/v1/plans', {
  headers: {
    'Authorization': `Bearer ${process.env.OCTAGYM_API_KEY}`
  }
});

const { data: plans } = await response.json();
console.log('Planos disponíveis:', plans);
response = requests.get(
    'https://dashboard.octagym.ai/api/v1/plans',
    headers={
        'Authorization': f'Bearer {os.environ["OCTAGYM_API_KEY"]}'
    }
)

plans = response.json()['data']
print(f"Planos disponíveis: {plans}")

Resposta:

{
  "success": true,
  "data": [
    {
      "id": "uuid-do-plano",
      "name": "Plano Mensal",
      "price_cents": 9990,
      "billing_period": "monthly",
      "is_active": true
    }
  ]
}

Agora crie a mensalidade vinculando o aluno ao plano:

curl -X POST https://dashboard.octagym.ai/api/v1/memberships \
  -H "Authorization: Bearer og_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "member_profile_id": "uuid-do-aluno",
    "plan_id": "uuid-do-plano",
    "start_date": "2026-03-22"
  }'
const response = await fetch('https://dashboard.octagym.ai/api/v1/memberships', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.OCTAGYM_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    member_profile_id: 'uuid-do-aluno',
    plan_id: 'uuid-do-plano',
    start_date: '2026-03-22'
  })
});

const data = await response.json();
console.log('Mensalidade criada:', data.data.id);
response = requests.post(
    'https://dashboard.octagym.ai/api/v1/memberships',
    headers={
        'Authorization': f'Bearer {os.environ["OCTAGYM_API_KEY"]}',
        'Content-Type': 'application/json'
    },
    json={
        'member_profile_id': 'uuid-do-aluno',
        'plan_id': 'uuid-do-plano',
        'start_date': '2026-03-22'
    }
)

data = response.json()
print(f"Mensalidade criada: {data['data']['id']}")

Resposta:

{
  "success": true,
  "data": {
    "id": "uuid-da-mensalidade",
    "member_profile_id": "uuid-do-aluno",
    "plan_id": "uuid-do-plano",
    "status": "active",
    "start_date": "2026-03-22",
    "end_date": "2026-04-22",
    "price_cents": 9990,
    "created_at": "2026-03-22T10:35:00Z"
  }
}

Consulte as métricas da academia

Verifique os indicadores da sua academia:

curl -X GET https://dashboard.octagym.ai/api/v1/gym-metrics \
  -H "Authorization: Bearer og_live_sua_chave_aqui"
const response = await fetch('https://dashboard.octagym.ai/api/v1/gym-metrics', {
  headers: {
    'Authorization': `Bearer ${process.env.OCTAGYM_API_KEY}`
  }
});

const { data: metrics } = await response.json();
console.log('Métricas:', metrics);
response = requests.get(
    'https://dashboard.octagym.ai/api/v1/gym-metrics',
    headers={
        'Authorization': f'Bearer {os.environ["OCTAGYM_API_KEY"]}'
    }
)

metrics = response.json()['data']
print(f"Métricas: {metrics}")

Resposta:

{
  "success": true,
  "data": {
    "active_members": 247,
    "mrr_cents": 2468530,
    "churn_rate": 4.2,
    "checkins_today": 83
  }
}

Exemplo Completo em JavaScript

// octagym-client.js
class OctaGymClient {
  constructor(apiKey) {
    this.apiKey = apiKey;
    this.baseUrl = 'https://dashboard.octagym.ai/api/v1';
  }

  async request(endpoint, options = {}) {
    const response = await fetch(`${this.baseUrl}${endpoint}`, {
      ...options,
      headers: {
        Authorization: `Bearer ${this.apiKey}`,
        'Content-Type': 'application/json',
        ...options.headers,
      },
    });

    if (!response.ok) {
      const error = await response.json();
      throw new Error(error.error?.message || 'Erro na requisição');
    }

    return response.json();
  }

  // Alunos
  async createMember(data) {
    return this.request('/members', {
      method: 'POST',
      body: JSON.stringify(data),
    });
  }

  async getMembers(params = {}) {
    const query = new URLSearchParams(params).toString();
    return this.request(`/members?${query}`);
  }

  // Planos
  async getPlans(params = {}) {
    const query = new URLSearchParams(params).toString();
    return this.request(`/plans?${query}`);
  }

  // Mensalidades
  async createMembership(data) {
    return this.request('/memberships', {
      method: 'POST',
      body: JSON.stringify(data),
    });
  }

  // Métricas
  async getMetrics() {
    return this.request('/gym-metrics');
  }
}

// Uso
const client = new OctaGymClient(process.env.OCTAGYM_API_KEY);

async function cadastrarAlunoCompleto() {
  // 1. Criar aluno
  const aluno = await client.createMember({
    full_name: 'Maria Santos',
    email: 'maria@email.com',
    phone: '+5511988887777',
    cpf: '987.654.321-00',
  });

  // 2. Buscar planos disponíveis
  const { data: planos } = await client.getPlans();
  const planoMensal = planos.find((p) => p.billing_period === 'monthly');

  // 3. Criar mensalidade
  const mensalidade = await client.createMembership({
    member_profile_id: aluno.data.id,
    plan_id: planoMensal.id,
    start_date: new Date().toISOString().split('T')[0],
  });

  // 4. Consultar métricas atualizadas
  const metricas = await client.getMetrics();

  return {
    aluno: aluno.data,
    mensalidade: mensalidade.data,
    metricas: metricas.data,
  };
}

cadastrarAlunoCompleto().then(console.log);

Próximos Passos

Agora que você fez sua primeira integração, explore mais recursos:

  • Alunos — Documentação completa de cadastro, check-ins e medições
  • Planos — Consultar planos, períodos de cobrança e preços
  • Mensalidades — Gerenciar mensalidades, congelamentos e cancelamentos

Precisa de Ajuda?

On this page