POST + API Key

Randevu API Dokümantasyonu

Bu servis yalnızca MEDSIS.dbo.RANDEVU tablosu üzerinde veri görüntüleme, ekleme, düzenleme ve silme işlemleri yapar.

Randevu Takvimi POST + API Key
09:00Hasta Adı - 5551112233Aktif
09:10Bloke saatBloke
09:20Boş randevu alanıBoş
09:30Kontrol notu ile randevuKayıtlı
09:40Yeni kayıt için uygunBoş

Genel Kullanım

URLhttps://api.referanshastanesi.com/api.asp
MetotPOST
Kimlikapi_key POST alanı veya X-API-Key header değeri
Veri Formatıapplication/json veya klasik form POST
Birincil Kayıt Anahtarıkey alanı, tabloda NO kolonuna karşılık gelir

Entegrasyon Servisleri

Karşı tarafın talep ettiği servisler tek URL üzerinden action alanı ile ayrılır. Postman Collection dosyası: randevu_api.postman_collection.json

İstenen ServisAPI ActionAçıklamaUzman ID Alanı
Expert List / Map Listexpert_listUzman eşleştirme listesini döner. Bu servis manuel doktor listesinden çalışır ve MSSQL bağlantısı gerektirmez.expert_id = PERSONEL.NO
Available Timeavailable_timeBelirlenen tarih aralığında PerDefSaat çalışma saatlerine göre boş slotları döner. Karşı taraftan gelen saat parametreleri dikkate alınmaz. Zamanı geçmiş, hasta kaydı olan, bloke olan veya Iptal=1 kayıtla çakışan saatler listelenmez.expert_id -> RANDEVU.PER_NO
Create Appointmentcreate_appointmentUzman adına randevu oluşturur. Eski create aksiyonuyla aynı randevu kurallarını kullanır.expert_id veya data.doktor -> RANDEVU.PER_NO
Change Statuschange_statusRandevu durumunu geldi, bekliyor, bloke veya bloke kaldır olarak günceller.key = RANDEVU.NO
Cancel Appointmentcancel_appointmentRandevuyu iptal eder; fiziksel silme yapmaz.key = RANDEVU.NO

İşlemler

Listele

action=list ile randevu kayıtlarını getirir. limit, offset, PER_NO, CARI_NO, Aktif, TARIH_from, TARIH_to filtreleri desteklenir.

Doktor Listesi

action=doctors ve date ile randevu panelindeki doktor listesini, branş ve günlük randevu sayılarıyla getirir.

Tek Kayıt

action=get ve key ile tek bir randevu kaydını getirir.

Ekle

action=create ve data ile randevu panelindeki kurallara göre yeni kayıt ekler. doktor, adsoyad, tarih ve tarih_bit zorunludur.

Düzenle

action=update, key ve data ile izin verilen kolonları günceller.

Sil

action=delete ve key ile kaydı soft delete yapar. Del=1, Silen=WEB API, delPMT ve SilNot alanları güncellenir.

Manuel Doktor Listesi

Bu liste mevcut randevu panelindeki doktor listesinden manuel olarak alınmıştır. Randevu oluştururken doktor ID değeri data.doktor alanına gönderilir ve API bunu RANDEVU.PER_NO kolonuna yazar.

İlgili randevu kolonu: RANDEVU.PER_NO Doktor ana kaynağı: PERSONEL.NO
Doktor ID Doktor Branş Randevu Alanı
629 AYŞE SÖZEN (Uzm.) Nöroloji PER_NO = 629
738 ÇİĞDEM SÜMER Kadın Hastalıkları ve Doğum PER_NO = 738
128 ERCAN CİĞERLİ (Op.Dr.) Kadın Hastalıkları ve Doğum PER_NO = 128
151 FATİH DEPBOYLU (Op.Dr.) Kadın Hastalıkları ve Doğum PER_NO = 151
163 FERUDUN ÇELTİKLİOĞLU (Op.Dr.) Kulak-Burun-Boğaz Hastalıkları PER_NO = 163
593 HALİL DİNÇER Genel Cerrahi PER_NO = 593
790 HALİT TALAS (Op.Dr) Üroloji PER_NO = 790
724 HAMDİ KARAKULAK Acil Tıp PER_NO = 724
638 HAMDİ SÖZEN (Uzm.) Enfeksiyon Hastalıkları PER_NO = 638
759 HATİCE SERTKAYA OSAN - PER_NO = 759
782 İBRAHİM KAYA Ortopedi ve Travmatoloji PER_NO = 782
753 İBRAHİM KORKMAZ Dermatoloji PER_NO = 753
71 İSMAİL BAHA ÖZCAN (Uzm.Dr.) İç Hastalıkları PER_NO = 71
936 İSMAİL ŞENOL İVACIK Göz Hastalıkları PER_NO = 936
654 MEHMET ALAY (Uzm) Çocuk Sağlığı ve Hastalıkları PER_NO = 654
836 MEHMET ELÇİK Kardiyoloji PER_NO = 836
705 MÜJGAN S. CHECK UP CHECK UP PER_NO = 705
699 NURCİHAN KARAKURT (Op.Dr.) Kadın Hastalıkları ve Doğum PER_NO = 699
657 ÖNDER KARAKAYA Çocuk Sağlığı ve Hastalıkları PER_NO = 657
931 Prof Dr HALİT ÇINARKA (Prof) Göğüs Hastalıkları PER_NO = 931
714 SÜLEYMAN TÜMKAYA İç Hastalıkları PER_NO = 714
721 ŞÜKRÜ YENİCE İç Hastalıkları PER_NO = 721
570 TUĞBA TARHAN Estetik PER_NO = 570
134 VEYSEL MELİH AKBAŞ (Op.Dr.) Göz Hastalıkları PER_NO = 134
168 ZİYANUR BAŞER (Op.Dr.) Göz Hastalıkları PER_NO = 168

