Iniciar sesión

Descripción general de la API

Documentación completa de la API para integrarte con Cliqer

La API de cliente es el complemento API: los planes Presenter, Studio HD y Studio 4K lo compran, y Studio 8K y Enterprise lo incluyen. Las claves de API de larga duración para el acceso desatendido de servidor a servidor a los endpoints REST se generan en los planes Studio 8K y Enterprise; consulta Autenticación con clave de API. Compara los planes.

Documentación completa de la API de Cliqer, que abarca los endpoints REST y la comunicación en tiempo real por WebSocket.

URL base

https://cliqer.io/api

Todos los endpoints de la API son relativos a la URL base del servidor de Cliqer al que te conectas.

Ejemplos de código: en los ejemplos de curl/Python/Go, sustituye $BASE_URL por la URL de tu instancia de Cliqer (p. ej., https://cliqer.io). En los ejemplos de WebSocket, sustituye $WS_URL por wss://cliqer.io. Los ejemplos de TypeScript usan rutas relativas y funcionan sin modificaciones.

Autenticación

Cliqer se autentica con una cookie de sesión httpOnly (session_token), generada por POST /api/auth/login. Los navegadores la envían automáticamente; las herramientas de servidor a servidor la guardan en un almacén de cookies. Los equipos de Studio 8K y Enterprise también pueden generar claves de API para solicitudes REST de servidor a servidor, enviadas como Authorization: Bearer cliqer_<key> (la gestión de claves requiere el plan Studio 8K o Enterprise). El WebSocket no acepta claves de API: conéctalo con un token de sesión.

# The session cookie is set by /api/auth/login and sent on every subsequent request
Cookie: session_token=YOUR_SESSION_TOKEN

# Or authenticate a server-to-server REST request with a team API key
Authorization: Bearer cliqer_<key>

Algunos endpoints no necesitan sesión, como POST /api/licenses/validate, que es público.

Consulta Autenticación para ver el inicio de sesión, la rotación de sesiones y las buenas prácticas de seguridad.

Secciones de la API

Autenticación

Inicio de sesión, rotación de sesiones y buenas prácticas de seguridad.

WebSocket en tiempo real

Controla una sala desde tu propio software como si fuera un control remoto para presentaciones: diapositivas, el temporizador, un puntero láser y mensajes al anfitrión.

Licencias

Validación y activación de licencias, y gestión de dispositivos.

Ciclo de vida de una solicitud

Respuestas de error

Todos los endpoints devuelven respuestas de error estándar:

EstadoDescripción
400Solicitud incorrecta: faltan parámetros o no son válidos
401No autorizado: no hay ninguna cookie de sesión válida
403Prohibido: permisos insuficientes u origen no permitido
404No encontrado: no se ha encontrado el recurso
409Conflicto: p. ej., se ha alcanzado el límite de puestos de activación de la licencia
429Demasiadas solicitudes: se ha superado el límite de frecuencia (consulta Retry-After)
500Error interno del servidor

Formato de la respuesta de error:

{
  "statusCode": 400,
  "statusMessage": "Description of the error"
}

Limitación de frecuencia

La mayoría de los endpoints tienen un límite de frecuencia por IP de cliente, con una ventana fija de 60 segundos y tres niveles. Cuando una solicitud supera el límite, el servidor responde 429 Too Many Requests con una cabecera Retry-After: 60. No hay bloqueo progresivo/exponencial y no se devuelve ninguna cabecera X-RateLimit-Remaining.

CabeceraDescripción
Retry-AfterSegundos hasta que se reinicia la ventana (60, solo se envía con un 429)

Niveles de límite de frecuencia

NivelSolicitudes / 60 sSe aplica a
Estricto5POST /api/licenses/validate y los endpoints de inicio de sesión (POST /api/auth/login, registro, restablecimiento de contraseña, pasos de llave de acceso y 2FA)
Estándar30GET /api/licenses/status, POST /api/licenses/deactivate, GET /api/auth/me, POST /api/auth/logout
Relajado60Endpoints de lectura de alto volumen

Dos endpoints aplican un segundo límite Estricto basado en la credencial en lugar de en la IP, para que no se pueda atacar un mismo objetivo desde muchas direcciones: POST /api/licenses/validate se basa en la license_key y POST /api/auth/login, en la dirección de correo electrónico.

Si superas un nivel, recibirás 429 durante el resto de la ventana de 60 segundos. El propio servidor impone los límites de frecuencia antes de que el endpoint haga su trabajo.