Skip to Content
Referencia de la API

Referencia de la API

GoConverso expone una API REST construida sobre Supabase , brindandote acceso programatico a tus reservas, servicios, clientes, productos y mas. Cada accion que puedes realizar en el panel de control tambien esta disponible a traves de la API.

La API de GoConverso sigue convenciones RESTful y devuelve respuestas JSON. Todas las solicitudes deben estar autenticadas usando un token JWT o tu clave API del proyecto.

URL base

Todas las solicitudes de la API se realizan al endpoint de tu proyecto Supabase:

https://<project-id>.supabase.co/rest/v1/

Para edge functions (webhooks, logica personalizada):

https://<project-id>.supabase.co/functions/v1/

Autenticacion

Cada solicitud debe incluir encabezados de autenticacion. GoConverso soporta dos metodos:

MetodoCaso de usoEncabezado
Clave APIIntegraciones servidor a servidorapikey: <your-anon-key>
Token JWTSolicitudes con alcance de usuarioAuthorization: Bearer <jwt-token>

Ambos encabezados deben incluirse en la mayoria de las solicitudes. La clave API identifica tu proyecto, y el token JWT identifica al usuario autenticado.

curl -X GET "https://<project-id>.supabase.co/rest/v1/services" \ -H "apikey: <your-anon-key>" \ -H "Authorization: Bearer <jwt-token>" \ -H "Content-Type: application/json"

Aprende mas en la guia de Autenticacion.

Limites de tasa

GoConverso aplica limites de tasa para garantizar la estabilidad de la plataforma:

NivelSolicitudes por minutoConexiones simultaneas
Free605
Plus30020
Pro1,00050
Max5,000100
Ultra10,000200

Cuando excedes el limite de tasa, la API devuelve una respuesta 429 Too Many Requests con un encabezado Retry-After indicando cuantos segundos debes esperar.

Formato de respuesta

Todas las respuestas exitosas devuelven JSON con codigos de estado HTTP estandar:

{ "id": "550e8400-e29b-41d4-a716-446655440000", "created_at": "2026-01-15T10:30:00.000Z", "name": "Haircut", "price": 35.00, "duration": 30 }

Las respuestas de error siguen una estructura consistente:

{ "code": "PGRST301", "message": "Row not found", "details": null, "hint": null }

Seguridad a Nivel de Fila

GoConverso usa Seguridad a Nivel de Fila (RLS) de Supabase en todas las tablas. Esto significa:

  • Los usuarios autenticados solo pueden acceder a sus propios datos
  • Los endpoints publicos (como paginas de reserva) usan la clave anonima con politicas restringidas
  • La clave de rol de servicio omite RLS completamente — nunca expongas esta clave en codigo del lado del cliente

Nunca expongas tu clave service_role en codigo frontend o repositorios publicos. Esta clave omite todas las politicas de Seguridad a Nivel de Fila y otorga acceso completo a tu base de datos.

Secciones de la API

Ejemplo rapido

Aqui hay un ejemplo completo que obtiene todos los servicios del usuario autenticado:

import { createClient } from '@supabase/supabase-js' const supabase = createClient( 'https://<project-id>.supabase.co', '<your-anon-key>' ) // Iniciar sesion const { data: auth } = await supabase.auth.signInWithPassword({ email: 'you@example.com', password: 'your-password' }) // Obtener servicios const { data: services, error } = await supabase .from('services') .select('*') .eq('professional_id', auth.user.id) .order('created_at', { ascending: false }) if (error) { console.error('Error fetching services:', error.message) } else { console.log('Services:', services) }

Necesitas ayuda para comenzar? Consulta la guia de Autenticacion para obtener tus credenciales de API.