Aide
POST /api/v1/chat/send — envoyer un message
Envoyer un message texte à un partenaire, un technicien ou un administrateur via l’API Chat HeyZack. Un seul identifiant de destinataire par requête.
Ce point de terminaison envoie un message texte depuis votre compte authentifié vers un autre utilisateur du réseau HeyZack. Le destinataire est identifié par exactement un parmi handymanId, partnerId ou adminId, selon le sens de la conversation. Le chat partenaire ↔ technicien exige que les deux profils soient liés par un chantier ou une installation.
Point de terminaison
POST /api/v1/chat/sendAuthentification
Jeton Bearer obligatoire. Voir Authentification.
Corps de la requête
messagestringbodyrequiredContenu texte du message à envoyer.
handymanIdstringbodyID du technicien destinataire. À utiliser lorsqu’un partenaire ou un admin envoie à un technicien.
partnerIdstringbodyID du partenaire destinataire. À utiliser lorsqu’un technicien ou un admin envoie à un partenaire.
adminIdstringbodyID de l’admin destinataire. À utiliser lorsqu’un partenaire ou un technicien envoie à un admin.
Note
Exactement un parmi handymanId, partnerId ou adminId doit être présent dans chaque requête. Zéro ou plusieurs de ces champs provoquent une erreur 400.
Exemples
{
"handymanId": "handyman_xyz456",
"message": "Hello! I have a question about the installation tomorrow."
}{
"partnerId": "partner_abc123",
"message": "I'll be there at 10 AM."
}{
"adminId": "admin_xyz789",
"message": "I need help with my account settings."
}{
"adminId": "admin_xyz789",
"message": "I have a question about payment."
}{
"partnerId": "partner_abc123",
"message": "Thank you for reaching out. How can I assist you?"
}{
"handymanId": "handyman_xyz456",
"message": "Your payment has been processed."
}Réponse de succès
Renvoie 200 OK avec l’objet message créé sous la clé data.
idstringIdentifiant unique du message.
roomIdstringSalle de chat concernée. Les identifiants de salle sont déterministes selon les participants.
senderIdstringID de l’expéditeur (votre utilisateur authentifié).
messagestringTexte envoyé.
messageTypestringToujours "text" pour ce point de terminaison.
createdAtstringHorodatage ISO 8601 de création du message.
{
"message": "Message sent successfully",
"data": {
"id": "msg_123456",
"roomId": "room_admin_partner_abc123",
"senderId": "user_abc123",
"message": "I need help with my account settings.",
"messageType": "text",
"createdAt": "2024-01-16T10:30:00.000Z"
}
}Réponses d’erreur
| Statut | Message d’erreur | Cause |
|---|---|---|
| 400 | "partnerId, handymanId, or adminId is required" | Aucun ID destinataire fourni |
| 400 | "Admin can only chat with either partner or handyman, not both" | L’admin a fourni plus d’un ID destinataire |
| 400 | "Invalid recipient role" | L’ID ne correspond pas à un rôle valide |
| 403 | "Handyman and partner are not connected" | Partenaire et technicien non liés par un chantier ou une installation |
| 404 | "Recipient user not found" | Aucun utilisateur pour cet ID |
| 500 | "Internal server error" | Erreur serveur inattendue |