Историја на промени на API

Сите важни промени на API. Најновите - на врвот. Ја одржуваме стабилноста v1 — без Breaking changes без нова верзија.

2026-09-14 Подобрување Поднесување вести и флотата NakBus сега и во партнерската контролна табла

Развојни сметки поврзани со сметка на Nakordoni Partners со истата е-пошта сега можат да поднесуваат вести и да управуваат со својата флота NakBus (NakDriver / NakManager) од partners.nakordoni.eu, со тимски улоги (Owner, Manager, Viewer) и најава со едно кликнување помеѓу двата портали. Страниците на порталот за развивачи, API клучевите, крајните точки на флотата и апликациите остануваат непроменети.

2026-09-08 Поправка Fuel prices: a second, honest freshness field, and two language bugs

On Fuel Prices, updated_at and the response's own age_hours/stale flag were running on different clocks: updated_at moves only when a price actually changes, but staleness was computed as if it moved on every confirmation. 46.7% of the priced index showed age_hours ≤48 and stale:false while updated_at was in fact more than 48 hours old, 12,620 stations over a week old. Each price now also carries confirmed_at — the last time we confirmed the price, hour-floored, never earlier than updated_at — and age_hours/stale are computed from it. updated_at's meaning is unchanged: use it when you want to know when the price last moved, use confirmed_at when you want to know how current it is right now. Not present on the frozen v1 contract.

Two language bugs, both silent: sending the canonical grade code as lang=pl (or any of the other 24 site languages) got fuel_type_local back in English regardless — only 10 languages were ever checked against the label table, so anything outside that list fell through to the default UI vocabulary rather than the language you asked for. Separately, lang=tr (or several other valid codes) answered station listings in Ukrainian, because an internal default of uk fired whenever the requested language did not sit in that same 10-language list. Both are fixed: the language you send is now the language you get, across all 25.

Also: brand on Nearby Fuel Stations no longer returns the raw ingest sentinel OTHER for the ~330 stations where we do not know the brand — it is null, consistent with every other unknown field in the response.

2026-09-08 Поправка Граничен AI асистент: повторено прашање враќаше 503 наместо одговорот

Граничниот AI асистент (/api/v1/data/assistant) враќаше 503 internal_error — „Асистентот е привремено недостапен“ — кога истиот клуч го поставуваше истото прашање двапати во рок од пет минути. Ништо не било недостапно: во повеќето од тие случаи одговорот веќе бил пресметан и подготвен за враќање. Сега се враќа нормално, со ok: true и HTTP 200.

Кога повторувањето пристигнува додека првиот одговор сè уште се подготвува, повикот сега враќа 429 со error.code еднаков на duplicate_request наместо 503, за да може политиката за повторни обиди да разликува „обидете се повторно за момент“ од вистински прекин. Двата случаја исто така се сметаа во стапката на грешки на вашата сметка како серверски грешки; повеќе не се сметаат. Ништо во барањето не се менува — ниту параметар, ниту верзија. duplicate_request е наведен заедно со другите кодови за грешки во референцата.

2026-09-08 Поправка Truck Parking враќа само именувани локации, а паркинзите насловени со сопствените координати сега носат вистински имиња

Truck Parking (/api/v2/data/truck-parkings) враќаше записи со name еднакво на null и празен address — во близина на Bensheim, 20 од 50. Тоа се места што ги чуваме само како координата, без ништо за прикажување и без ништо за спарување со вашиот сопствен сет на POI. Тие повеќе не се дел од овој производ: тој сега опслужува само именувани локации, моментално повеќе од 22.000 низ Европа. Ако самите сте ги филтрирале неименуваните записи, тој код сега е излишен, но безопасен. Одговорите стануваат пократки за истиот radius и limit, а секој запис што се враќа е употреблив.

Одделно, околу 10.000 паркинзи носеа сурова двојка координати како name, на пример 51.927301,10.14112, додека вистинската ознака стоеше во address. Сега ја носат таа ознака — Ionity, Seesen, Rest Area A5 E35 Kaelberpfad, Bensheim — секаде каде што се појавуваат, вклучително и на /api/v1/data/pois. id на секое место е непроменет, па кешираното мапирање останува важечко; се разликува само name.

2026-09-08 Ново Снимката на редицата сега ја носи сопствената временска зона на граничниот премин

snapshot.updated_at на /api/v1/data/queue и /api/v1/data/multi е локално време во сопствената зона на граничниот премин (на пример Europe/Istanbul, Europe/Sofia, Europe/Budapest, Europe/Warsaw, Europe/Kyiv), а досега ништо во одговорот не кажуваше која е таа зона, па повикувачот не можеше да го претвори во конкретен момент. snapshot добива додатно поле timezone (IANA име) покрај updated_at. Нема параметар, нема верзија, нема промени во други полиња.

2026-09-08 Подобрување Покриеноста за гориво се мери од живиот индекс на станиците, а не се зема од фиксна листа земји

Досега секоја крајна точка за гориво ја опишуваше сопствената покриеност со рачно пишана листа: AT, DE, DK, ES, FR, HR, IT, LU, PL, PT, SI, при што Полска во неа беше сведена на подрачјето на Тримјасто. Двете тврдења одамна беа застарени. Покриеноста сега се мери од живиот индекс на станиците и се пресметува одново на секои шест часа: 39 земји денес имаат станици со цени, а Полска меѓу нив на цела територија, а не во три градови. Во самото барање не се менува ништо: ниту параметар, ниту верзија.

Бензински станици во близина и Најевтино гориво: кога пребарувањето не враќа ништо, блокот coverage сега носи измерени station_countries, station_counts, sparse_coverage и measured_at, стеснети на побараниот вид гориво, а не на горивото воопшто. Една земја завршува во sparse_coverage кога во неа имаме 25 станици со цени или помалку — тоа е броење, а не проценка.

Се појавува нова забелешка за вид гориво што го препознаваме, но што никој не го цени таму каде што прашувате. Досега coverage.fuel_type_note се појавуваше само кога самото име од пумпата ни беше непознато. Сега се појавува и кога името се препознава правилно, но во таа земја едноставно нема цена за него; во неа се именувани земјите каде тој вид има цени и видовите што ги цениме околу вас. Чешкото име Natural 100 е чистиот пример: се препознава, но ниту еден извор не дава цена за него во Чешка. Празниот одговор повеќе не изгледа како расипано барање.

Видови гориво (/api/v2/data/fuel-grades) добива priced_countries и priced_station_counts за секој вид, плус priced_here кога ќе го пратите ?country=. Двете листи значат различни работи: земја во countries е онаа каде што го прифаќаме тоа име од пумпата, додека priced_countries покажува каде извор навистина дава цена, па priced_here со вредност 0 е вистински одговор, а не празнина во одговорот. Се носат и coverage_measured_at и coverage_note, а Cache-Control паѓа од 24 часа на 6, за да одговара на честотата на пресметување.

Се препознаваат и повеќе локални имиња од пумпите, меѓу нив Klimadiesel 90 (HVO100) и HVO Diesel, Erdgas и Metano, Autogas и Autogaz, DEF за AdBlue, како и низа брендирани имиња на премиум дизели и бензини. Редоследот на препознавање е непроменет и совпаѓањето останува точно, па ниту едно име што работело порано денес не значи нешто друго, а ново име може најмногу празен одговор да го претвори во одговор со цени. Истовремено ја поправивме референтната документација и описите на крајните точки на сите 25 јазици на сајтот.

2026-09-07 Поправка API-то за најевтино гориво повторно рангира според цена; полињата на одговорот за гориво се документирани онака како што се сервираат

