Documentazione completa degli endpoint REST e WebSocket. Tutte le richieste autenticate richiedono header Authorization: Bearer <jwt_token>
Base URL: https://shutappchat.fabiodirauso.it/api/v2/
Registra un nuovo utente
Parametro | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
username | string | Sì | 3-20 caratteri |
password | string | Sì | Minimo 6 caratteri |
nickname | string | Sì | Nome visualizzato |
Login utente esistente
Parametro | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
username | string | Sì | Username |
password | string | Sì | Password |
Rinnova il token JWT (richiede token valido)
Cerca utenti per username
Parametro | Tipo | Descrizione |
---|---|---|
q | string | Query di ricerca (minimo 2 caratteri) |
Ottieni profilo pubblico di un utente
Ottieni il proprio profilo completo
Aggiorna nickname e stato
Parametro | Tipo | Descrizione |
---|---|---|
nickname | string | Nuovo nickname |
status | string | Stato (es. "Disponibile") |
Aggiorna immagine profilo
Lista di tutti i contatti accettati
Richieste di contatto in sospeso
Invia richiesta di amicizia
Parametro | Tipo | Descrizione |
---|---|---|
recipient_username | string | Username destinatario |
Rispondi a una richiesta (accetta/rifiuta)
Parametro | Tipo | Valori |
---|---|---|
request_id | int | ID richiesta |
action | string | "accept" o "reject" |
Rimuovi un contatto
Invia un messaggio (1-a-1 o gruppo)
Parametro | Tipo | Descrizione |
---|---|---|
recipient_id | int | ID utente destinatario (per chat 1-a-1) |
group_id | int | ID gruppo (per messaggi di gruppo) |
content | string | Testo del messaggio |
media_id | int | ID media allegato (opzionale) |
Ottieni messaggi pendenti (non consegnati durante offline)
Crea una sessione di upload media
Parametro | Tipo | Descrizione |
---|---|---|
filename | string | Nome file originale |
file_size | int | Dimensione in byte |
media_type | string | "image", "video", "document" |
Upload del file binario
Lista gruppi di cui fai parte
Crea un nuovo gruppo
Parametro | Tipo | Descrizione |
---|---|---|
group_name | string | Nome gruppo |
description | string | Descrizione |
mode | string | "OPEN" (tutti postano) / "RESTRICTED" (solo admin) |
Informazioni dettagliate gruppo
Lista membri del gruppo
Aggiungi membri (solo admin)
Parametro | Tipo | Descrizione |
---|---|---|
user_ids | int[] | Array di ID utenti |
Rimuovi membro (solo admin)
Cambia ruolo membro
Parametro | Tipo | Valori |
---|---|---|
role | string | "ADMIN" o "MEMBER" |
Modifica impostazioni gruppo (solo admin)
Parametro | Tipo | Descrizione |
---|---|---|
group_name | string | Nuovo nome |
description | string | Nuova descrizione |
mode | string | "OPEN" o "RESTRICTED" |
Elimina gruppo (solo admin creatore)
URL: wss://shutappchat.fabiodirauso.it/ws
Tipo | Payload | Descrizione |
---|---|---|
message | {"recipient_id":1,"content":"..."} | Messaggio diretto |
group_message | {"group_id":5,"content":"..."} | Messaggio gruppo |
typing | {"recipient_id":1,"isTyping":true} | Stato digitazione |
read_receipt | {"message_id":123} | Conferma lettura |
Tipo | Descrizione |
---|---|
message | Nuovo messaggio ricevuto |
group_message | Messaggio gruppo ricevuto |
system | Notifica di sistema |
group_updated | Gruppo modificato |
session_expired | Token scaduto, riconnettiti |
typing | Utente sta digitando |
Endpoint | Limite | Finestra |
---|---|---|
/auth/* | 10 richieste | 1 minuto |
/api/v2/* (generale) | 100 richieste | 1 minuto |
/media/* | 20 richieste | 1 minuto |
WebSocket messages | 50 messaggi | 1 minuto |
Codice | Significato |
---|---|
400 | Bad Request - Parametri mancanti/non validi |
401 | Unauthorized - Token mancante/non valido |
403 | Forbidden - Permessi insufficienti |
404 | Not Found - Risorsa non trovata |
429 | Too Many Requests - Rate limit superato |
500 | Internal Server Error - Errore server |