API Rendez-vous (intégration CRM)
Si vous exploitez votre propre CRM, ERP ou écran de réservation, vous pouvez piloter les rendez-vous Conviro via une API REST simple. Les réservations par API utilisent le même moteur que la réservation dans le chat : la disponibilité est recalculée côté serveur selon vos horaires et votre calendrier connecté (Google, Outlook ou flux ICS), le client reçoit l'e-mail de confirmation avec fichier calendrier et lien de gestion, et votre équipe reçoit les notifications habituelles.
Prérequis
- Les rendez-vous configurés pour votre assistant : Dashboard -> Assistants -> [votre bot] -> Setup -> Scheduling.
- Un calendrier connecté : Google Calendar, Outlook / Microsoft 365, un flux ICS (Apple/iCloud, Fastmail, Nextcloud, ...) ou le calendrier interne intégré.
- Une clé API avec les bons scopes : Dashboard -> Settings -> API Keys ; cochez Appointments Read et/ou Appointments Write.
Authentification
Envoyez votre clé dans l'en-tête Authorization à chaque requête :
Authorization: Bearer YOUR_API_KEY
URL de base : https://api.conviro.io
1. Lister les créneaux libres
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.conviro.io/v1/api/appointments/slots?chatbotId=CHATBOT_ID&date=2026-07-15"
date(optionnel) — une date locale (YYYY-MM-DD) dans le fuseau de l'assistant ; sans elle, le prochain jour disponible.serviceId(optionnel) — l'un des services renvoyés dans la réponse.
La réponse contient timeZone, vos services et slots sous forme de paires { start, end } au format ISO UTC.
2. Réserver un rendez-vous
Nécessite le scope appointments:write. Les réservations par API sont de confiance — aucun OTP e-mail n'est envoyé, votre système possédant déjà l'identité du client.
curl -X POST "https://api.conviro.io/v1/api/appointments" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chatbotId": "CHATBOT_ID",
"startIso": "2026-07-15T09:00:00.000Z",
"contactEmail": "[email protected]",
"contactName": "Jane Doe",
"contactPhone": "+31 6 00000000"
}'
Utilisez un startIso issu de l'endpoint des créneaux. Le serveur revalide le créneau avant de réserver — s'il vient d'être pris, vous recevez un 400 (« plus disponible ») : rechargez les créneaux et réessayez.
3. Lister les rendez-vous
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.conviro.io/v1/api/appointments?status=confirmed&limit=50"
Filtres : status (p. ex. confirmed, cancelled), limit (max 200), offset. Nécessite appointments:read.
4. Annuler un rendez-vous
curl -X DELETE "https://api.conviro.io/v1/api/appointments/APPOINTMENT_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
Nécessite appointments:write. L'annulation supprime aussi l'événement du calendrier connecté et notifie votre équipe.
Webhooks — garder votre CRM synchronisé
Abonnez-vous dans Dashboard -> Developers -> Webhooks à :
appointment.booked— déclenché pour chaque réservation confirmée (chat, widget de réservation ou API)appointment.cancelled— déclenché à chaque annulation
La charge utile contient appointmentId, chatbotId, startIso, endIso, timeZone, service, contactName, contactEmail, contactPhone et channel — tout ce qu'il faut pour refléter la réservation dans votre CRM.
Options de calendrier en un coup d'œil
| Calendrier | Auth | Vérif. d'occupation | Crée des événements |
|---|---|---|---|
| Google Calendar | OAuth | oui | oui |
| Outlook / Microsoft 365 | OAuth | oui | oui |
| Flux ICS (Apple/iCloud, Fastmail, Nextcloud, ...) | URL du flux | oui | non (lecture seule) |
| Calendrier interne | aucune | ses propres réservations | non |
> Astuce: Les clés API sont limitées en débit par clé. Pour de gros volumes, préférez les webhooks au polling de l'endpoint de liste.