Cheapest Fuel (/api/v2/data/fuel-cheapest) ги враќаше најблиските станици подредени по растојание, наместо најевтините. Бидејќи рангирањето се применуваше пред резултатот да биде отсечен до вашиот limit, најевтините пумпи во вашиот радиус можеа целосно да недостасуваат од одговорот. Рангирањето сега е точно: прво најевтина за бараниот вид гориво, при изедначување победува најблиската, а станица без понуда за тој вид гориво се рангира последна. Ништо во барањето не се менува — ниту параметар, ниту верзија.

Одговорите на v2 за гориво се исто така документирани онака како што реално се сервираат: станиците пристигнуваат под data.stations[], по еден запис за секоја физичка станица, при што секој вид гориво е вгнезден во објектот prices (price, currency, local_name, updated_at, age_hours, stale), плус station_ref, grades, total_found и notices. Референцата за Nearby Fuel Stations и Cheapest Fuel сè уште го опишуваше постариот рамен список редови data.data[].

2026-09-07 Ново Додатоци „Дополнителни земји“ и „Дополнителни барања за прогнози“; вклучени земји по план од 10 ноември 2026

На страницата за наплата (месечно јазиче) се достапни два додатока врз кој било план, без да го менувате: Дополнителни барања за прогнози — +100 барања за прогнози и статистика дневно по блок, €2 месечно по блок, до 10 блока; и Дополнителни земји — +1 земја за пријавување по единица, €2 месечно за секоја. Промената на количината прикажува точна пропорционална понуда пред да биде наплатено што било.

Од 10 ноември 2026 секој план вклучува определен број пријавени земји: Explorer и Student 4, Starter 10, Pro и погоре неограничено. Од тој датум нема да може да се зачува пријава подолга од планот плус купените дополнителни земји; јазичето Сметка веќе го покажува вашиот лимит, а сметките што веќе го надминуваат гледаат предлог на таблата. Пред 10 ноември ништо не се менува.

2026-09-07 Подобрување Песочникот сега го покажува трошокот од квотата пред и по секое барање

Песочникот на API сега ја означува секоја крајна точка во списокот со нејзината класа на квота (Тежок / Стандарден), го покажува трошокот од квотата за избраната верзија пред да стартувате што било, а по барањето покажува колку истото барање би чинело од вашата продукциска квота — вклучувајќи ја формулата ceil(N ppids × M sub-products / 2) што се користи за барања од видот /multi.

Ова е преглед само за читање: самите барања во песочникот се одземаат од одделниот тест-буџет на песочникот, никогаш од вашата продукциска квота.

2026-09-07 Несовместливо Најавените повлекувања се затворени за сметки создадени по најавата

Од денес, сè што јавно сме најавиле дека се повлекува е затворено за развивачки сметки создадени на датумот на најавата или подоцна. Ако вашата сметка постоела пред најавата, ништо не се менува — го задржувате целиот грејс-период, сè до датумот на повлекување наведен во записот што го најави.

Зошто постои ова правило. На 24 август 2026 година најавивме дека truck-bans v1 се повлекува на 8 септември 2026 година. Две сметки се регистрираа неколку дена по таа најава, ја изградија својата интеграција врз v1 и беа на часови од 410 без ниту една наша е-пошта да стигне до нив: и најавата и пакетот известувања беа пред нивната регистрација. Ништо во API не ги спречи да усвојат верзија за која веќе бевме кажале дека си оди. Тоа беше наш пропуст и ова е поправката — не можете одново да усвоите нешто што е веќе закажано за отстранување.

Како изгледа. Таквиот повик се одбива со 410 Gone и код на грешка version_closed_to_new_accounts. Пораката ги наведува датумот на повлекување, датумот на најава и верзијата што треба да се користи наместо неа. Намерно е различен код од version_sunset, кој го добива секоја сметка откако ќе помине самиот датум на повлекување — поддршката така разликува „дојдовте предоцна за да почнете“ од „ова го нема за сите“ без да чита лог.

Задржувањето на пристапот се определува според датумот на создавање на сметката, а не според првиот повик. Ако сте се регистрирале пред најавата, но интеграцијата ја почнувате дури сега, сепак го добивате целиот грејс-период: можеби сте граделе врз неа цело време.

Во сила од сега за truck-bans v1 (најавено на 24 август 2026 година, се повлекува на 8 септември 2026 година) и автоматски за секое повлекување што ќе го најавиме отсега натаму. Од вас не се бара ништо ново: секој одговор на верзија што се повлекува веќе ги носи заглавијата Deprecation, Sunset и Link: rel="successor-version", па новата интеграција може да го види повлекувањето што доаѓа без да ја чита оваа страница.

2026-09-07 Несовместливо Списоците destination одделени со запирки во v1/v2 престануваат заедно со destination=all; поправен е примерот за v4 во документацијата

