Aide
GET /api/v1/chat/connections — liste des contacts
Récupère les utilisateurs avec lesquels vous pouvez chatter dans le portail HeyZack. La forme de la réponse dépend de votre rôle — partenaire, technicien ou administrateur.
Ce point de terminaison renvoie la liste des contacts disponibles pour le chat. Aucun paramètre de requête n’est nécessaire — l’API déduit votre rôle à partir du jeton Bearer et renvoie le jeu de contacts adapté. Les partenaires voient leurs techniciens connectés plus l’administrateur. Les techniciens voient leurs partenaires connectés plus l’administrateur. Les administrateurs voient tous les partenaires et techniciens de la plateforme.
Point de terminaison
GET /api/v1/chat/connectionsAuthentification
Jeton Bearer obligatoire. Voir Authentification.
Paramètres de requête
Aucun. L’identité et le rôle sont dérivés du jeton.
Exemple
curl "https://<your-portal-domain>/api/v1/chat/connections" \
-H "Authorization: Bearer <your-token>"Réponse selon le rôle
La forme du tableau connections varie légèrement selon le rôle. Pour les partenaires et l’admin, les entrées technicien incluent les champs availability_status et rating.
Un technicien reçoit tous les partenaires auxquels il est connecté, plus le compte administrateur.
connectionsobject[]Liste des contacts disponibles pour ce technicien.
Propriétés d’une connexion
idstringIdentifiant unique du contact (partenaire ou admin).
namestringNom affiché du contact.
emailstringAdresse e-mail du contact.
imagestringURL de l’image de profil, ou null si non définie.
phonestringNuméro de téléphone, ou null si indisponible.
rolestringToujours "handyman" pour ce rôle.
{
"data": {
"connections": [
{
"id": "partner_abc123",
"name": "John Doe",
"email": "john@example.com",
"image": "https://example.com/image.jpg",
"phone": "+1234567890"
},
{
"id": "partner_def456",
"name": "Jane Smith",
"email": "jane@example.com",
"image": null,
"phone": "+0987654321"
},
{
"id": "admin_xyz789",
"name": "Heyzack Admin",
"email": "admin@heyzack.ai",
"image": null,
"phone": null
}
],
"role": "handyman"
}
}Format des identifiants de salle (roomId)
À l’ouverture d’une conversation, l’identifiant de salle est dérivé de façon déterministe des identifiants des participants. Ce roomId apparaît dans les réponses des messages et de l’historique.
| Type de conversation | Format du room ID | Exemple |
|---|---|---|
| Partenaire ↔ Technicien | room_{id1_trié}_{id2_trié} | room_partner_abc123_handyman_xyz456 |
| Admin ↔ Partenaire | room_admin_{partnerId} | room_admin_partner_abc123 |
| Admin ↔ Technicien | room_admin_{handymanId} | room_admin_handyman_xyz456 |
Note
Pour les salles partenaire–technicien, les deux identifiants sont triés alphabétiquement avant concaténation, afin que les deux parties utilisent toujours la même salle quel que soit l’initiateur.