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/connections

Authentification

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
idstring

Identifiant unique du contact (partenaire ou admin).

namestring

Nom affiché du contact.

emailstring

Adresse e-mail du contact.

imagestring

URL de l’image de profil, ou null si non définie.

phonestring

Numéro de téléphone, ou null si indisponible.

rolestring

Toujours "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 conversationFormat du room IDExemple
Partenaire ↔ Technicienroom_{id1_trié}_{id2_trié}room_partner_abc123_handyman_xyz456
Admin ↔ Partenaireroom_admin_{partnerId}room_admin_partner_abc123
Admin ↔ Technicienroom_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.