Örnek İstekler

Expert List / Map List

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "expert_list"
  }'

Available Time

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "available_time",
    "expert_id": 719,
    "date_from": "2025-07-10",
    "date_to": "2025-07-15"
  }'

Create Appointment

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "create_appointment",
    "data": {
      "doktor": 719,
      "adsoyad": "Hasta Adı",
      "telefon": "5551112233",
      "tarih": "2025-07-10 14:30:00",
      "tarih_bit": "2025-07-10 14:40:00",
      "konu": "Kontrol",
      "bloke": 0
    }
  }'

Change Status / Cancel Appointment

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "change_status",
    "key": 1001,
    "status": "arrived"
  }'
curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "cancel_appointment",
    "key": 1001,
    "cancel_note": "Hasta talebi"
  }'

Doktor Listesi

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "doctors",
    "date": "2026-05-22"
  }'

Listeleme

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "list",
    "limit": 25,
    "Aktif": 1
  }'

Yeni Randevu Ekleme

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "create",
    "data": {
      "PER_NO": 1,
      "doktor": 1,
      "adsoyad": "Hasta Adı",
      "telefon": "5551112233",
      "tarih": "2026-05-22 14:30:00",
      "tarih_bit": "2026-05-22 14:40:00",
      "konu": "Kontrol",
      "bloke": 0
    }
  }'

Randevu Oluşturma Kuralları

KuralAçıklama
Zorunlu alanlardoktor, adsoyad, tarih, tarih_bit
Tarih formatıY-m-d H:i:s, Y-m-dTH:i veya Y-m-dTH:i:s
Bitiş kontrolütarih_bit, başlangıç tarihinden sonra olmalıdır.
Bloke saatAynı doktor ve aynı başlangıç saatinde Bloke=1, Del=0 kayıt varsa normal randevu oluşturulmaz.
Otomatik alanlarKayitTar=GETDATE(), GIRIS_TAR=gün 00:00:00, IslemNo=0, Oda=0, Geldi=0, KurumNo=0, TipNo=0, GrupNo=0, insUserNo=671, insPerNo=doktor
İşlem yapan kullanıcıEklemede Giren = WEB API, güncellemede Degistiren = WEB API ve DegisTar = GETDATE(), silmede Silen = WEB API yazılır.
Silme davranışıAPI fiziksel silme yapmaz; Del = 1, Silen, delPMT ve SilNot alanlarını günceller.
Metin sınırlarıCARI_AD 50 karakter, CARI_TEL sadece rakam ve 20 karakter, KONU 200 karakter, insPMT 50 karakter olarak kaydedilir.

Alan Açıklamaları

API'de kullanılan tüm ana parametreler aşağıdadır. Randevu oluşturma için önerilen alanlar data nesnesinin içinde gönderilir.

Genel Alanlar

AlanZorunluAnlamıÖrnek
api_keyEvetServisi kullanmak için gerekli gizli API anahtarıdır. Alternatif olarak X-API-Key header değeri gönderilebilir. Gerçek anahtar yalnızca yetkili entegrasyon tarafıyla paylaşılmalıdır.GIZLI_API_KEY
actionEvetÇalıştırılacak servis adıdır.create_appointment
keyDuruma göreMevcut randevu kaydının benzersiz ID değeridir. Tabloda RANDEVU.NO kolonuna karşılık gelir. Güncelleme, iptal, silme ve durum değiştirme işlemlerinde kullanılır.1001
expert_idDuruma göreUzman/doktor benzersiz ID değeridir. Kaynak tablo PERSONEL.NO, randevu tablosundaki karşılığı RANDEVU.PER_NO kolonudur.719
doctor_idHayırexpert_id ile aynı anlamda kabul edilen alternatif alandır.719