Продолжение на вчерашната промена во v4 (тикет за програмери #105). Списоците destination одделени со запирки во v1 и v2 продолжуваат да работат, но сега подлежат на истиот рок како destination=all: и двете застануваат на 2026-10-06 (дотогаш заглавја Deprecation/Sunset, потоа 400 destination_list_removed, што ја посочува /api/v4/ како замена). Постојната проверка за лимит од 10 елементи кај списоците со запирки останува непроменета до тој датум.

v4 останува со една дестинација по барање — тоа денес не се смени. Се смени само како се соопштуваат v1/v2: грешката 400 за destination=all повеќе не предлага список со запирки како пат за миграција (би згаснал на истиот датум), туку упатува директно на v4.

Поправка во документацијата: примерот за v4 на оваа страница претходно гласеше /api/v4/data/border/1/2,3,4/9 — список со запирки, што v4 го отфрла. Сега е /api/v4/data/border/1/2/9. Секој што го копирал стариот пример би добил 400 при првото барање; се извинуваме.

Нов преведен клуч product_border_v4_p_destination излегува на сите 25 јазици на страницата и изрично го наведува правилото за една дестинација во v4, наместо да се потпира на формулацијата од v1/v2.

2026-09-06 Несовместливо Border Queue v4: една дестинациска земја по повик, а destination=all се повлекува на 6 октомври 2026

/api/v4/data/border/{origin}/{destination}/{crossing_type} е достапен од денес. Три работи се менуваат во однос на v2 и токму заедно тие се причината зошто ова е нова верзија, а не измена.

1. Нема повеќе destination=all. Нашите податоци се лиценцирани по земја (Developer API Terms, дел 7), а џокер што се проширува во „секој сосед за кој држиме податоци“ враќа земји за кои вашата сметка можеби нема одобрение — без ништо во барањето што би го покажало тоа. Во v4 вие ја именувате земјата.

2. Една дестинациска земја по повик. /api/v4/data/border/1/2/9 бара една граница. Списоци со запирки не се прифаќаат: испратете 1/2/9, 1/3/9 и 1/4/9 како одделни повици. Список со запирки или all одговара со 400 и ги именува точните повици што треба да се испратат, така што ништо не паѓа тивко.

3. Еден код за камиони. v1 и v2 го делеа товарниот сообраќај на 8 (Freight Transport) и 9 (Freight Transport up to 7.5 t). Таа поделба е реална на самиот премин, но ниту еден интегратор не може да дејствува според неа: барањето на 9 од v2 на границата UA-PL враќаше 21 од 70-те камионски премини и ништо не го кажуваше тоа. v4 одговара на 9 со сите камионски ленти и го прифаќа 8 како алијас на 9. Секој ред го носи својот crossing_type, па споениот одговор останува проверлив.

Во v1 и v2, destination=all продолжува да работи до 6 октомври 2026 и до тогаш носи Deprecation / Sunset заглавја. Од тој датум и тие верзии одговараат со 400 за all — останатиот дел од v1 и v2 е недопрен и останува достапен. Истиот датум важи и за другите кратенки за сите земји: travel-matrix без ?dest=, bus-carriers со ?ppid=all и fuel-grades без ?country=.

v3, објавена порано денес, е заменета со v4. v3 се разликуваше од v4 само по тоа што сè уште прифаќаше список со запирки, а ниту една интеграција не ја користи таа форма. URL-адресите на v3 продолжуваат да одговараат за да не се скрши ништо напишано за нив, но v3 не е документирана и нема да се развива понатаму — мигрирајте на v4.

Сè друго во v4 е како во v2: насочен редослед на патеката, direction{from,to}, stale и ?max_age_min=.

2026-09-06 Поправка Идентификаторите на земји и кодовите за типови возила сега се документирани — а 8/9 беа обратно

Нумеричките идентификатори во /border/{origin}/{destination}/{crossing_type} никогаш не беа објавени како табела, па интеграторите ги реконструираа од временски зони и примерни URL-адреси. Сега се во документацијата под Кодови на земји и типови возила, генерирани од истите табели според кои API-то валидира — идентификатори на земји со границите во кои се проширува секој од нив, и секој crossing_type со ознаката што ја враќа API-то.

При објавувањето откривме дека песочникот и метаподатоците на крајната точка го опишуваат 8 како „truck<7.5t“, а 9 како „truck“. Тоа е обратно: API-то го означува 8 како Freight Transport, а 9 како Freight Transport up to 7.5 tons, и отсекогаш било така. Ако сте избрале код за камион од наговестувањето на параметарот, сте ја филтрирале спротивната лента од онаа што ја мислевте. Поправено насекаде, а v3 целосно го отстранува тој избор.

2026-09-06 Подобрување Developer API Terms v1.1 — што значи „пазар“ и две измени во ваша полза

API Terms v1.1 ги заменуваат v1.0 пред тие да стапат на сила и важат од 6 октомври 2026. Ве молиме прифатете ги во вашата контролна табла.

Делот 7 сега кажува што е Пазар: земјата чии податоци ги користите — таму каде што е граничниот премин или границата што ја барате — а не земјата во која живеат вашите корисници. Нашата контролна табла на различни места го тврдеше и едното и другото; спроведувањето отсекогаш го подразбираше првото.

Две измени во ваша полза. Земјите што се веќе одобрени за вашата сметка остануваат употребливи додека подоцнежна измена е на разгледување (додавањето земја веќе не ги суспендира оние што ги имате). А ако не сме одговориле на пријава за пазар во рок од 5 работни дена, важат целосните ограничувања на вашиот план сè додека не одговориме.

Делот 10.3 сега одговара на она што контролната табла навистина го бара, а делот 13.2 наведува основа за достапност што ја мериме и можеме да ви ја покажеме.

2026-09-05 Подобрување Ново: data_quality знаме на Queue, Live Queue & Freshness и Multi-Checkpoint

Три производи сега носат додатно поле data_quality (high или low) што означува дали отчитувањето е реално набљудување или проценка од модел без жив извор на броење на тој премин: queue (на snapshot од најгорно ниво и на секој историски ред во data[] — отсуствува кај редовите со прогноза), update-info (на пликот) и multi (и на queue и на update_info подобјектите за секој премин). Ова не е нов сигнал — основното знаме веќе постоеше интерно — но никогаш не беше изложено, па целосно моделиран премин изгледаше идентично со директно измерен. is_realtime намерно останува непроменето: сè уште враќа true за моделирани редови, а менувањето на тоа значење е кршечка измена на ниво на v2 што овде не ја правиме.

Исто така во ова издание: производот queue-advanced повеќе не ги пренесува суровите временски податоци од изворот. weather_main, temperature и wind_speed се заменети со изведен condition_code (скала на опасност 0–5, null кога нема достапни временски податоци), condition и severity.

2026-08-25 Застарено Multi-Checkpoint API: 5 гранични премини по барање од 2026-08-30

Од 2026-08-30 едно барање /api/v1/data/multi добива одговор за најмногу 5 гранични премини. Повик што наведува повеќе PPID не се отфрла: сè уште враќа 200, но одговор се дава само за првите 5 ID во ?ppids=. Останатите ID се игнорираат, се враќаат во meta.ppid_cap.ignored и не се одземаат од вашата квота — повикот се наплаќа според тоа што навистина го враќа.

Додека повикот го надминува ограничувањето, одговорот содржи заглавие X-Devapi-Warning: multi_ppid_cap и блок meta.ppid_cap со полињата cap, enforced_from, enforced, ppids_asked, ppids_answered и ignored[]. До 2026-08-30 овие полиња се појавуваат со enforced: false и со целосниот сет резултати, за да можете да ја видите претстојната промена во сопствените логови.

Попустот на квотата од една половина останува непроменет. Поделете ги вашите гранични премини во групи по 5 и испраќајте по еден повик за секоја група во вашиот вообичаен циклус на освежување; за често барање само на должината на редицата и свежината на податоците, update-info останува поевтиниот производ од стандардната класа.

2026-08-25 Подобрување Украинската забрана поради горештини сега го следи вашиот период од датуми (v2)

Пресметуваната украинска забрана поради горештини — се враќа со include_ua_heat, а при country=UA автоматски — сега одговара за периодот од датуми што го барате. Порано ги враќаше следните седум дена без оглед на date_from и date_to, па декемвриски прозорец тивко ги враќаше редовите од оваа недела. Забраната се пресметува од временската прогноза, а не се чита од календарот на забрани, па има две граници што календарот ги нема: не гледа наназад и завршува таму каде што завршува прогнозата. Вашиот период сега се пресекува со тоа што прогнозата навистина го покрива, а новото поле ua_heat_ban.forecast_horizon ја именува последната достапна дата. Период надвор од тој хоризонт не враќа редови и објаснува зошто во summary — што не е исто како „нема забрана“. Одговорите на v1 се непроменети.

2026-08-25 Подобрување Секој производ сега ги документира полињата на својот одговор

Формата на одговорот досега не беше опишана никаде — единствениот начин да се дознае што враќа производот беше да се повика. Сега на страницата на секој производ, под табелата со параметри, стои табела Полиња на одговорот со краток опис на секое поле; полињата на елементите од листа се прикажуваат како items[].name, а полињата на ниво на плик (usage, meta, snapshot, resolved_location) — без префикс. Опишани се 40 од 42 производи: двата сè уште непуштени (weather, road-quality) намерно остануваат без опис. Истата табела се објавува и во нашето јавно огледало на документацијата на GitHub.

2026-08-25 Ново Локални имиња на горивата во API

Секој горивен производ сега го прифаќа локалното име на горивото, а не само нашето внатрешно запишување: ON во Полска, Nafta во Чешка, Gázolaj во Унгарија, Motorină во Романија, ДП во Украина, Motorin во Турција, Gasóleo во Португалија и Шпанија. Името се толкува прво според земјата — „95“ е E10 на данска пумпа и E5 на полска — затоа испраќајте country заедно со локалното име или координати по кои можеме да ја лоцираме точката. Во одговорот се враќаат fuel_type (канонското), fuel_type_requested (како што го напишавте) и fuel_type_local. Име што не можеме да го лоцираме никогаш не го заменуваме со стандардно гориво: одговорот доаѓа празен и тоа јасно го кажува.

Целата табела сега е посебен производ — GET /api/v2/data/fuel-grades[?country=PL][&fuel_type=ON] — нашите канонски горива и нивните локални имиња во 41 европска земја, вклучувајќи пазари за кои не даваме цени. Освен тоа, државното и регионалното ниво на fuel и fuel-local добија објект grades што секој ценовен клуч го поврзува со горивото и со неговото име на пумпа.

2026-08-25 Подобрување Truck Bans API v2: барање за конкретен датум или опсег датуми

Производот truck-bans сега одговара за конкретен датум или опсег датуми на адресата /api/v2/data/truck-bans. Досега секогаш ги враќаше следните 7 дена и го игнорираше испратениот датум, па составувањето календар бараше по едно барање на ден — а на план со две барања во секунда повеќето од нив се одбиваат со 429 qps_exceeded.

Користете ?date=YYYY-MM-DD за еден ден или ?date_from= и ?date_to= за опсег. Двата краја се вклучени и кој било може да се изостави: почетокот стандардно е денес, крајот е почетокот плус 7 дена. Прозорецот може да опфати најмногу 92 дена — подолг се одбива со 400 date_range_too_long, наместо да биде тивко скратен. Ова е календар насочен нанапред: прозорецот може да започне најмногу 7 дена наназад, а постарите датуми се одбиваат, а не се служат — покриеноста стигнува нанапред до 31 декември 2028 година во 23 земји.

Секој одговор сега содржи објект window што го именува точниот опфатен опсег. Тоа е дополнително поле и се испраќа и во v1, при што v1 го задржува непроменет својот фиксен 7-дневен прозорец. Внимание: include_ua_heat секогаш ги опфаќа следните 7 дена, каков и да е бараниот прозорец — се пресметува од временска прогноза, а не од календарот на забрани. Потсетуваме дека v1 на овој производ се повлекува на 8 септември 2026 година.

Две поврзани подобрувања низ целиот API: секој параметар што производот не го прифаќа сега е наведен во ignored_params во одговорот, наместо тивко да биде отфрлен, а грешките при проверка од сервисот за податоци стигаат до вас онака како што се напишани, со машински читлив код во error.reason.

2026-08-25 Подобрување Заглавието X-API-Key се прифаќа, појасна грешка при недостасувачки клуч, has_day_stats во директориумот checkpoints

Три поправки на квалитетот на одговорите од ревизија на портата (тикет #43).

Заглавието X-API-Key сега се прифаќа покрај Authorization: Bearer и ?key=. Ако вашиот HTTP клиент испраќа клучеви преку заглавие со име X-API-Key, тоа сега работи — претходно тивко се игнорираше и повикот се одбиваше како missing_api_key. Authorization: Bearer останува документираната и препорачана форма.

Пораката за грешка при недостасувачки клуч сега ги именува сите три начини за автентикација (заглавие Bearer, заглавие X-API-Key или ?key=) наместо само да води кон страницата за регистрација.

Директориумот checkpoints сега носи has_day_stats во секој ред — додаден булев флаг што кажува дали API-то Best Time to Cross (day-stats) има податоци за тој граничен премин. Day-stats постојат само за дел од следените премини; проверете го овој флаг пред да пратите барање, за да избегнете предвидливи 404. Постојните полиња остануваат непроменети.

Поправено и во документацијата: производот road-conditions отсекогаш го почитуваше параметарот lang за локализација на етикетите — само не беше наведен.

2026-08-24 Подобрување Truck Bans API: земји одделени со запирка, полиња за комплетност и v2 со задолжителен опсег

Две поправки и една нова верзија за производот truck-bans.

Земјите одделени со запирка сега работат. ?country= прифаќа листа од најмногу 3 ISO-2 кода, на пример ?country=DE,RO. Подолга листа се одбива со 400 too_many_countries наместо тивко да се скрати — ова е календар на забрани по земја, а не масовен фид. Ова претходно не работеше: одделувачот се отстрануваше, па DE,RO се читаше како единствен токен DERO, не се совпаѓаше со ништо и враќаше success: true со total_bans: 0 — самоуверено „нема забрани“ за две земји што заедно имаа 22. Ако го заобиколувавте со по едно барање по земја, сега едно барање ги покрива сите и чини еден повик наместо неколку.

Одговорите сега ја пријавуваат сопствената комплетност. Три додадени полиња — returned, total_available и truncated — ви кажуваат дали одговорот бил скратен. Особено повик без опсег враќа скратен исечок, а досега ништо во телото не го кажуваше тоа. total_bans го задржува досегашното значење (редови во овој одговор), па ништо што веќе го парсирате не се менува.

v2 има опсег по земја. На /api/v2/data/truck-bans, ?country= е задолжителен, а барање без опсег се одбива со 400 scope_required — овој производ е календар на забрани по земја, а не масовен фид. v1 денес е непроменета — сè уште прифаќа повик без опсег и сè уште ги враќа истите скратени 50 редови како и досега, па ништо што ви работи не се крши во моментов. v1 на овој производ се повлекува на 8 септември 2026 година. Работи нормално до 7 септември; од 8 септември барање кон v1 се одбива со 410 Gone и порака што упатува на v2. Дотогаш секој одговор на v1 носи Deprecation: true, заглавие Sunset со тој датум и заглавие Link што ја именува наследничката верзија, така што клиентска библиотека може да го прикаже рокот без никој да ја чита оваа страница. За миграција: сменете го сегментот на верзијата во /api/v2/data/truck-bans и предајте ?country=.

Една исправка во документацијата: параметарот date е отстранет. Долго беше наведен, но услугата никогаш не го читаше, па секое барање што го праќаше тивко го добиваше стандардниот 7-дневен прозорец наместо денот што го бараше. За да изберете ден, филтрирајте ја низата upcoming_bans според нејзиното поле date. ISO-3 код како DEU исто така повеќе не се претвора во име на земја во резимето, каде што ја произведуваше заблудувачката „No truck ban data for: Germany.“

2026-08-24 Подобрување Truck Bans API: пет нови земји и покриеност продолжена до 2027 година

Производот truck-bans сега враќа национални сообраќајни ограничувања за уште пет земји: Белгија (BE), Белорусија (BY), Црна Гора (ME), Северна Македонија (MK) и Шведска (SE). Постојната покриеност за Бугарија, Грција и Португалија е проширена и освежена — грчките ограничувања сега достигнуваат до септември 2027 година, а Португалија повторно е пополнета.

Структурата на одговорот е непроменета. Новите редови ги носат истите клучеви како и секоја друга забрана: date, time_from, time_until, restriction_type, restriction_details, min_weight_tons и details_url. Кога ограничувањето важи само под одреден услов — белоруските летни забрани, на пример, важат над 25 °C — тој услов е наведен во restriction_details, па прочитајте го ова поле пред да предупредите возач. min_weight_tons е null кога правилото се однесува на класа превоз (опасни материи), а не на тонажа.

2026-08-24 Подобрување Бензински станици: цени по станица во Полска и знаменце sparse_coverage

Производите fuel-stations и fuel-cheapest сега враќаат цени по одделна станица во Полска. Покриеноста е делумна — подрачјето Триместо (Гдањск, Гдиња, Сопот) — па затоа Полска е означена во нов додатен низ coverage.sparse_coverage покрај постојниот список coverage.station_countries. Земја наведена во sparse_coverage има податоци за станици само за дел од својата територија; барање на друго место во таа земја враќа празен список заедно со белешката за покриеност, исто како и досега. Полските цени се изразени во PLN.

И пораката за грешка при масовно барање е појасна: кога недостига lat, пораката scope_required сега упатува на производот fuel (?country=XX) за просечни цени на ниво на земја.

2026-08-22 Подобрување API за локални цени на гориво: ново ниво region за Украина

GET /api/v2/data/fuel-local?lat=&lon= сега ја определува цената на три нивоа наместо на две: station, потоа region, потоа country. Новото средно ниво постои за Украина, каде цени по поединечни станици нема никаде: точка во Украина сега го добива просекот на својата област наместо националниот просек и се враќа на националниот просек само кога за областа нема котации.

Одговорот од нивото region го содржи кодот на областа (вредност по ISO 3166-2, на пример UA-46), region_name и region_center_dist_km, како и истите ценовни клучеви како нивото на земјата. Продолжете да го разгранувате кодот според resolution, никогаш според формата на одговорот; одговорите station и country остануваат непроменети.

2026-08-22 Ново Нов производ: API за локални цени на гориво

Новиот ендпоинт GET /api/v2/data/fuel-local?lat=&lon= ја враќа најдобрата достапна цена на гориво за која било точка во Европа. Таму каде што имаме податоци по поединечни станици, одговара со цените на најблиските станици, инаку со националниот просек на земјата во која се наоѓа точката – вклучувајќи ја Украина, каде цени по поединечни станици нема никаде.

Секој одговор го содржи полето resolution, кое го именува нивото што одговорило: station (список станици со distance_km, секоја во сопствена валута) или country (еден објект со национални просеци). Разгранувајте го кодот според resolution, никогаш според формата на одговорот. Достапно од /api/v2/ наваму; fuel, fuel-stations и fuel-cheapest остануваат непроменети.

2026-08-19 Подобрување Бензински станици: 13 видови гориво и посвежи податоци за Германија

Производите fuel-stations и fuel-cheapest сега покриваат значително повеќе станици во Германија, а цените се освежуваат во текот на целиот ден — вклучително и руралните области. Параметарот fuel_type прифаќа 13 видови гориво: diesel, e5, e10, superplus, super100, premdiesel, truckdiesel, hvo, lpg, cng, adblue, e85 и lng. Кога ниту една станица не одговара на барањето, одговорот содржи објект coverage со список на земјите за кои има податоци за станици.

2026-08-19 Подобрување Поправки на квалитетот на податоците: алијас radius=, белешки за покриеноста со гориво, попрецизно планирање на граничните премини за камиони

Параметарот radius= сега се прифаќа како компатибилен алијас за radius_km кај сите производи што го документираат. Производите fuel-stations и fuel-cheapest враќаат дополнителен објект coverage (список на земји со станици плус белешка) наместо тивок празен резултат кога ниту една станица не одговара. Објектите на граничните премини во route-plan сега го содржат дополнителниот клуч wait_basis (car_lane наспроти vehicle_lane), за да можат клиентите да препознаат кога податоците за чекање на камиони се преземени од лентата за патнички возила. Совпаѓањето на камионските гранични премини по должина на маршрутата е значително попрецизно: резервни податоци од патничката лента за парови премини без податоци за товарната лента, заштита од погрешна насока, построг праг на растојание и отстранување дупликати на премини на иста позиција. Сите промени се додатни, без промени што ја нарушуваат компатибилноста.

2026-08-13 Подобрување Редизајнирана насловна страница на порталот: котви на секции, мобилни апликации, целосна i18n

Насловната страница за развивачи сега има секции со котви (#products, #plans, #quickstart, #integrations, #datasets, #apps, #companies, #showcase) со навигација за брз премин, а секоја картичка на производ води до сопствена страница со документација. Новата секција Mobile apps ги претставува Kordon Online и Truck Bans со врски до Google Play. Дополнување на преводите: историјата на плаќања, грешките при најава, врските до sandbox и копчето за избор на план сега се локализирани на сите 25 јазици.

2026-08-12 Ново NakBus Live: двонасочна комуникација со возачот

Одговорот на маякот на флотата (POST /api/v1/fleet_position.php) сега вклучува низа messages што ги доставува пораките што чекаат од сопственикот до возачот. Нов JSON тек во живо само за сопственикот (?ajax=live) и картичка „Пораки до возачите“ на таблото на флотата. Нова страница за покана на возач /{lang}/get-nakbus (25 јазици).

2026-08-12 Ново Документацијата на Fleet API преведена на 25 јазици

Локализирани се насловот, описот и параметрите на product_fleet_vehicles/live/history, како и параметрите за историјата на флотата, на сите 25 јазици на порталот за развивачи.

2026-08-12 Подобрување Truck Bans API: обединети клучеви на одговор низ сите гранки

/api/v1/data/truck-bans сега враќа ист сет на полиња на највисоко ниво без разлика кое барање го предизвикало одговорот. Претходно, барање за држава без календарски забрани, непрепознаен ppid, или нормално совпаѓање во базата на податоци можеле секое да испуштат различни полиња (на пр. country, covered_countries, ppid). Сега секој одговор доследно ги вклучува as_of, bans_by_country, countries_not_covered, country, covered_countries, current_bans, is_ban_active, lang, page_url, ppid, relevant_countries, source, success, summary, total_bans и upcoming_bans (null или празно каде не се применува), што го поедноставува парсирањето на страната на клиентот.

2026-08-12 Ново 9 нови API за возачи: паркиралишта за камиони, продавници, бањи, ресторани, индустриски зони, бензински пумпи, најевтино гориво, интернет точки, винети

Девет нови производи по услуга. Оние поврзани со локација прифаќаат lat/lon или city + country (градот го геокодираме наместо вас): /api/v2/data/truck-parkings, /api/v2/data/shops, /api/v2/data/showers, /api/v2/data/restaurants, /api/v2/data/industrial, /api/v2/data/fuel-stations, /api/v2/data/fuel-cheapest (станици рангирани по цена за одреден вид гориво) и /api/v2/data/internet-points; резултатите содржат distance_km и се ограничени со radius. /api/v2/data/vignettes одговара дали земјата бара винета, со тековни цени. Постојниот производ pois сега ги поддржува lon и radius според документацијата, а режимот mode=nearest на производот fuel исто така прифаќа lon. Сите девет се достапни во sandbox.

2026-08-12 Подобрување Truck Bans API: детали за ограничувањето, линкови на сопствен домен, параметар lang

Секоја забрана во /api/v1/data/truck-bans сега вклучува restriction_type (General / Local / Sunday / Holiday / Seasonal), restriction_details (точниот опфат или засегнатите патишта) и min_weight_tons. details_url сега покажува кон страници по земја на nakordoni.eu. Нов опционален параметар lang го избира јазикот на имињата на земјите и резимето; стандардно сега е англиски.

2026-08-09 Подобрување Појасни грешки за ppid и документација

Неисправен ?ppid= сега ја враќа вистинската причина наместо кусото "Request failed": грешката го именува параметарот, очекуваниот формат id_<number> и упатува на /api/v1/data/checkpoints. Табелите со параметри за stats, forecast, update-info, weather и bus-carriers сега го прикажуваат примерот id_13 на сите 25 јазици.

2026-08-08 Ново Дизајнот V2 на порталот сега е стандарден

Редизајнираната обвивка на порталот (горна лента, странична лента со икони, KPI табла, распореди со картички) сега е стандардна за сите најавени развивачки сметки — порано од планираното пуштање на 10 август. Користете ?v=1 за да се вратите на класичниот распоред во секое време.

2026-08-08 Подобрување Порталот за развивачи сега е без реклами

Сите страници на порталот за развивачи — почетна, документација, табла, AI Studio, песочник, тикети, барања, извоз, возен парк, вести, дневник на промени и страниците на сметката — повеќе не вчитуваат никакви рекламни скрипти или рекламни места. Ова важи за целиот портал, а не само за најава и регистрација како порано.

2026-08-05 Ново Нов производ: API за планирање на маршрута (v2)

Испланирајте го целото патување преку граница со едно повикување: /api/v2/data/route-plan ја враќа маршрутата, граничните премини што навистина лежат на неа, со тековна редица или прогноза за времето на вашето пристигнување, и застанувањата што возачот навистина ги прави — одмор, јадење, полнење гориво — на една временска оска.

Границата е дел од таа оска. Долгата редица се смета за веќе достасана пауза и го ресетира времето зад воланот, па тричасовото чекање никогаш не се прикажува како три часа плус целосен сет паузи што никој не ги направил. За патничките возила важи модел на безбедно возење; автобусите и камионите добиваат задолжителен одмор според ЕУ 561/2006, а сервисното време на автобусите е калибрирано на повеќе од 1000 лиценцирани меѓународни возни редови. Додајте stop_places=1 за секое застанување да добие вистинска одморалиште или бензинска, и via=lat,lon за да поминете преку друг премин.

2026-08-05 Ново Партнерска презентација — живи податоци, прилагодени на вашиот пазар

Ново во менито на порталот: Презентација — жива, секогаш актуелна презентација на податочната платформа nakordoni, прилагодена на вашиот пазар (осигурување, патувања, логистика, превозници, медиуми, навигација, гориво, финтех, јавен сектор или лични проекти). Прикажува реални 30-дневни обеми на платформата, вашето сопствено користење на API, статистики за време на одговор и ограничувања, како и препорака за план кога вашите повици ќе ги достигнат границите на бесплатното ниво. Изберете или потврдете го вашиот пазар (или пазари) на страницата, во профилот — или при регистрација. Се отвора автоматски при првата посета; автоматското отворање може да се исклучи на самата страница.

2026-08-01 Поправка AI Studio: каналите без потребниот контекст се прескокнуваат, а не се наплаќаат

Ако асистентот има вклучен канал, но повикот не го носи контекстот што му треба на тој канал — на пример queue без ppid— каналот сега се прескокнува пред каков било повик и не се наплаќа. Порано сепак се повикуваше, паѓаше и сепак чинеше една единица. Студиото покажува што му треба на секој канал, ја пресметува цената додека го пополнувате контекстот и ги означува резултатите ✓ извршен / ⊘ прескокнат, без наплата / ✕ неуспешен; API враќа data.feeds_skipped , што точно ви кажува кој параметар да го проследите.

Одговорите повеќе не спомнуваат канали, извори на податоци или што било техничко: канал што недостига е најмногу една обична реченица до крајниот корисник, никогаш внатрешно име. Каналите само со изборни филтри (како fuel , стеснет на земја за која немаме податоци) сега се враќаат на широкиот сет податоци наместо да не вратат ништо.

2026-08-01 Ново AI Studio: изградете сопствен асистент врз вашата содржина + нашите живи податоци

Ново: /{lang}/developers/studio. Изградете AI асистент што одговара од вашата содржина и нашите живи гранични податоци. Дајте ни го вашиот markdown или само посочете ги страниците и ние ќе ги преземеме и индексираме — вие одржувате само сопствени датотеки. Изберете кои наши канали смее да користи (редица, прогноза, алтернативи, дневна статистика, гориво, забрани за камиони, трговски недели, празници, состојба на патиштата, автобуски превозници, POI, валута), изберете ниво на модел (брз / избалансиран / про — токму тоа ја одредува цената), напишете сопствени инструкции со местодржачи {{feed.slug}} што точно кажуваат каде во одговорот се сместуваат нашите податоци, и додајте своја завршна реченица што се додава на секој одговор. Готови шаблони: личен патувачки асистент, работен/товарен асистент, асистент за продажба на осигурување и Зелена карта.

Тестирајте го во студиото (30 одговори дневно, одвоено од вашата API квота), па повикувајте го во продукција на GET /api/v2/data/assistant-custom?assistant_id=N&q=…. Цена по одговор = единици за нивото на моделот + 1 единица за секој вклучен канал, вратена во X-Devapi-Units. Производот постои само во v2 — URL од v1 враќа unsupported_version. Постојниот производ assistant останува непроменет.

Секој асистент работи под политика за содржина на платформата што има предност пред вашите инструкции: без претставување како службено лице, без помош за заобиколување на граничната или царинската контрола, без измислени бројки, без пцовки. Се проверуваат и инструкциите и одговорите; блокираните повици се евидентираат.

2026-07-26 Ново MCP сервер (Streamable HTTP)

Ново: вистински MCP сервер на https://nakordoni.eu/mcp, кој изложува безбедно подмножество на API-то само за читање (status, checkpoints, border queue, live queue, forecast) како MCP алатки. Истиот API клуч и квота како кај REST API-то. Картичка на серверот на /.well-known/mcp/server-card.json. Погледнете го делот MCP сервер во документацијата.

2026-07-21 Поправка Страницата со документација сè уште покажуваше „Data Freshness API“ по преименувањето — сега поправено на сите 25 јазици

Преименувањето во „Live Queue & Freshness API“, опишано подолу, всушност не стигна до страницата со документација . Страницата го прикажува насловот на секој производ преку барање превод, кое се враќа на насловот на крајната точка само кога нема превод — а превод веќе постоеше, замрзнат на старото име, на сите 25 јазици на интерфејсот. Отсега тој има предност пред секое идно ажурирање на основниот наслов, сè додека не се ажурира и самиот.

Клучот за превод е преименуван на сите 25 јазици, па страницата со документација сега се совпаѓа. Нема промена на крајната точка, параметрите или одговорот — само текстот на насловот.

2026-07-21 Ново Data Freshness API е и вашата крајна точка за жива редица во рамките на стандардната квота

Ако често барате податоци за живата редица, можеби трошите тешка квота без потреба. /update-info е од стандардна класа и веќе ја враќа тековната вредност:

GET /api/v1/data/update-info?ppid=id_13

Враќа queue_now, freshness, age_minutes, is_realtime, status, timestamp и timezone. Користете го за честото освежување од вашата стандардна дневна квота, а /queue, /multi и /forecast (сите од тешка класа) чувајте ги за кога ви требаат wait_min, полињата за тренд или историјата.

Во самата крајна точка ништо не е сменето — само во нејзината документација. Беше наведена како „Data Freshness API“, а описот спомнуваше само оценка за свежина, никогаш queue_now, па лесно се превидуваше. Сега се вика „Live Queue & Freshness API“ со изрично наведени полиња што се враќаат. Благодариме на развивачот што го посочи ова.

2026-07-20 Поправка Неуспешните повици сега правилно враќаат ok:false

Некои неуспешни барања враќаа HTTP 200 со ok: true и грешка скриена внатре во data — па документираниот образец if (!ok) throw не можеше да ги открие, а повикот сепак се наплаќаше. Засегнатите повици сега враќаат HTTP 400 со ok: false и правилни error.code / error.message, како што е документирано. Забележано кај fuel-cities со неподдржана земја и кај travel-matrix со неисправни координати.

Одделно: изостанат задолжителен параметар враќаше 500 internal_error наместо 400 bad_request (телото на одговор 4xx од внатрешната услуга се отфрлаше пред да се прочита неговиот статус). Сега враќа 400 bad_request со пораката од внатрешната услуга — на пример search без ?name=.

Успешните одговори се непроменети до бајт — исти полиња, исти параметри, иста цена на квотата. Ако вашиот клиент веќе се разгранува според ok, нема потреба од промена. Ако го игнорираше ok и го читаше data директно, сега ќе гледа пликови со грешка кај повици што и онака секогаш паѓаа.

2026-07-20 Поправка Multi-Checkpoint API: точни податоци за редицата при студен кеш

Поправена е грешка поради која /multi можеше да врати погрешен број во редицата за некои премини — главно балкански и на границата Унгарија–Србија — секогаш кога неговиот кеш беше студен. Резервниот пат читаше табела што за тие премини нема податоци за редица и пријавуваше неповрзани вредности како број возила. Измерени примери: премин со 12 возила пријавуваше 6, а неколку со вистински редици пријавуваа 0.

Три промени што може да ги забележите:

  • found: false сега значи дека навистина нема свежи податоци за редицата. Порано можеше да добиете found: true со измислено queue_now: 0.
  • wait_status, trend_percent и trend_direction сега се враќаат и при „студени“ барања — порано беа null .
  • Крајната точка преминува на резервниот пат и кога нејзината кеширана снимка е застарена (постара од 24 ч), не само кога недостига.

Нема промени во параметрите на барањето, цената на квотата или структурата на одговорот.

2026-07-20 Поправка Multi-Checkpoint API: поправено двојно наплаќање на квотата

Поправена е грешка поради која секое повикување на /multi се наплаќаше двојно — еднаш преку општа проверка од 1 единица и повторно преку сопствената формула за променлива цена на крајната точка (N PPID × подпроизводи). Повикувањето сега чини точно ⌈(N×M)/2⌉ единици, како што е документирано, без дополнителна наплата.

На страницата со документација е додаден и бејџ за класа на квота (Standard/Heavy) за секој производ, за да биде јасно на прв поглед која дневна квота ја користи крајната точка.

2026-07-15 Ново Holiday Calendar: спојување на country/countries, compare_to, повеќе јазици

Параметрите country и countries се споија во еден параметар (1-15 кода одделени со запирки). Нов параметар compare_to: споредба на исти наспроти различни празници меѓу земји, се комбинира со upcoming+days. lang сега прифаќа повеќе јазици (додава објект names). days=0 или изоставено сега значи без ограничување во режимот upcoming.

2026-07-15 Ново Нов производ: Holiday Calendar API

Официјални државни празници по европска земја — датуми, локални имиња и тип. Се потпира на истата услуга Nager.Date / OpenHolidaysAPI (со локално пресметан календар за Косово) што ја напојува страницата со календарот на празници на nakordoni.eu и календарските фактори на системот за предвидување.

  • ?country=PL&year=2026 — целогодишен список на празници за една земја
  • ?upcoming=1&days=30 — рамен список на претстојни празници низ земјите
  • Без параметри — индекс на основен сет земји со следниот празник за секоја
2026-07-13 Ново Нов производ: Currency Exchange Rates API

Додаден е производот currency — девизни курсеви во однос на EUR за PLN, CZK, HUF, USD, GBP, CHF, NOK и UAH, преземени од Frankfurter (ECB) и кеширани 6 часа. Без параметри, секогаш ја враќа целата табела со курсеви. Види документација.

2026-07-12 Ново Бесплатен вградлив widget за забрани за камиони

Вградете ги на сопствената веб-страница активните европски забрани за возење камиони — бесплатен iframe widget со 3 дизајни (light, dark, board), 5 јазици (en, uk, pl, de, ru), опционален филтер по земја и статус во живо «активно сега». Не е потребен API клуч. Конфигурирајте и копирајте го кодот на nakordoni.eu/en/for_truck_drivers/traffic_bans/widget. Претпочитате сурови податоци? Производот API truck-bans и јавниот JSON feed остануваат достапни.

2026-07-11 Ново API v2 (верзионирање на ниво endpoint), насочен border и интерактивен Sandbox

Три додатоци, сите наназад компатибилни — v1 останува непроменет.

Верзионирање на ниво endpoint. Сега постои базен URL /api/v2/. Тоа е на ниво поединечен endpoint: само endpoint-ите што навистина се сменија се однесуваат поинаку под v2; секој друг endpoint транспарентно го враќа својот v1 одговор (така што /api/v2/data/queue = истите податоци како v1, само со "api_version":"v2"). Нема потреба да мигрирате endpoint-и што работат.

border v2 е насочен. Редоследот во патеката ја одредува насоката на патување:

GET /api/v2/data/border/1/2/6   → buses UA→PL (Ukrainian-side crossings)
GET /api/v2/data/border/2/1/6   → buses PL→UA (Polish-side crossings)

Секој checkpoint исто така добива објект direction {from,to} и boolean stale, а ?max_age_min=N враќа само неодамна ажурираните премини. (v1 border и понатаму ги враќа двете страни на границата без оглед на редоследот — непроменет.)

Интерактивен Sandbox. Најавените програмери сега можат да пробаат кој било endpoint директно од прелистувачот на Developers → Sandbox — изберете endpoint, верзија и еден од вашите клучеви, приспособете ги параметрите и видете го одговорот во живо. Тестирањето во Sandbox има сопствен одделен дневен буџет (50 повици/ден) и никогаш не ја допира вашата вистинска API квота.

Документацијата сега е поделена по endpoint (Developers → API Docs) со избирач на верзија кај endpoint-ите што имаат повеќе од една верзија.

2026-07-10 Подобрување queue-advanced: два нови корективни фактори

Во формулата за времето на чекање се додадени два нови фактори, покрај постојните прилагодувања section_mode и за времето:

  • service_rate — измерени автомобили/мин што моментално се обработуваат, наспроти конфигурираната основна брзина на преминот. Мултипликативен, ограничен на 0.5x-1.5x.
  • shift_change — влијание на локалната смена на граничарите во 08:00/20:00 на самиот премин. Адитивен (минути), не мултипликативен — се применува само во рамки на +/-60 минути од смената, бара минимална историја на примероци, ограничен на +/-120 минути.

advanced_wait_min сега е round(base_wait × section_mode × weather × service_rate) + shift_change.adjustment_min. Двата фактори се одразуваат и во driver_reported.prognosed_advanced_wait_min за историски споредби.

2026-07-09 Несовместливо Неколку само-внатрешни полиња отстранети од queue, border, multi, update-info

Како дел од безбедносна/приватна ревизија, следните полиња се отстранети — тие откриваа внатрешни детали на имплементацијата (нашата таксономија на изворите на податоци, ID на редови во базата, внатрешни анотации на pipeline, неискористени/мртви полиња) без вистинска вредност за производот:

  • id и corrected — отстранети од редовите објекти на queue
  • source (сурова низа, на пр. "line") — отстрането од queue, multi и update-info. update-info и multi во својот блок update_info сè уште содржат source_category/source_label_en (мал јавен речник); queue и multi во својот блок queue веќе воопшто не содржат поле source
  • traffic_status — отстрането од border; секогаш беше null и никогаш не се пополнуваше од ниеден дел на системот

Ако вашата интеграција чита некое од овие полиња, ве молиме ажурирајте ја — видете го актуелниот список полиња на страницата со документација на соодветниот производ.

2026-07-09 Несовместливо usage.used сега може да биде дробен број

Дневното користење на квотата (usage.used во секој одговор) сега може да биде децимална вредност (на пр. 67.5) наместо секогаш цел број. Ова е споредна последица од тоа што queue-advanced се наплаќа по дробна стапка — види подолу. usage.limit не е засегнато и секогаш е цел број. Ако вашиот клиент строго го типизира usage.used како цел број, ве молиме проширете го за да прифаќа децимален број/float.

2026-07-09 Ново wait_status и trend_percent/trend_direction додадени во border, multi и queue-advanced

Овие три производи сега ги враќаат истите полиња за статус во живо што ги прикажува веб-страницата: wait_status (green/yellow/red, врз основа на сопствената неодамнешна историја на овој премин) и trend_percent/trend_direction (up/up-slight/down/down-slight/stable, споредувајќи ги последните 3 часа). Чисто адитивно.

2026-07-09 Подобрување queue: wait_time сега пополнето на секој историски ред

Во /api/v1/data/queue редовите data[] претходно имаа wait_time: null за повеќето извори — само неколку изворни фидови пријавуваат време на чекање директно. Редовите без него сега ја добиваат стандардната проценка , означена со нов boolean wait_time_estimated, за да разликувате вистински пријавена вредност од пресметана.

2026-07-09 Несовместливо queue-advanced: се наплаќа 1.5x, одговорот е скратен

queue-advanced сега чини 1.5 единици по повик наместо 1 (одразувајќи ги дополнителните пребарувања за сообраќај/време/извештаи од возачи што ги врши) — види usage.used погоре. Одговорот исто така веќе не вклучува total_crossing_time, а driver_reported сега е само {wait_min, ts, age_min} — претходните полиња за споредба прогноза наспроти реалност (prognosed_wait_min, diff_min, historical_section_mode, historical_weather итн.) се отстранети. section_mode, weather, advanced_wait_min и exceeds_crossing_time остануваат непроменети.

2026-07-09 Подобрување Truck Bans API: статус во живо по земја (active_window / next_window)

/api/v1/data/truck-bans сега за секоја земја во bans_by_country враќа status (active/clear) плус active_window, next_window, local_time и tz — пресметани во сопствената временска зона на земјата, така што повеќе не мора сами да ги оценувате суровите прозорци на забраните наспроти часовникот. Одговорот исто така додава список covered_countries на најгорно ниво и UTC временска ознака as_of.

GET /api/v1/data/truck-bans?country=PL

Чисто адитивно — постојните полиња current_bans/upcoming_bans/bans_by_country остануваат непроменети. Непознато ?country= сега враќа празен резултат со countries_not_covered наместо забраните на секоја земја.

2026-07-08 Ново Нов производ: Advanced Wait Time API (queue-advanced)

Нов производ по избор што го прилагодува стандардното време на чекање според тековниот проток на сообраќај и времето. Враќа целосна разработка на секое прилагодување.

GET /api/v1/data/queue-advanced?ppid=id_13

Се доделува на барање — отворете Data ticket од вашата контролна табла за да го активирате.

2026-07-08 Подобрување Border Queue API: wait_min сега пополнето за секој checkpoint

/api/v1/data/border сега правилно го пресметува wait_min за секој checkpoint во одговорот, во согласност со производите queue и multi. Претходно ова поле секогаш беше null.

2026-07-08 Подобрување Forecast API: поконзистентен модел + функционален сигнал за времето

/api/v1/data/forecast сега сигурно го користи ансамбл моделот v4 за која било вредност на prediction_steps (претходно некои нестандардни хоризонти можеа тивко да се вратат на постар модел). Факторот за времето што го напојува ансамблот исто така е поправен и сега навистина ги одразува тековните услови (дожд, снег, ветер, магла) наместо секогаш да пријавува недостапност.

2026-07-02 Ново Извоз на историски податоци (бета)

Одобрените програмери сега можат да преземат часовно просечни историски податоци за граничните редици за до 5 checkpoint-а (лизгачки прозорец до 90 дена) како CSV или NDJSON од новото јазиче Data export. Податоците се само објавени и проверени за квалитет; временските ознаки се во UTC. Ви треба пристап? Отворете Data ticket.

2026-07-01 Подобрување Регистрација без активна страница — наместо тоа опишете ја вашата идеја

Сè уште немате веб-страница? Сега можете да создадете програмерска сметка со опишување каде и како планирате да ги користите нашите податоци, наместо да бидете принудени да внесете URL на активна страница. Додадете го вистинскиот URL подоцна од вашата контролна табла (Сметка & податоци → Вашиот проект), штом вашата страница или апликација ќе заработи — видлива повратна врска кон nakordoni.eu на таа страница се бара според нашите Услови.

2026-06-22 Ново Испратете гранични вести за dofollow повратна врска

Програмерите сега можат да испраќаат сопствени вести поврзани со границите до вестовската линија на Nakordoni. Ако нашите уредници ги објават, добивате индексибилна dofollow повратна врска кон вашата услуга (наведен издавач + ред за извор) и ја преведуваме статијата на сите 24 јазици бесплатно.

Една статија неделно е бесплатна; дополнителните статии се платен додаток. Изберете 'може малку да уредиме + да додадеме внатрешни врски' или 'објавување без измени'. Испраќајте и следете го статусот на прегледот во Developers → Submit news.

2026-06-14 Подобрување Multi-Checkpoint API: 50% попуст на квотата

Multi-Checkpoint API (/api/v1/data/multi) сега ја наплаќа квотата како ⌈(N PPIDs × под-производи) / 2⌉ — половина од цената на еквивалентните поединечни повици. Барање за 10 checkpoint-а со двата под-производи сега чини 10 единици наместо 20. Заглавието X-Devapi-Units и meta.units_consumed во одговорот ја одразуваат намалената сума.

2026-06-14 Ново Нов производ: Multi-Checkpoint API (multi)

Земете статус на редицата во живо и свежина на податоците за до 20 checkpoint-а со еден API повик — наменето за креатори на контролни табли што моментално прашуваат многу PPIDs во јамка.

Квотата се брои праведно како N PPIDs × под-производи побарани, така што вкупното користење е идентично со поединечните повици — но со едно одење-враќање наместо многу. Обрасци од типот GreenTravel паѓаат од 24+ повици/час на 2.

GET /api/v1/data/multi?ppids=id_2,id_13,id_15,id_59&include=queue,update-info&lang=en
  • include=queue — тековно queue_now, проценето wait_min, возраст на податоците и име на checkpoint
  • include=update-info — свежина на податоците, класификација на изворот, возраст во секунди/минути
  • Макс 20 PPIDs по барање; комбинирајте ги двата под-производи во еден повик за целосни податоци за контролната табла
  • Одговорот вклучува meta.units_consumed за да можете прецизно да го следите користењето на квотата
2026-06-12 Ново Queue API: блок snapshot со прогнозирано време на чекање

Одговорот на производот queue сега вклучува објект snapshot на најгорно ниво со најновите податоци во реално време и пресметано прогнозирано време на чекање — истата формула што се користи во hero секцијата на nakordoni.eu:

snapshot.queue_now  — current cars in queue
snapshot.wait_min   — prognosed wait time (minutes)
snapshot.updated_at — when the queue data was recorded
snapshot.age_min    — minutes since last update
snapshot.source     — data source identifier

Низата data (историски записи) е непроменета — ова е чисто адитивен додаток. Клиентите што не го читаат snapshot не се засегнати.

2026-06-12 Ново Нов производ: Border Queue API (border)

Прашувајте ги сите checkpoint-и на дадена граница + тип возило со еден повик наместо едно барање по PPID.

GET /api/v1/data/border/{origin}/{destination}/{crossing_type}

  • Поддржува една целна земја, список одделен со запирки, или all за проширување на сите набљудувани соседи одеднаш.
  • Резултатите се подредени по queue_now растечки (најкратката редица прва).
  • Целосно локализирано: додадете ?lang=uk (или кој било од нашите 22 поддржани јазици) за да ги добиете имињата на checkpoint-ите на тој јазик.
2026-06-12 Ново Нов производ: Checkpoint Search API (search)

Откривајте ги вредностите на PPID на checkpoint-и по име без да го прелистувате целиот именик.

GET /api/v1/data/search?name=Krakovets,Shehyni&lang=en

  • Прифаќа едно име или список одделен со запирки (до 20).
  • Пребарува низ сите 24 преводни јазици — внесете име на украински, полски, германски или кој било поддржан јазик и ќе се совпадне.
  • Ги враќа сите PPIDs на таа локација групирани по тип возило (автомобил / автобус / пешак / камион).
2026-06-12 Подобрување Alternatives API: целосна i18n поддршка + презапишување на crossing_type

Производот alternatives сега прифаќа ?lang= на сите 22 поддржани јазици (беше само 12).

Новиот параметар crossing_type ви овозможува да го презапишете филтерот за тип возило — на пр. внесете crossing_type=4 за да добиете алтернативи за автомобили, дури и кога прашувате од автобуски PPID.

2026-06-12 Подобрување Checkpoints + Border + Search: локализирани ознаки за тип премин и имиња на земји

Полето crossing_type_label во одговорите на checkpoints, border и search сега е преведено на бараниот јазик на сите 22 поддржани јазици. Полињата со имиња на земји (origin_name, destination_name) го следат истиот locale.

2026-06-05 Ново Порталот за програмери е пуштен

Порталот Nakordoni Developer API е достапен на /en/developers. Регистрирајте се за бесплатен Explorer клуч (200 барања/ден) за да добиете пристап до податоци за граничните редици, прогнози, цени на горива, возачки POIs и повеќе.

Производи достапни при пуштањето: checkpoints, queue, stats, day-stats, forecast, alternatives, update_info, fuel, pois, truck_bans, trading_sundays, bus_carriers, road_conditions, assistant.

Овој журнал ги покрива јавните промени на API. Внатрешните ажурирања не се наведени.

Ажурирано