Developers
API SMGC v1
REST JSON. Use esta API para construir um app mobile (ou outras integrações) sobre os mesmos dados da área de sócios.
Autenticação
Autentique seu cliente no Lovable Cloud (Supabase Auth) usando a URL e a chave pública abaixo. Em cada chamada, envie o access token:
Authorization: Bearer <access_token>SUPABASE_URL:
import.meta.env.VITE_SUPABASE_URL (disponível também em /env do app)PUBLISHABLE_KEY: idem (VITE_SUPABASE_PUBLISHABLE_KEY)
Endpoints
| Método | Caminho | Acesso | Descrição |
|---|---|---|---|
| POST | /api/v1/contato | público | Envia mensagem de contato. Body: {nome, email, assunto, mensagem} |
| POST | /api/v1/inscricao-socio | público | Solicita inscrição. Body: {nome, email, telefone, data_nascimento?, mensagem?} |
| GET | /api/v1/professores | público | Lista professores ativos. |
| GET | /api/v1/clube/info | público | Informações institucionais do clube. |
| GET | /api/v1/me | sócio | Perfil + handicap + papéis do usuário autenticado. |
| GET | /api/v1/handicap | sócio | Handicap atual + últimas 20 voltas. |
| POST | /api/v1/handicap | sócio | Registra volta. Body: {data_volta, campo, score, course_rating, slope_rating, par?} |
| GET | /api/v1/aulas/slots | sócio | Lista slots disponíveis. Query: ?from=ISO&to=ISO |
| GET | /api/v1/aulas/agendamentos | sócio | Meus agendamentos. |
| POST | /api/v1/aulas/agendamentos | sócio | Agenda um slot. Body: {slot_id} |
| DELETE | /api/v1/aulas/agendamentos/:id | sócio | Cancela um agendamento. |
Resposta padrão
// Sucesso
{ "data": { ... }, "error": null }
// Erro
{ "data": null, "error": { "message": "...", "code": "validation" } }Exemplo cURL
curl https://smgolfe.lovable.app/api/v1/me \
-H "Authorization: Bearer $ACCESS_TOKEN"