Kimlik Doğrulama
Tüm API isteklerinde X-API-Key header'ı gereklidir. API anahtarınızı dashboard'dan alabilirsiniz.
bash
curl -X GET "https://eczaneapi.com/api/v1/pharmacies/on-duty?city=istanbul" \
-H "X-API-Key: eczane_api_xxxxx..."Rate Limits & Kotalar
API kullanımınız planınıza göre sınırlandırılmıştır. Kota aşımında 429 hatası alırsınız.
| Plan | Aylık Limit | Fiyat |
|---|---|---|
| Free | 200 istek | Ücretsiz |
| Pro | 5.000 istek | $5.99/ay |
| Unlimited | Sınırsız | $19.99/ay |
Nöbetçi Eczaneler
GET
/pharmacies/on-dutyBelirtilen il ve/veya ilçedeki nöbetçi eczaneleri döndürür. Tarih belirtilmezse bugünkü nöbetçiler döner.
Query Parameters
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| city | string | Hayır | İl adı veya slug (örn: istanbul, İstanbul) |
| district | string | Hayır | İlçe adı veya slug (örn: kadikoy) |
| date | string | Hayır | Tarih (YYYY-MM-DD formatı, varsayılan: bugün) |
Örnek İstek
bash
GET /v1/pharmacies/on-duty?city=istanbul&district=kadikoyÖrnek Response
json
{
"success": true,
"data": {
"date": "2024-12-26",
"count": 3,
"pharmacies": [
{
"id": "uuid-xxx",
"name": "Şifa Eczanesi",
"address": "Caferağa Mah. Moda Cad. No:45",
"phone": "0216 345 67 89",
"phone2": null,
"location": {
"latitude": 40.9876,
"longitude": 29.0234
},
"city": {
"id": "city-uuid",
"name": "İstanbul",
"slug": "istanbul"
},
"district": {
"id": "district-uuid",
"name": "Kadıköy",
"slug": "kadikoy"
},
"duty": {
"date": "2024-12-26T00:00:00.000Z",
"startTime": null,
"endTime": null,
"isVerified": true
}
}
]
},
"meta": {
"requestId": "api-key-id"
}
}Eczane Detayı
GET
/pharmacies/:pharmacyIdBelirtilen eczanenin detaylı bilgilerini ve yaklaşan nöbet tarihlerini döndürür.
Örnek Response
json
{
"success": true,
"data": {
"id": "uuid-xxx",
"name": "Şifa Eczanesi",
"address": "Caferağa Mah. Moda Cad. No:45",
"phone": "0216 345 67 89",
"phone2": null,
"email": "sifa@example.com",
"ownerName": "Ecz. Ahmet Yılmaz",
"location": {
"latitude": 40.9876,
"longitude": 29.0234
},
"city": {
"id": "city-uuid",
"name": "İstanbul",
"slug": "istanbul"
},
"district": {
"id": "district-uuid",
"name": "Kadıköy",
"slug": "kadikoy"
},
"is24Hour": false,
"hasDelivery": true,
"workingHours": {
"monday": "08:30-19:00",
"tuesday": "08:30-19:00"
},
"upcomingDuties": [
{
"date": "2024-12-28T00:00:00.000Z",
"startTime": null,
"endTime": null
}
]
}
}İller
GET
/citiesTürkiye'deki tüm illeri, plaka kodları ve eczane/ilçe sayılarıyla birlikte listeler.
Örnek Response
json
{
"success": true,
"data": [
{
"id": "uuid-xxx",
"name": "Adana",
"slug": "adana",
"plateCode": "01",
"districtsCount": 15,
"pharmaciesCount": 245
},
{
"id": "uuid-yyy",
"name": "İstanbul",
"slug": "istanbul",
"plateCode": "34",
"districtsCount": 39,
"pharmaciesCount": 3450
}
]
}İlçeler
GET
/cities/:citySlug/districtsBelirtilen ilin tüm ilçelerini ve eczane sayılarını listeler.
Örnek İstek
bash
GET /v1/cities/istanbul/districtsÖrnek Response
json
{
"success": true,
"data": {
"city": {
"id": "city-uuid",
"name": "İstanbul",
"slug": "istanbul"
},
"districts": [
{
"id": "district-uuid-1",
"name": "Kadıköy",
"slug": "kadikoy",
"pharmaciesCount": 156
},
{
"id": "district-uuid-2",
"name": "Üsküdar",
"slug": "uskudar",
"pharmaciesCount": 134
}
]
}
}Hata Kodları
API standart HTTP durum kodlarını ve tutarlı hata formatı kullanır.
Hata Response Formatı
json
{
"success": false,
"error": "Aylık istek kotanız doldu",
"code": "QUOTA_EXCEEDED",
"quota": {
"limit": 10,
"used": 10
}
}| Kod | HTTP | Açıklama |
|---|---|---|
| MISSING_API_KEY | 401 | X-API-Key header'ı eksik |
| INVALID_API_KEY | 401 | API anahtarı geçersiz veya deaktif |
| NO_SUBSCRIPTION | 403 | Aktif abonelik bulunamadı |
| QUOTA_EXCEEDED | 429 | Aylık istek kotası doldu |
| CITY_NOT_FOUND | 404 | İl bulunamadı |
| DISTRICT_NOT_FOUND | 404 | İlçe bulunamadı |
| PHARMACY_NOT_FOUND | 404 | Eczane bulunamadı |
| INTERNAL_ERROR | 500 | Sunucu hatası |