API за блиски бензински пумпи Online
Најблиските бензински станици до одредена точка или град со тековни цени по вид гориво, подредени по растојание. Покриеноста на ниво бензинска станица опфаќа 39 европски земји и е ИЗМЕРЕНА, а не фиксна: секој празен одговор го враќа тековниот список на земји со број на станици по земја во својот coverage објект, ограничен на grade што сте го побарале — затоа читајте него, а не список во ова описание — исти податоци како страниците за гориво на nakordoni.eu; користете го режимот country на fuel API за национални просеци на друго место. Цените се враќаат во валутата на секоја станица (PLN за полски станици, EUR на друго место) — читајте го полето currency за секоја станица, никогаш не споредувајте ги суровите бројки. Кога нема совпаѓачки станици, одговорот вклучува coverage објект наместо тивок празен список: station_countries и station_counts, измерени од живиот индекс (ограничени на `grade` кога сте навеле fuel_type), sparse_coverage за земјите со 25 или помалку ценовно евидентирани станици, measured_at, и fuel_type_note што ги раздвојува двете причини поради кои одговорот може да е празен — име на марка што не можевме да го препознаеме, наспроти марка што ја препознаваме но не ја ценовно евидентираме во таа земја.
GET https://nakordoni.eu/api/v2/data/fuel-stations
— класа на квота: cheap
| Параметар | Опис |
|---|---|
lat | Географска ширина |
lon | Географска должина |
city | Име на град — алтернатива на lat/lon, се претвора во координати |
country | ISO-2 код на земјата, го уточнува градот |
radius_km | Радиус на пребарување во км (стандардно 25, максимум 25; алијас: radius) |
fuel_type | Опционален филтер: diesel | e5 | e10 | superplus | super100 | premdiesel | truckdiesel | hvo | lpg | cng | adblue | e85 | lng (достапноста варира според станицата/регионот; полските станици го пријавуваат Pb95 како e5, Pb98 како superplus и ON како diesel). Се прифаќаат и локалните имиња од пумпите — ON, Olej napędowy, Pb95, Nafta, Dizel, Gázolaj, Motorină, Benzină 95, ДП, А-95, Motorin, Gasóleo, Sans plomb 95, Bleifrei … — тие се разрешуваат според `country` (или, кај производите по координати, според земјата во која паѓа точката), бидејќи истиот назив не значи насекаде ист вид: „95“ е E10 на данска, финска, француска, британска, белгиска или холандска пумпа, а E5 на полска или германска. Одговорот ги враќа `fuel_type` (каноничен), `fuel_type_requested` (како што сте го внеле) и `fuel_type_local`. Назив што не можеме да го препознаеме никогаш не се заменува со стандарден вид — одговорот се враќа празен и го соопштува тоа. Целосна табела со имиња по земји: /api/v2/data/fuel-grades. |
limit | Максимум пумпи (стандардно 5, максимум 20) |
lang | Јазик на ознаките (стандардно en) |
Полиња на одговорот — внатре во објектот data во пликот на одговорот. [] означува листа, па data.items[].name е полето name на секој елемент. Полето може да е null, да недостасува или да е празна листа кога немаме вредност — никогаш не ставаме замена.
| Поле | Опис |
|---|---|
data.anchor.lat | The point actually searched (after city geocoding), with lng, ppid and radius_km. |
data.anchor.fuel_type | The canonical grade the list was filtered to; fuel_type_requested is what you sent, fuel_type_local the local pump name and fuel_type_country the country the name was read in. |
data.stations[].name | Station, with brand and address. Each physical station appears ONCE: its grades are nested under prices, not spread over repeated rows. `brand` is the chain when we know it and null when we do not — never a placeholder token, so treat null as "independent or unknown" and fall back to `name`. Address detail varies by national feed: some report a full street address, others only the town. |
data.stations[].station_ref | Stable key for the station (name + position). Key your records on it whenever id is null — id is set only for rows that come from our station directory. |
data.stations[].prices | Object keyed by grade (diesel, e5, e10, lpg …): price, currency and currency_symbol, local_name (the pump name used in that country), label, updated_at, confirmed_at, age_hours and stale. Each station carries its own currency, so never compare the raw numbers. A station with no quote at all carries an empty object here. TWO CLOCKS, and they answer different questions — do not derive one from the other: `updated_at` is when this price last MOVED, so a forecourt that has held the same price for ten days keeps a ten-day-old stamp and that is correct, not stale data; `confirmed_at` is when we last CONFIRMED the quote against its feed, and it is the clock `age_hours` and `stale` are measured on (age_hours = now − confirmed_at). Read `confirmed_at`/`stale` for freshness and `updated_at` for price history. Both are floored to the hour, so `now − confirmed_at` can sit up to an hour above `age_hours`, which is measured before the floor; `confirmed_at` is never earlier than `updated_at`, because a price change is itself a confirmation. |
data.stations[].grades | The grade keys present in prices, alongside freshest_age_hours and a station-level stale flag (true only when NO quote of that station is current). |
data.stations[].distance_km | Distance from the anchor, with lat and lng of the station itself. |
data.count | Stations returned; data.total_found is how many matched inside the radius before limit was applied. |
data.notices | Present whenever we adjusted a parameter you sent: each entry names the param, the requested and the applied value, and the reason. |
data.coverage | Only when nothing matched. grade (the fuel_type your wording resolved to, or null), station_countries and station_counts measured from the live station index and scoped to that grade, sparse_coverage for countries with 25 priced stations or fewer, measured_at, a note explaining all of it, and fuel_type_note when the grade name could not be placed OR when we recognise the grade but price it nowhere in this country. |
curl "https://nakordoni.eu/api/v2/data/fuel-stations?city=Munich&country=DE&radius_km=20&fuel_type=diesel" \ -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"