Langage :
Amis & Appels
Gestion des amis, des demandes, du blocage et de l'historique des appels.
Amis — /api/friends
GET
/api/friendsListe des amis de l'utilisateur connecté
GET
/api/friends/requestsDemandes d'ami → { received: [], sent: [] }
GET
/api/friends/blockedListe des utilisateurs bloqués
POST
/api/friends/requestEnvoyer une demande — body: { toUserId, message? } ⚡ émet WS FRIEND_REQUEST au destinataire
POST
/api/friends/requests/:id/acceptAccepter ⚡ émet WS FRIEND_ACCEPT aux deux utilisateurs
POST
/api/friends/requests/:id/declineRefuser une demande
DELETE
/api/friends/:friendIdSupprimer un ami ⚡ émet WS FRIEND_REMOVE aux deux utilisateurs
POST
/api/friends/:targetId/blockBloquer un utilisateur
POST
/api/friends/:targetId/unblockDébloquer un utilisateur
⚡ Side-effects WebSocket
Certaines routes amis déclenchent des notifications WebSocket en temps réel. Si le destinataire est hors ligne, il recevra l'événement via
PENDING_PINGS à sa prochaine connexion.Envoyer une demande d'ami
js
const res = await fetch('https://gateway.alfychat.app/api/friends/request', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
toUserId: 'u2b3c4d5-...',
message: 'Salut, je te connais du serveur AlfyChat !',
}),
});
// L'utilisateur cible reçoit l'event WS FRIEND_REQUEST en temps réelAppels — /api/calls
GET
/api/callsHistorique des appels (manqués, effectués, reçus)
POST
/api/callsCréer un appel (usage interne — préférer l'event WebSocket CALL_INITIATE)
GET
/api/calls/:idDétails d'un appel spécifique (durée, participants, type)
Appels WebRTC — via WebSocket uniquement
Pour initier un appel, utilisez l'event WebSocket
CALL_INITIATE. Tout le signaling WebRTC (offer / answer / ICE) se fait via Socket.IO. L'API REST /api/callssert uniquement à consulter l'historique.