nobetecza
v1.5.0
Published
Nöbetçi Eczane API için resmi JavaScript SDK
Maintainers
Readme
nobetecza
Official JavaScript SDK for the NobetEcza API — on-duty pharmacy data for all 81 Turkish provinces.
Installation
npm install nobeteczaRequires Node.js 18+.
Quick Start
const NobeteczaClient = require('nobetecza');
const client = new NobeteczaClient('necz_YOUR_API_KEY');
const result = await client.getOnDuty('istanbul', 'kadikoy');
console.log(result.data);Get your API key at nobetecza.com.
Methods
| Method | Description |
|--------|-------------|
| getCities() | List all 81 cities |
| getDistricts(il) | List districts of a city |
| getOnDuty(il, ilce?) | Today's on-duty pharmacies |
| getNearby(lat, lng, radius?) | Nearby on-duty pharmacies by location |
| searchPharmacy(q, il?) | Search pharmacies by name |
| getPharmacy(id) | Pharmacy detail and duty stats |
| listPharmacies(options?) | Paginated pharmacy list with duty flag |
Usage Examples
Get on-duty pharmacies in a district
const result = await client.getOnDuty('istanbul', 'kadikoy');
// result.data → array of pharmacies
// result.tarih → date string
// result.onceki_gun → true if yesterday's data is returnedFind nearby pharmacies by GPS
const result = await client.getNearby(41.0082, 28.9784, 3000);
// result.data → sorted by distance, includes .mesafe (meters)Search by name
const result = await client.searchPharmacy('merkez', 'ankara');Paginated list with duty flag
const result = await client.listPharmacies({ il: 'istanbul', page: 1, limit: 20 });
// result.data[].nobetci → true/falseError Handling
const { NobeteczaError } = NobeteczaClient;
try {
const result = await client.getOnDuty('istanbul');
} catch (err) {
if (err instanceof NobeteczaError) {
console.error(err.code, err.statusCode, err.message);
}
}Links
License
MIT
