Accedi

Panoramica dell'API

Documentazione completa dell'API per l'integrazione con Cliqer

La Client API è l'add-on API: con i piani Presenter, Studio HD e Studio 4K si acquista, mentre Studio 8K ed Enterprise la includono. Le chiavi API a lunga durata per l'accesso non presidiato da server a server agli endpoint REST vengono generate sui piani Studio 8K ed Enterprise: consulta Autenticazione con chiave API. Confronta i piani.

Documentazione completa dell'API di Cliqer, che copre gli endpoint REST e la comunicazione in tempo reale via WebSocket.

URL di base

https://cliqer.io/api

Tutti gli endpoint dell'API sono relativi all'URL di base del server Cliqer a cui ti connetti.

Esempi di codice: negli esempi curl/Python/Go, sostituisci $BASE_URL con l'URL della tua istanza Cliqer (ad es. https://cliqer.io). Negli esempi WebSocket, sostituisci $WS_URL con wss://cliqer.io. Gli esempi TypeScript usano percorsi relativi e funzionano senza modifiche.

Autenticazione

Cliqer esegue l'autenticazione tramite un cookie di sessione httpOnly (session_token), generato da POST /api/auth/login. I browser lo inviano automaticamente; gli strumenti da server a server lo conservano in un cookie jar. I team Studio 8K ed Enterprise possono anche generare chiavi API per le richieste REST da server a server, inviate come Authorization: Bearer cliqer_<key> (la gestione delle chiavi richiede il piano Studio 8K o Enterprise). Il WebSocket non accetta chiavi API: per connetterti usa un token di sessione.

# 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>

Alcuni endpoint non richiedono una sessione, ad esempio POST /api/licenses/validate, che è pubblico.

Consulta Autenticazione per l'accesso, la rotazione della sessione e le best practice di sicurezza.

Sezioni dell'API

Autenticazione

Accesso, rotazione della sessione e best practice di sicurezza.

WebSocket in tempo reale

Controlla una stanza dal tuo software come un telecomando per presentazioni a distanza: slide, timer, puntatore laser e messaggi all'host.

Licenze

Convalida delle licenze, attivazione e gestione dei dispositivi.

Ciclo di vita delle richieste

Risposte di errore

Tutti gli endpoint restituiscono risposte di errore standard:

StatoDescrizione
400Bad Request - Parametri mancanti o non validi
401Unauthorized - Nessun cookie di sessione valido
403Forbidden - Autorizzazioni insufficienti oppure origine non consentita
404Not Found - Risorsa non trovata
409Conflict - Ad es. raggiunto il limite di postazioni per l'attivazione della licenza
429Too Many Requests - Limite di frequenza superato (vedi Retry-After)
500Internal Server Error

Formato della risposta di errore:

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

Limitazione della frequenza

La maggior parte degli endpoint applica un limite di frequenza per IP del client, con una finestra fissa di 60 secondi su tre livelli. Quando una richiesta supera il limite, il server risponde 429 Too Many Requests con un'intestazione Retry-After: 60. Non è previsto alcun blocco progressivo/esponenziale e non viene restituita alcuna intestazione X-RateLimit-Remaining.

IntestazioneDescrizione
Retry-AfterSecondi mancanti al ripristino della finestra (60, inviata solo con un 429)

Livelli di limitazione della frequenza

LivelloRichieste / 60 sSi applica a
Rigoroso5POST /api/licenses/validate e gli endpoint di accesso (POST /api/auth/login, registrazione, reimpostazione della password, passaggi di passkey e 2FA)
Standard30GET /api/licenses/status, POST /api/licenses/deactivate, GET /api/auth/me, POST /api/auth/logout
Moderato60Endpoint di lettura ad alto volume

Due endpoint applicano un secondo limite Rigoroso basato sulla credenziale anziché sull'IP, così un singolo obiettivo non può essere bersagliato da molti indirizzi diversi: POST /api/licenses/validate usa come chiave la license_key e POST /api/auth/login l'indirizzo email.

Il superamento di un livello restituisce 429 per il resto della finestra di 60 secondi. I limiti di frequenza vengono imposti dal server stesso, prima che l'endpoint esegua la propria elaborazione.