Kimlik Doğrulama
API isteklerinizi doğrulamak için Bearer token kullanın. API anahtarınızı Dashboard → Ayarlar → API bölümünden oluşturabilirsiniz. Tüm isteklerde Authorization header'ı zorunludur.
// Her istekte bu header'ı gönderin Authorization: Bearer YOUR_API_KEY Content-Type: application/json Accept: application/json
const response = await fetch('https://api.bookify.com/v2/appointments', { method: 'GET', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' } }); const data = await response.json();
Rate Limits
API istekleri plan türünüze göre sınırlıdır. Limit aşımında 429 Too Many Requests
hatası alırsınız. Response header'larında kalan istek sayısını kontrol edebilirsiniz.
X-RateLimit-Limit: 100 X-RateLimit-Remaining: 95 X-RateLimit-Reset: 1704628800
Hata Kodları
API, standart HTTP durum kodları kullanır. Hata durumlarında JSON formatında detaylı hata mesajı döner.
| Kod | Durum | Açıklama |
|---|---|---|
| 200 | OK | İstek başarılı |
| 400 | Bad Request | Geçersiz istek parametreleri |
| 401 | Unauthorized | Geçersiz veya eksik API anahtarı |
| 403 | Forbidden | Bu kaynağa erişim izniniz yok |
| 404 | Not Found | İstenen kaynak bulunamadı |
| 429 | Too Many Requests | Rate limit aşıldı |
| 500 | Server Error | Sunucu hatası, lütfen tekrar deneyin |
{
"error": {
"code": 401,
"message": "Invalid API key provided",
"details": "The API key in the Authorization header is invalid or expired."
}
}
Resmi SDK'lar
Popüler programlama dilleri için resmi SDK'larımızı kullanarak hızlıca entegrasyon yapabilirsiniz.
Randevular
Randevu oluşturma, güncelleme, listeleme ve silme işlemleri için endpoint'ler.
Tüm randevuları listeler. Filtreleme ve sayfalama destekler.
{
"data": [
{
"id": 1234,
"customer_id": 567,
"service_id": 12,
"staff_id": 3,
"date": "2026-01-15",
"time": "14:00",
"duration": 60,
"status": "confirmed",
"notes": "VIP müşteri",
"created_at": "2026-01-10T09:30:00Z"
}
],
"meta": {
"current_page": 1,
"total_pages": 10,
"total_count": 250
}
}
Yeni randevu oluşturur. Müsaitlik kontrolü otomatik yapılır.
{
"customer_id": 567,
"service_id": 12,
"staff_id": 3,
"date": "2026-01-15",
"time": "14:00",
"notes": "Özel istek: Pencere kenarı"
}
Mevcut randevuyu günceller. Sadece değiştirmek istediğiniz alanları gönderin.
Randevuyu iptal eder. Müşteriye otomatik bildirim gönderilir.
Müşteriler
Müşteri bilgilerini yönetmek için kullanılan endpoint'ler.
Tüm müşterileri listeler. Arama ve sayfalama destekler.
Yeni müşteri oluşturur.
Belirli bir müşterinin tüm randevularını getirir.
Hizmetler
Sunulan hizmetleri yönetmek için kullanılan endpoint'ler.
Tüm hizmetleri fiyat ve süre bilgileriyle listeler.
Belirli bir hizmet için müsait zaman dilimlerini getirir.
Personel
Personel bilgilerini ve müsaitlik durumlarını yönetmek için endpoint'ler.
Tüm personeli yetenekleri ve çalışma saatleriyle listeler.
Belirli bir personelin haftalık programını getirir.
Webhooks
Gerçek zamanlı bildirimler almak için webhook'ları yapılandırın. Randevu oluşturma, güncelleme ve iptal olaylarını dinleyebilirsiniz.
{
"event": "appointment.created",
"timestamp": "2026-01-10T09:30:00Z",
"data": {
"appointment_id": 1234,
"customer": {
"id": 567,
"name": "Ahmet Yılmaz",
"email": "ahmet@example.com"
},
"service": "Saç Kesimi",
"date": "2026-01-15",
"time": "14:00"
}
}
Yeni webhook endpoint'i kaydedin.