Create Appointment Data Alanları

AlanZorunluRANDEVU KolonuAnlamıÖrnek
data.doktorEvetPER_NORandevunun hangi doktor/uzman adına oluşturulacağını belirtir. Değer PERSONEL.NO listesinden alınır.719
data.PER_NOHayırPER_NOGenel CRUD kullanımından kalan kolon adıdır. Randevu oluşturma servisinde önerilen alan doktor veya üst seviyede expert_id alanıdır.719
data.adsoyadEvetCARI_ADHasta adı soyadı veya randevu üzerinde görünecek kişi adıdır. En fazla 50 karakter kaydedilir.Hasta Adı
data.telefonHayırCARI_TELHasta telefon numarasıdır. API sadece rakamları alır ve en fazla 20 karakter kaydeder.5551112233
data.tarihEvetTARIHRandevu başlangıç tarih ve saatidir. Kabul edilen formatlar: Y-m-d H:i:s, Y-m-dTH:i, Y-m-dTH:i:s.2026-05-22 14:30:00
data.tarih_bitEvetTARIH_bitRandevu bitiş tarih ve saatidir. Başlangıçtan sonra olmalıdır.2026-05-22 14:40:00
data.konuHayırKONURandevu notu, konu veya açıklama alanıdır. En fazla 200 karakter kaydedilir.Kontrol
data.blokeHayırBloke1 gönderilirse kayıt randevu yerine bloke saat olarak oluşturulur. 0 veya boş gönderilirse normal randevu oluşturulur.0
startHayırTARIHÜst seviyede gönderilebilen alternatif başlangıç alanıdır. data.tarih boşsa kullanılır.2026-05-22 14:30:00
endHayırTARIH_bitÜst seviyede gönderilebilen alternatif bitiş alanıdır. data.tarih_bit boşsa kullanılır.2026-05-22 14:40:00

Otomatik Yazılan Randevu Alanları

RANDEVU KolonuYazılan DeğerAçıklama
GirenWEB APIKaydı API'nin oluşturduğunu gösterir.
KayitTarGETDATE()SQL Server tarafındaki kayıt zamanıdır.
GIRIS_TARrandevu günü 00:00:00Başlangıç tarihinin gün bazlı karşılığıdır.
IslemNo, Oda, Geldi, KurumNo, TipNo, GrupNo0Paneldeki mevcut randevu oluşturma davranışıyla uyumlu varsayılan değerlerdir.
insUserNo671Mevcut panel kodundaki sabit kullanıcı numarasıdır.
insPerNodata.doktorKaydı oluşturan personel alanı doktor ID ile doldurulur.
insPMTtarih-API-hasta adıEn fazla 50 karakterlik işlem izi bilgisidir.

Available Time Alanları

AlanZorunluAnlamıÖrnek
expert_idEvetBoş slotları istenecek doktor ID değeridir. RANDEVU.PER_NO ve PerDefSaat.PerNo ile eşleşir.719
date_fromEvetSorgu başlangıç tarihidir.2025-07-10
date_toEvetSorgu bitiş tarihidir. Örneğin 2025-07-10 - 2025-08-01 aralığı istenebilir.2025-07-15

Durum, İptal ve Silme Alanları

ActionAlanZorunluAnlamıYazılan Kolonlar
change_statusstatusEvetRandevu durumudur. Kabul edilen değerler: arrived, waiting, blocked, unblocked, cancelled.Geldi, Iptal, Bloke, BlokeUser, Degistiren, DegisTar
cancel_appointmentcancel_noteHayırİptal nedeni veya notudur.Iptal=1, IptalEden=WEB API, IptalNot, Degistiren=WEB API, DegisTar=GETDATE()
deletesil_notHayırSilme nedeni veya notudur. Fiziksel silme yapılmaz.Del=1, Silen=WEB API, delPMT, SilNot
updatedataEvetGüncellenecek izinli RANDEVU kolonlarını içeren nesnedir.Gönderilen kolonlar, ayrıca Degistiren=WEB API, DegisTar=GETDATE()

Randevu Güncelleme

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "update",
    "key": 1001,
    "data": {
      "SAAT": "15:00",
      "KONU": "Kontrol - güncellendi"
    }
  }'

Randevu Silme

curl -X POST "https://api.referanshastanesi.com/api.asp" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "GIZLI_API_KEY",
    "action": "delete",
    "key": 1001
  }'