Randevu API'si (CRM Entegrasyonu)
Kendi CRM, ERP veya rezervasyon ekranınız varsa Conviro randevularını basit bir REST API üzerinden oradan yönetebilirsiniz. API ile alınan randevular sohbet içi rezervasyonla aynı motoru kullanır: uygunluk, çalışma saatleriniz ve bağlı takviminiz (Google, Outlook veya ICS feed) üzerinden sunucu tarafında yeniden hesaplanır; müşteri, takvim dosyası ve self-servis yönetim bağlantısı içeren onay e-postasını alır; ekibiniz her zamanki bildirimleri alır.
Ön koşullar
- Asistanınız için randevular yapılandırılmış olmalı: Dashboard -> Assistants -> [botunuz] -> Setup -> Scheduling.
- Bağlı bir takvim: Google Calendar, Outlook / Microsoft 365, ICS feed (Apple/iCloud, Fastmail, Nextcloud, ...) veya yerleşik dahili takvim.
- Doğru kapsamlara sahip bir API anahtarı: Dashboard -> Settings -> API Keys; Appointments Read ve/veya Appointments Write seçin.
Kimlik doğrulama
Anahtarınızı her istekte Authorization başlığında gönderin:
Authorization: Bearer YOUR_API_KEY
Temel URL: https://api.conviro.io
1. Açık saatleri listeleyin
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.conviro.io/v1/api/appointments/slots?chatbotId=CHATBOT_ID&date=2026-07-15"
date(isteğe bağlı) — asistanın saat dilimindeki yerel tarih (YYYY-MM-DD); boş bırakılırsa bir sonraki uygun gün.serviceId(isteğe bağlı) — yanıtta dönen hizmetlerden biri.
Yanıt; timeZone, services ve UTC ISO formatında { start, end } çiftleri olarak slots içerir.
2. Randevu oluşturun
appointments:write kapsamı gerekir. API ile alınan randevular güvenilir kabul edilir — e-posta OTP gönderilmez; müşterinin kimliği zaten sizin sisteminizdedir.
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"
}'
startIso değerini slots uç noktasından alın. Sunucu, rezervasyondan önce saati yeniden doğrular — bu arada dolduysa 400 ("artık uygun değil") alırsınız: saatleri yenileyip tekrar deneyin.
3. Randevuları listeleyin
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.conviro.io/v1/api/appointments?status=confirmed&limit=50"
Filtreler: status (ör. confirmed, cancelled), limit (en fazla 200), offset. appointments:read gerekir.
4. Randevu iptal edin
curl -X DELETE "https://api.conviro.io/v1/api/appointments/APPOINTMENT_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
appointments:write gerekir. İptal, etkinliği bağlı takvimden de siler ve ekibinize bildirir.
Webhook'lar — CRM'inizi senkron tutun
Dashboard -> Developers -> Webhooks altından şunlara abone olun:
appointment.booked— her onaylanan randevuda tetiklenir (sohbet, rezervasyon widget'ı veya API)appointment.cancelled— bir randevu iptal edildiğinde tetiklenir
Payload; appointmentId, chatbotId, startIso, endIso, timeZone, service, contactName, contactEmail, contactPhone ve channel alanlarını içerir — randevuyu CRM'inize aynen aktarmak için gereken her şey.
Takvim seçeneklerine genel bakış
| Takvim | Kimlik doğrulama | Doluluk kontrolü | Etkinlik oluşturma |
|---|---|---|---|
| Google Calendar | OAuth | evet | evet |
| Outlook / Microsoft 365 | OAuth | evet | evet |
| ICS feed (Apple/iCloud, Fastmail, Nextcloud, ...) | feed URL'si | evet | hayır (salt okunur) |
| Dahili takvim | yok | kendi randevuları | hayır |
> İpucu: API anahtarları anahtar başına hız sınırına tabidir. Büyük hacimli senkronizasyonda liste ucunu sorgulamak yerine webhook'ları tercih edin.