API Endpoint Dökümantasyonu
Randevu Ajandam v1 API rotaları, parametreleri, istek örnekleri ve JSON yanıt şablonları.
Kamu & Okuma (Read-Only) Rotaları
Hekim veya klinik web sitelerinde ziyaretçilere gösterilecek dinamik içerikleri çekmek için kullanılan endpoint'lerdir.
Profil Bilgilerini Getir
Hekimin veya Kliniğin detaylı profil verilerini döner. Bireysel hekim anahtarlarında hekim unvanı ve branşı gelirken, klinik anahtarlarında klinikteki genel adres ve çalışma saatleri gibi klinik detayları döner.
curl -X GET "https://api.randevuajandam.com/api/v1/profile" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": {
"id": 1,
"unvan": "Prof. Dr.",
"ad": "Ahmet",
"soyad": "Yılmaz",
"brans": "Kardiyoloji",
"foto_url": "https://api.randevuajandam.com/uploads/doctor-1.jpg",
"biyografi": "Kardiyoloji alanında 20 yıllık tecrübe...",
"sosyal_medya": {
"instagram": "https://instagram.com/drahmetyilmaz",
"linkedin": "https://linkedin.com/in/drahmetyilmaz"
},
"iletisim": {
"telefon": "0555 123 4567",
"eposta": "ahmet@yilmaz.com",
"adres": "Şişli, İstanbul"
}
}
}
Doktor Listesini Getir (Sadece Klinik Bağlamı)
Klinik bünyesinde çalışan tüm aktif doktorların listesini döner. Hekim bağlamındaki anahtarlar ile bu isteğin yapılması durumunda 403 Forbidden hatası alınır.
curl -X GET "https://api.randevuajandam.com/api/v1/doctors" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": [
{
"id": 1,
"unvan": "Prof. Dr.",
"ad": "Ahmet",
"soyad": "Yılmaz",
"brans": "Kardiyoloji",
"foto_url": "https://api.randevuajandam.com/uploads/doctor-1.jpg"
},
{
"id": 2,
"unvan": "Doç. Dr.",
"ad": "Ayşe",
"soyad": "Kaya",
"brans": "Pediatri",
"foto_url": "https://api.randevuajandam.com/uploads/doctor-2.jpg"
}
]
}
Hizmet Listesini Getir
Hekim veya kliniğe tanımlı tüm aktif hizmetlerin (muayene, tetkik vb.) listesini döner.
curl -X GET "https://api.randevuajandam.com/api/v1/services" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": [
{
"id": 1,
"ad": "Kardiyoloji Muayenesi",
"sure_dakika": 30,
"ucret": 1500,
"aciklama": "İlk muayene ve kardiyolojik değerlendirme."
},
{
"id": 2,
"ad": "Eko Testi",
"sure_dakika": 20,
"ucret": 1000,
"aciklama": "Ekokardiyografi incelemesi."
}
]
}
Yayınlanmış Blog Yazılarını Getir
Sistemde yayınlanmış olan tüm blog yazılarını listeler.
curl -X GET "https://api.randevuajandam.com/api/v1/blogs" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": [
{
"id": 5,
"baslik": "Kalp Sağlığını Korumanın Yolları",
"slug": "kalp-sagligini-korumanin-yollari",
"ozet": "Gündelik hayatımızda kalbimizi korumak için yapabileceğimiz basit adımlar.",
"kapak_resmi": "https://api.randevuajandam.com/uploads/blog-5.jpg",
"created_at": "2026-06-25 10:00:00"
}
]
}
Randevu Boş Slotlarını Hesapla
Belirli bir tarihteki çalışma saatleri, dolu randevular ve izin durumları otomatik olarak hesaplanarak rezerve edilebilecek boş saat dilimlerini (slotları) döner.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| date | string | Evet | Sorgulanacak tarih (Format: YYYY-MM-DD). Örn: 2026-07-15 |
| doctor_id | integer | Hayır | Klinik bağlamında sorgulama yaparken hangi doktorun slotlarının bakılacağını belirtir. Hekim bağlamında yoksayılır. |
curl -X GET "https://api.randevuajandam.com/api/v1/slots" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": {
"date": "2026-07-15",
"doctor_id": 1,
"slots": [
{
"time": "09:00",
"available": true
},
{
"time": "09:30",
"available": false
},
{
"time": "10:00",
"available": true
}
]
}
}
Temel Yazma & İşlem Rotaları
Harici web sitelerinden ana platforma randevu kaydı, hasta kaydı veya yorum iletmek için kullanılan endpoint'lerdir.
Yeni Randevu Oluştur
Hasta, hekim veya klinik için randevu talebi oluşturur. Randevu oluşturulmadan önce belirtilen tarihin ve saat diliminin (slot) müsaitliği sistem tarafından kontrol edilir.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| service_id | integer | Evet | Randevu alınacak hizmetin ID'si. |
| date | string | Evet | Randevu tarihi (Format: YYYY-MM-DD). |
| slot | string | Evet | Randevu saati (Format: HH:MM). |
| doctor_id | integer | Hayır | Klinik bağlamında randevu alınırken hekimin ID'si girilmelidir. |
| patient_ad | string | Evet | Hastanın adı. |
| patient_soyad | string | Evet | Hastanın soyadı. |
| patient_telefon | string | Evet | Hastanın telefon numarası. |
| patient_eposta | string | Evet | Hastanın e-posta adresi. |
| not | string | Hayır | Varsa hastanın iletmek istediği not. |
curl -X POST "https://api.randevuajandam.com/api/v1/appointments" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash" \
-d '{
"service_id": 1,
"date": "2026-07-15",
"slot": "10:00",
"patient_ad": "Hakan",
"patient_soyad": "Demir",
"patient_telefon": "0532 987 6543",
"patient_eposta": "hakan@demir.com",
"not": "Lütfen ilk kez geleceğimi bildirin."
}'
{
"success": true,
"message": "Randevu başarıyla oluşturuldu. Yönetici onayı bekleniyor.",
"data": {
"id": 128,
"randevu_kodu": "RA-128-Z5",
"date": "2026-07-15",
"slot": "10:00",
"durum": "beklemede",
"patient": {
"ad": "Hakan",
"soyad": "Demir",
"telefon": "0532 987 6543"
}
}
}
Hekim/Klinik için Yorum Ekle
Ziyaretçi tarafından harici sitede yapılan yorum/değerlendirmeleri ana sisteme iletir. Gelen yorumlar doğrudan onaylı olmaz, yönetim panelindeki onay havuzuna düşer.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| ad_soyad | string | Evet | Yorumu yapan kişinin adı ve soyadı. |
| puan | integer | Evet | 1 ile 5 arasında verilecek memnuniyet puanı. |
| icerik | string | Evet | Yorum içeriği. |
| doctor_id | integer | Hayır | Klinik bağlamında yorum yapılıyorsa hangi hekime yapıldığı belirtilmelidir. |
curl -X POST "https://api.randevuajandam.com/api/v1/comments" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash" \
-d '{
"ad_soyad": "Esra Şahin",
"puan": 5,
"icerik": "Ahmet Bey gerçekten çok ilgili bir hekim. Kendisine çok teşekkür ederim."
}'
{
"success": true,
"message": "Yorumunuz alınmıştır. Yönetici onayının ardından yayınlanacaktır."
}
Hekim Yönetim Rotaları
Hekimlerin kendi profil, blog, hizmet, galeri, takvim, çalışma saatleri ve finansal kayıtlarını yönetmesini sağlayan endpoint'lerdir.
Hekim Profil Bilgilerini Güncelle
Hekimin unvan, ad, soyad, biyografi, sosyal medya linkleri gibi profil alanlarını günceller.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| ad | string | Evet | Hekim adı. |
| soyad | string | Evet | Hekim soyadı. |
| unvan | string | Hayır | Hekim unvanı (örn: Doç. Dr.). |
| biyografi | string | Hayır | Özgeçmiş bilgisi. |
curl -X PUT "https://api.randevuajandam.com/api/v1/profile" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash" \
-d '{
"unvan": "Prof. Dr.",
"ad": "Ahmet",
"soyad": "Yılmaz Yeni",
"biyografi": "Kardiyoloji uzmanı."
}'
{
"success": true,
"message": "Profil bilgileri başarıyla güncellendi."
}
Blog Yazılarını Yönetim Modunda Getir
Hekimin kendi oluşturduğu tüm blogları (aktif, pasif, taslak) detaylı olarak listeler.
curl -X GET "https://api.randevuajandam.com/api/v1/blogs/manage" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": [
{
"id": 5,
"baslik": "Kalp Sağlığını Korumanın Yolları",
"durum": "yayinlandi",
"okunma_sayisi": 1240,
"created_at": "2026-06-25 10:00:00"
}
]
}
Yeni Blog Yazısı Oluştur
Sisteme yeni bir blog yazısı ekler.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| baslik | string | Evet | Blog başlığı. |
| icerik | string | Evet | Blog HTML veya metin içeriği. |
| durum | string | Evet | Yazı durumu ('taslak' veya 'yayinlandi'). |
curl -X POST "https://api.randevuajandam.com/api/v1/blogs" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash" \
-d '{
"baslik": "Beslenme ve Spor",
"icerik": "Sağlıklı beslenme ve spor ilişkisi...",
"durum": "yayinlandi"
}'
{
"success": true,
"message": "Blog yazısı başarıyla oluşturuldu.",
"data": {
"id": 6,
"baslik": "Beslenme ve Spor",
"slug": "beslenme-ve-spor",
"durum": "yayinlandi"
}
}
Randevu Listesini Getir (Hekim Yönetim)
Hekimin takvim görünümü için tüm randevularını listeler. Tarih aralığına göre filtrelenebilir.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| start_date | string | Hayır | Başlangıç tarihi (YYYY-MM-DD). |
| end_date | string | Hayır | Bitiş tarihi (YYYY-MM-DD). |
curl -X GET "https://api.randevuajandam.com/api/v1/appointments" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": [
{
"id": 128,
"tarih": "2026-07-15",
"saat": "10:00",
"durum": "onaylandi",
"hasta": {
"ad": "Hakan",
"soyad": "Demir",
"telefon": "0532 987 6543"
},
"hizmet": "Kardiyoloji Muayenesi"
}
]
}
Randevu Durumunu Güncelle
Belirtilen randevunun durumunu (onaylandı, iptal edildi, tamamlandı vb.) günceller.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| status | string | Evet | Yeni durum ('onaylandi', 'reddedildi', 'tamamlandi', 'iptal'). |
curl -X POST "https://api.randevuajandam.com/api/v1/appointments/{id}/status" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash" \
-d '{
"status": "onaylandi"
}'
{
"success": true,
"message": "Randevu durumu başarıyla güncellendi.",
"data": {
"id": 128,
"durum": "onaylandi"
}
}
Çalışma Saatlerini Getir
Hekimin haftalık çalışma saatlerini, gün bazlı başlangıç/bitiş saatlerini ve öğle arası dilimlerini döner.
curl -X GET "https://api.randevuajandam.com/api/v1/working-hours" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": {
"pazartesi": {
"aktif": true,
"baslangic": "09:00",
"bitis": "17:00",
"ogle_baslangic": "12:00",
"ogle_bitis": "13:00"
},
"sali": {
"aktif": true,
"baslangic": "09:00",
"bitis": "17:00",
"ogle_baslangic": "12:00",
"ogle_bitis": "13:00"
}
}
}
Finansal Özet Tablosu
Hekimin belirli bir dönemdeki gelir, gider ve hakediş tutarlarını özet olarak döner.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| period | string | Hayır | Dönem ('bugun', 'bu_ay', 'bu_yil', 'hepsi'). Varsayılan: 'bu_ay' |
curl -X GET "https://api.randevuajandam.com/api/v1/finance/summary" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": {
"toplam_gelir": 45000,
"toplam_gider": 12500,
"net_bakiye": 32500,
"tahsil_bekleyen": 5000
}
}
Klinik Yönetim Rotaları
Klinik yöneticilerinin veya yetkilendirilmiş klinik personelinin tüm şube, doktor, personel, takvim ve klinik finansını yönetmesini sağlayan endpoint'lerdir.
Klinik Genel Randevu Listesi
Klinik altındaki tüm hekimlerin randevularını toplu veya hekim bazlı filtreleyerek listeler.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| doctor_id | integer | Hayır | Belirli bir doktorun randevularını çekmek için kullanılır. |
| start_date | string | Hayır | Başlangıç tarihi (YYYY-MM-DD). |
| end_date | string | Hayır | Bitiş tarihi (YYYY-MM-DD). |
curl -X GET "https://api.randevuajandam.com/api/v1/clinic/appointments" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": [
{
"id": 129,
"doctor_id": 1,
"doctor_ad_soyad": "Prof. Dr. Ahmet Yılmaz",
"tarih": "2026-07-15",
"saat": "11:00",
"durum": "beklemede",
"hasta": {
"ad": "Murat",
"soyad": "Can"
}
}
]
}
Hekimi Kliniğe Davet Et
Randevu Ajandam sisteminde kayıtlı bir hekimi, e-posta adresi üzerinden kliniğe katılmaya davet eder.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| eposta | string | Evet | Davet edilecek hekimin sisteme kayıtlı e-posta adresi. |
| hakedis_orani | number | Evet | Hekime tanımlanacak yüzde hakediş oranı (örn: 60 veya 0.60). |
curl -X POST "https://api.randevuajandam.com/api/v1/clinic/doctors/invite" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash" \
-d '{
"eposta": "drahmetyilmaz@gmail.com",
"hakedis_orani": 65
}'
{
"success": true,
"message": "Klinik katılım davetiyesi hekime başarıyla gönderildi."
}
Klinik Personel Listesi
Klinikte yetkilendirilmiş sekreter, asistan veya diğer idari personellerin listesini döner.
curl -X GET "https://api.randevuajandam.com/api/v1/clinic/staff" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": [
{
"id": 3,
"ad": "Merve",
"soyad": "Kaya",
"rol": "Sekreter",
"durum": "aktif",
"son_giris_tarihi": "2026-07-03 12:45:00"
}
]
}
Yeni Klinik Personeli Ekle
Klinik paneline erişebilecek yeni bir yardımcı personel veya yönetici ekler.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| ad | string | Evet | Personel adı. |
| soyad | string | Evet | Personel soyadı. |
| eposta | string | Evet | Giriş için kullanılacak e-posta adresi. |
| sifre | string | Evet | Giriş şifresi (En az 8 karakter). |
| rol | string | Evet | Personel rolü ('sekreter', 'admin', 'asistan'). |
curl -X POST "https://api.randevuajandam.com/api/v1/clinic/staff" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash" \
-d '{
"ad": "Cem",
"soyad": "Güler",
"eposta": "cem@klinik.com",
"sifre": "klinik12345*",
"rol": "asistan"
}'
{
"success": true,
"message": "Personel kaydı başarıyla oluşturuldu.",
"data": {
"id": 4,
"ad": "Cem",
"soyad": "Güler",
"rol": "asistan",
"durum": "aktif"
}
}
Ortak Hasta Havuzunu Listele
Klinik altındaki tüm doktorlara kayıtlı olan ortak hasta kayıtlarını döner. Bu sayede sekreterlik klinik bazında hasta kaydı arayabilir veya yeni randevu oluştururken ortak kartı kullanabilir.
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| q | string | Hayır | İsim, soyisim, e-posta veya telefon ile arama kelimesi. |
curl -X GET "https://api.randevuajandam.com/api/v1/clinic/patients" \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key" \
-H "X-Timestamp: 1783080763" \
-H "X-Signature: signature_hash"
{
"success": true,
"data": [
{
"id": 50,
"ad": "Hakan",
"soyad": "Demir",
"telefon": "0532 987 6543",
"eposta": "hakan@demir.com",
"kayit_tarihi": "2026-05-10 14:00:00"
}
]
}