Introduccion a la API
Vista general de la API REST de Didia: URL base, autenticacion, formato de respuestas y SDKs disponibles.
Que es la API de Didia
La API REST de Didia te permite integrar tu academia con aplicaciones externas, automatizar procesos y construir experiencias personalizadas. Con ella puedes consultar cursos, gestionar inscripciones, acceder a datos de estudiantes y procesar informacion de pagos de forma programatica.
La API esta disponible en todos los planes de Didia (Pro y Enterprise) sin costo adicional. El acceso se controla mediante rate limits que varian segun tu plan.
URL base
Todas las peticiones a la API usan la siguiente URL base, donde tu-academia es el slug de tu academia:
https://tu-academia.didia.io/api/v1
Si utilizas un dominio personalizado, la URL base sera:
https://tu-dominio.com/api/v1
Autenticacion
La API utiliza tokens JWT de Supabase para autenticar las peticiones. Incluye el token en el header Authorization:
Authorization: Bearer tu-token-jwt
Para obtener un token, autentica al usuario mediante el flujo de login de Supabase Auth. Consulta el articulo de Autenticacion para instrucciones detalladas sobre como obtener y renovar tokens.
Formato de respuestas
Todas las respuestas se devuelven en formato JSON con codificacion UTF-8.
Las respuestas exitosas incluyen el campo data con los resultados:
{ "data": [...], "count": 25, "page": 1 }
Las respuestas de error incluyen un codigo de estado HTTP apropiado y un mensaje descriptivo:
{ "error": "Not found", "message": "El curso no existe", "status": 404 }
Paginacion
Los endpoints que devuelven listas soportan paginacion con los parametros page y limit:
page— numero de pagina (default: 1).limit— registros por pagina (default: 20, maximo: 100).
Ejemplo: GET /api/v1/courses?page=2&limit=10 devuelve los cursos 11-20.
SDK y librerias
La API es compatible con el cliente oficial de Supabase JavaScript. Puedes usar @supabase/supabase-js para interactuar con la base de datos y autenticacion directamente desde tu aplicacion frontend o backend en Node.js.
Preguntas frecuentes
-
¿La API tiene costo adicional?
No. La API esta incluida en todos los planes de Didia sin costo adicional. Solo aplican los rate limits segun tu plan (60 req/min en Trial, 300 en Pro, 1000 en Enterprise).
-
¿Puedo usar la API desde una aplicacion frontend?
Si, pero con precauciones. Usa tokens JWT de usuario (no la Service Role Key) en aplicaciones frontend. Los tokens JWT estan protegidos por Row Level Security, lo que asegura que cada usuario solo acceda a sus propios datos.
-
¿Hay un SDK oficial para Python o PHP?
No hay un SDK especifico de Didia, pero puedes usar el cliente oficial de Supabase para Python (
supabase-py) o PHP (supabase-php) para interactuar con la API. La autenticacion y estructura de datos son las mismas. -
¿La API soporta GraphQL?
No. La API es REST sobre Supabase/PostgreSQL. Si necesitas consultas mas flexibles, puedes usar el cliente de Supabase que permite queries con filtros, seleccion de campos y joins.
-
¿Puedo crear un curso completo via API?
Si. Los endpoints de cursos permiten crear, editar y eliminar cursos, modulos y lecciones programaticamente. Esto es util para migraciones masivas o integraciones con otros sistemas de gestion de contenido.