Autenticazione
L'API di connessione utilizza l'autenticazione tramite token Bearer. Tutte le richieste devono includere un token di accesso JWT valido nell'intestazione Authorization.
Ottieni un gettone
Invia le tue credenziali tramite POST all'endpoint di autenticazione. Riceverai un access_token di breve durata e un refresh_token di durata maggiore.
Utilizzare il token
Includi il token in ogni richiesta:
{
"email": "admin@yourorg.com",
"password": "••••••••"
}{
"access_token": "eyJhbG...",
"refresh_token": "dGhpcw...",
"expires_in": 3600,
"token_type": "Bearer"
}URL di base e versioning
Tutti gli endpoint API sono versionati sotto /api/v1/. L'URL di base dipende dalla configurazione del tuo sistema.
Per le implementazioni in cloud, utilizzare l'endpoint regionale assegnato all'organizzazione. Per le implementazioni su server locali, utilizzare il nome host del server.
| Ambiente | URL di base |
|---|---|
| Cloud (USA) | https://beta.connection.app/api/v1 |
| In loco | https://<your-server>/api/v1 |
Tutti i corpi delle richieste e delle risposte utilizzano application/json. Includere Content-Type: application/json nelle richieste con un corpo.
Errori e codici di stato
L'API utilizza i codici di stato HTTP standard. Le risposte di errore includono un codice leggibile dalla macchina e un messaggio leggibile dall'uomo.
| Stato | Senso |
|---|---|
| 200 | Successo |
| 201 | Creato |
| 400 | Richiesta non valida: parametri non validi |
| 401 | Non autorizzato: token mancante o scaduto |
| 403 | Accesso vietato: autorizzazioni insufficienti. |
| 404 | Non trovato |
| 500 | Errore interno del server |
{
"error": {
"code": "device_not_found",
"message": "No device with that UUID exists in your organization",
"status": 404
}
}Panoramica delle API REST
L'API REST di Connection Server fornisce accesso programmatico completo alla flotta di dispositivi, all'infrastruttura di comunicazione e agli strumenti di analisi. Segue le convenzioni RESTful con corpi di richiesta/risposta in formato JSON.
Autenticazione
Autenticazione basata su token. Il login restituisce un token che deve essere inviato come autorizzazione: Token<token> su tutte le richieste successive.
Utenti
Crea e gestisci gli account utente. L'endpoint GET /users/user restituisce l'utente attualmente autenticato.
Dispositivi
Elenca e ispeziona i dispositivi, gestisci le associazioni utente-dispositivo, leggi e scrivi le impostazioni e lo stato di ciascun dispositivo, gestisci il firmware e le immagini di archiviazione e ricevi i registri e i rapporti di arresto anomalo.
Proxy CBBP
Invia qualsiasi comando CBBP a un dispositivo tramite il server. Il server inoltra il comando tramite la connessione Wi-Fi del dispositivo e restituisce la risposta del dispositivo. La risposta outgoing-make include anche un messaggio CBBPMessage che il dispositivo esegue immediatamente.
Il corpo della richiesta è un involucro di comando CBBP. L'oggetto CBBPCommand memorizzato tiene traccia dello stato di consegna: NON IMPOSTATO → INVIATO → RICEVUTO o TIMED_OUT.
{
"outgoingMessage": {
"command": "WiFiScan"
}
}{
"uuid": "a3f2...",
"status": "SENT",
"device": "d7f3a1b2-...",
"dateSent": "2025-09-15T14:22:01Z",
"outgoingMessage": { /* echoed */ },
"incomingMessage": null
}Canali
I canali sono gli elementi fondamentali della comunicazione. I tipi includono ChannelPeople, ChannelGroup, ChannelContact, ChannelContactNumber, ChannelExternalNumber, ChannelService e ChannelRecorder.
Comunicazione
Avviare e gestire sessioni di comunicazione attive: chiamate in uscita, VCP, registrazioni e streaming di contenuti. La risposta di chiamata in uscita include un messaggio CBBPMessage sul quale il dispositivo agisce immediatamente.
Ponte audio
Accedi alle registrazioni delle conversazioni di bridge, incluse le trascrizioni complete, gli elenchi dei partecipanti e i riepiloghi generati dall'IA. Supporta diversi modelli di riepilogo (appunti di riunione, appunti di lezione, ambito sanitario, ecc.) e la generazione di sintesi vocale (TTS) per i riepiloghi.
Conversazioni
Sessioni di conversazione basate sull'intelligenza artificiale tramite ChatGPT, Gemini o il motore nativo. Supporta diversi profili utente (medico, tutor, meccanico, ecc.) e una cronologia dei messaggi impaginata.
Contenuto
Esplora e riproduci contenuti audio in streaming sui tuoi dispositivi. I contenuti sono organizzati in una struttura ad albero per categorie; i contenuti più popolari possono essere filtrati per città, regione o paese.
Posizioni
Risolve le coordinate geografiche in un oggetto strutturato che rappresenta città, regione e paese. Utilizzato dai dispositivi per acquisire il contesto.
Notifiche push
Registra un'app mobile per ricevere le notifiche push di FCM. Supporta dispositivi iOS, Android e web.
Magazzinaggio
Scarica i file memorizzati sugli oggetti del modello ed esegui la rimozione dello sfondo dell'immagine (restituisce un risultato codificato in base64).
Operazioni di massa
Esegui più operazioni API in una singola richiesta HTTP. Imposta single_transaction=true per racchiudere tutte le operazioni in un'unica transazione atomica: un errore su qualsiasi elemento annullerà l'intero batch.
Data e ora
Restituisce la data e l'ora correnti del server in formato GMT+0. Non richiede autenticazione. Utilizzato dai dispositivi per sincronizzare il proprio orologio interno.
Protocollo base Com Badge
CBBP è un protocollo di comandi JSON leggero per l'interazione diretta con i badge di connessione. Offre il pieno controllo su ogni funzione hardware e software del dispositivo.
Formato di comunicazione
Ogni interazione CBBP consiste in un messaggio di comando inviato al dispositivo e in un messaggio di risultato restituito dal dispositivo.
Il campo oggetto, sia nella richiesta che nella risposta, contiene dati specifici del comando e può essere omesso quando non necessario.
{
"command": "command_name",
"object": {
// optional command parameters
}
}{
"result": 0, // 0 = success, -1 = error
"detail": "ok", // human-readable status
"object": { // optional response data
// command-specific fields
}
}Trasporto
I messaggi CBBP possono essere recapitati a un badge tramite tre diversi protocolli di trasporto, a seconda dell'architettura di integrazione.
Bluetooth (App)
Invia comandi CBBP direttamente da un'app mobile tramite BLE. Richiede che il dispositivo sia associato e si trovi nel raggio d'azione.
SDK per dispositivi mobiliWi-Fi o Bluetooth tramite server
Eseguire il proxy CBBP tramite l'API REST — POST /devices//cbbp. Il server instrada automaticamente la richiesta al dispositivo tramite Wi-Fi o Bluetooth a seconda di come è connesso il badge. Questa soluzione è la più comune per le integrazioni backend.
API RESTDispaccio interno
Inoltro CBBP a livello di dispositivo o tra processi. Utilizzato dal firmware del badge per instradare i comandi tra i sottosistemi interni.
Solo firmwareComandi di alimentazione
Controllo dello stato di alimentazione del dispositivo: sospensione, riattivazione, riavvio e ripristino delle impostazioni di fabbrica.
Comandi WiFi
Configura le reti wireless, esegui la scansione degli access point, verifica lo stato della connessione e gestisci le credenziali salvate.
Comandi Bluetooth
Gestisci la pubblicità BLE, l'accoppiamento e la comunicazione tra badge.
Comandi delle impostazioni
Lettura e scrittura della configurazione del dispositivo: nome visualizzato, fuso orario, lingua e flag delle funzionalità.
Comandi del firmware
Avvia gli aggiornamenti firmware OTA, verifica lo stato degli aggiornamenti e interroga la versione firmware corrente sul dispositivo.
Comandi del dispositivo
Ciclo di vita del dispositivo, autenticazione, configurazione, registrazione, stato e controllo hardware.
Comandi di comunicazione
Avviare chiamate, inviare messaggi, gestire sessioni di comunicazione attive e controllare le registrazioni.
Comandi audio
Consente di controllare il volume degli altoparlanti, il guadagno del microfono, i profili audio e la riproduzione della sintesi vocale.
Comandi LED
Imposta il colore, la luminosità e le animazioni del LED sull'indicatore luminoso del badge.
Comandi interni
Comandi di dispatch interni utilizzati per la trasmissione del contesto, la cronologia del canale, la vocalizzazione e la decodifica audio.
Comandi mobili
Comandi per coordinare il badge con un'app mobile associata: notifiche push, sincronizzazione dello stato dell'app e deep linking.