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

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

2026-10-30 Подобрување Toll Cost API: патарина за патнички возила со класа car

Производот toll-cost сега пресметува и патнички возила. Испратете "vehicle": {"class": "car"}.

  • Класа car: ги пресметуваме нaплатните станици на рутата и најевтината винјета во секоја земја со винјети (на пример, 1-дневни винјети за AT и HU). Кога има меѓуточки, пресметуваме рута за патнички автомобил.
  • Одговор: by_country[] содржи cost_eur, gates_eur, vignette_eur и vignette_name. Секоја наплатена станица е ставка од тип gate. toll_km е null за патнички возила.
  • Стандардно: без class или со "class": "hgv" производот пресметува камиони како досега. За патнички возила axles, gross_weight_t, euro и co2_class не се користат.

Документација: Truck Toll Cost.

2026-10-28 Ново Truck Route API v3: посветен сервер за рутирање и новата основна URL-адреса api.nakordoni.dev

Верзијата v3 на truck-route сега е документирана. Достапна е на GET https://api.nakordoni.dev/v3/truck-route и на GET /api/v3/data/truck-route. Ги прима истите параметри на барањето како v2. Има и полиња во одговорот од v3 од 2026-10-22: правила за одмор и чекање на границата преку eCherha.

  • Рутата најпрво се пресметува на нашиот посветен сервер за рутирање. Ако тој сервер не одговори навреме, нашиот главен сервер ја пресметува рутата. Форматот на одговорот е ист.
  • Заглавието на одговорот X-Route-Source кажува кој сервер одговорил: primary или fallback.
  • Ист API-клуч и иста класа на квота како v2: route, 1 единица по повик.

v2 останува поддржан и не се менува. За да преминете на v3, променете ја верзијата во URL-адресата на барањето.

Документација: Truck Route API v3.

2026-10-27 Подобрување Plate Image Recognition API v4: опции на барањето regions, camera_id, timestamp и config

Верзијата v4 на plate-recognition (POST /api/v4/data/plate-recognition) прифаќа нови опционални опции на барањето. Без нив излезот на v4 не се менува.

  • regions: државите што ги очекувате, како ISO кодови (на пример ["PL","DE"]). Претпоставката за државата и редоследот на читањата се насочуваат кон овие држави.
  • camera_id и timestamp: се враќаат непроменети во data.camera_id и data.timestamp. Не се чуваат надвор од вообичаениот лог на барања.
  • config.threshold: резултатите со score под оваа вредност се изоставуваат.
  • config.mode: fast ја прескокнува детекцијата на возило, за брзина блиска до v2. region сè уште се пополнува, а vehicle е null.

Испратете ги опциите во JSON телото, како multipart полиња или како параметри во барањето. Нови 400 кодови за грешки: bad_regions, bad_camera_id, bad_timestamp, bad_config, bad_threshold, bad_mode. v2 не се менува и ги игнорира опциите.

Документација: Plate Image Recognition v4.

2026-10-27 Ново Plate Image Recognition API v4: земја на таблицата и тип на возилото

Нова верзија v4 на plate-recognition (POST /api/v4/data/plate-recognition). Пополнува две полиња што v2 секогаш ги враќа како null:

  • results[].region: {code, score} со ISO-кодот на државата на таблицата (на пример, UA) — се утврдува според форматот на таблицата. Кога повеќе држави користат ист формат, score е низок.
  • results[].vehicle: {type, score, box} на возилото што ја носи таблицата. type е car, bus, truck или motorcycle.

Барањето, останатите полиња и кодовите за грешка не се менуваат. v4 трае подолго од v2 поради откривањето на возилото (обично 0.5-1.5 s по слика). v2 не се менува и за двете полиња и натаму враќа null

Документација: Plate Image Recognition v4.

2026-10-27 Ново Ново: Plate Image Recognition API — читање регистарски таблички од фотографија на возило

Нов производ plate-recognition (POST /api/v2/data/plate-recognition). Ги чита регистарските таблички на фотографија на возило. Моторот е наш сопствен детектор и читач на таблички, прилагоден на европски камиони и автобуси.

  • Влез: една слика (JPEG, PNG, WebP, BMP или TIFF, до 8 MB) како JSON image_url или image_base64, како multipart прикачување во полето image, или како сурови бајти со image/* Content-Type.
  • Излез: results[] со plate, score, candidates[], region, box, dscore и vehicle, плус processing_time во ms.
  • Грешки: 400 слика недостасува или е невалидна, 404 no_plate_detected, 413 слика поголема од 8 MB, 500 engine_error.
  • Приватност: сликите се обработуваат во меморија и никогаш не се зачувуваат. image_url мора да биде јавна адреса; приватни и внатрешни адреси, како и пренасочувања кон нив, се одбиваат.

Стандардна автентикација со клуч, класа на квота heavy. Достапно од /api/v2/; ниту еден постоечки endpoint не е променет.

2026-10-26 Ново Ново: Lane Cost Index API — индекс на трошоци за товарна релација во EUR по км, со тренд за 3 месеци

Нов производ lane-cost-index (GET /api/v2/data/lane-cost-index). Го враќа индексот на трошоци за едно натоварено патување со камион од A до B во Европа: гориво, патарини, време на возачот и дневници.

  • Влез: from и to како "lat,lng" или id на град, vehicle (на пример artic_40t), по избор euro, co2_class и empty_return.
  • По држава: км, патарина, литри дизел и трошок за гориво (без ДДВ), како и класата на возилото користена за патарината.
  • Време на возачот: возењето, паузите и одморите ги следат правилата на ЕУ 561/2006. Трошокот за возач и дневниците ја користат стапката на државата на поаѓање. Шпанија и Италија сега имаат стапка за возач и дневница од колективните договори.
  • Тренд: trend го дава индексот на трошоци за тековниот и претходните два месеци.
  • Нецелосни податоци: кога за држава на маршрутата нема податоци за патарини или гориво, или државата на поаѓање нема стапка за возач, incomplete е true и збирот е долна граница. missing_countries и missing_components покажуваат што недостасува.

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

Квота: едно барање се брои како 1 единица од класата route, исто како truck-route.

Документација: Lane Cost Index.

2026-10-26 Подобрување Truck Toll Cost API: тарифи на операторите во Франција и Шпанија, повеќе класи камиони во Италија

Производот toll-cost сега попрецизно ги пресметува Франција, Шпанија и Италија.

  • Франција и Шпанија: делница од автопат меѓу две наплатни станици на маршрутата се пресметува според тарифата за влез/излез на операторот на автопатот. Се прикажува како нов тип ставка motorway_section со операторот или патот, двете станици, toll_km и cost_eur. Другите платени км во земјата и понатаму ја користат просечната стапка по км.
  • Класа на возилото: Франција: класа 3 за 2 оски и класа 4 за 3 или повеќе оски. Шпанија: Pesados 1 за 2 или 3 оски и Pesados 2 за 4 или повеќе оски.
  • Италија: камионите со 2 и 3 оски сега имаат свои стапки по км.
  • Класа Euro и CO2: тарифите во Франција, Италија и Шпанија не зависат од овие класи. Кога ќе испратите euro или co2_class, class_fallback за овие земји е false, а class_note ја наведува причината.
  • Без патарина: маршрута низ Шпанија без пат со патарина (на пример Сарагоса – Барселона) ја враќа Шпанија со cost_eur 0 и scheme not_tolled.

Другите земји не се менуваат. Документација: Truck Toll Cost.

2026-10-26 Ново Ново: Truck Toll Cost API — патарина за камион по маршрута, по држави, со мостови и концесии

Нов производ toll-cost (POST /api/v2/data/toll-cost, JSON тело). Ја враќа цената на патарината за камион на маршрута низ Европа.

  • Влез: линијата на маршрутата како coordinates (на пример геометријата од truck-route) или waypoints за кои пресметуваме маршрута со нашето рутирање за камиони.
  • Возило: axles, gross_weight_t, euro и co2_class. По избор date за тарифите и currency за вкупниот износ.
  • По држави: км со патарина, ефективна стапка во EUR по км, цена, тарифираната класа на возилото и датумот на тарифата. Стапките за конкретна класа Euro и CO2 се користат таму каде што има официјална тарифа за таа класа. Инаку се користи стапката на стандардната класа и class_fallback е true.
  • Посебни ставки: концесиски делници од автопати, како и тунели и мостови со посебна патарина за камиони (на пример Калафат-Видин).

Квота: едно барање се брои како 1 единица од класата route, исто како truck-route.

Документација: Truck Toll Cost.

2026-10-26 Ново Ново: Bus Sun Side API — сончева и засенчена страна на автобусот, најдобри седишта, според времето

Два нови производи во /api/v2. За патување со автобус покажуваат која страна е на сонце, а која во сенка, и кои седишта се најдобри за сенка или за поглед.

  • bus-sun-side (/api/v2/data/bus-sun-side), GET: рута од нашиот регистар на автобуски рути (route_id, dir, date) или слободно патување (from, to, depart).
  • bus-sun-side, POST: испратете своја рута како листа на постојки, линија GeoJSON или кодирана полилинија. Додадете параметри на автобусот (редови, распоред на седишта, страна на вратата, прозорци, кат) или изберете модел од каталогот со bus_model.
  • Време: за патувања во следните 3 дена се користи часовната прогноза по рутата. Подоцнежните патувања се пресметуваат за ведро небо. Испратете weather=0 за секогаш да добивате резултат за ведро небо.
  • Слики (POST): распоред на седишта, мапа на рутата и временска линија како URL во формат PNG, WebP или JPG. Сликите се чуваат 12 часа. Добивате и embed_html за да го прикажете резултатот на вашата страница. URL-адресите на сликите почнуваат со https://api.nakordoni.dev/images/.
  • Анимација: блокот animation содржи кадар на секои 5 минути со позицијата на автобусот, насоката на движење, азимутот и висината на сонцето и сончевата страна, со натписи на вашиот јазик, збирови по страни и легенда. Испратете animation=0 за да го изоставите.
  • Виџет: прикажете го резултатот на која било веб-страница, вклучително WordPress, со таг script или iframe. Виџетот користи јавен клуч што работи само на доменените (origins) што ги дозволувате, и наши сопствени плочки на мапата. Достапен е приклучок за WordPress (zip).
  • bus-sun-catalog (/api/v2/data/bus-sun-catalog): моделите автобуси што ги прифаќа bus-sun-side, со распоред на седишта и прозорци.

Квота: барање POST со слики се брои како 2 единици. Сите други барања се бројат како 1 единица.

Документација: Bus Sun Side.

2026-10-26 Подобрување Fleet Compliance API v1.1 — исклучок според чл. 12, враќање по 4 недели, отстапување од 12 дена, национални ноќни периоди

fleet-compliance-validate сега опфаќа поголем дел од EU 561/2006, изменета со Регулативата (EU) 2020/1054. Постојните полиња во одговорот не се менуваат; се додаваат нови полиња.

  • Исклучок според чл. 12: означете ги активностите на возење со art12_exceed: true. Во исклучителни случаи возачот може да ги надмине дневните и неделните граници на возење до 1 ч за да стигне до оперативниот центар или дома за неделен odmor, или до 2 ч по пауза од 30 мин кога следува редовен неделен одмор. Валидаторот го прифаќа ова и ја враќа должената компензација и нејзиниот рок (крајот на третата недела потоа) во remaining.driving.art12_compensation и exceptions.art12.
  • Враќање во базата според чл. 8(8a): испратете location (residence, operational_centre или elsewhere) на неделните одмори. Добивате предупредување кога 4 последователни недели немаат редовен неделен одмор дома или во оперативниот центар.
  • Отстапување од 12 дена според чл. 8(6a): passenger_12day: true за една повремена меѓународна автобуска услуга. Неделниот одмор тогаш може да следи до дванаесет 24-часовни периоди по редовен неделен одмор. Се проверуваат одморите по него и возењето ноќе (22:00-06:00). AETR чл. 8(6)(b) се применува на ист начин.
  • Национални ноќни периоди (Директива 2002/15/EC чл. 3(h)): користете country или wtd.country за да се примени националниот ноќен период. Проверени: AT, IE (патниците посебно) и SE. Другите земји од EU/EEA користат 00:00-04:00 и враќаат night_window_verified: false.
  • fleet-compliance-limits: AETR сега ги наведува проверените измени по 2010 година. Тие го менуваат само членот 14, а не правилата за возење или одмор.

Документација: Fleet Compliance.

2026-10-26 Ново Ново: Holiday Calendar API — празници, работни денови, држави и деловно влијание за 51 држава

Четири нови производи, достапни преку /api/v2 и пресметувани од нашиот сопствен механизам за правила за празници за 51 држава (Европа и Персискиот Залив: SA, AE, QA, KW, BH, OM), 2020-2035:

  • holiday-calendar-holidays (/api/v2/data/holiday-calendar/holidays) — државни, банкарски, регионални, верски празници и одбележани датуми за до 10 држави во една година или временски период. Секој празник покажува дали е неработен ден, банкарски празник или е во училишен распуст, дали празник за викенд е преместен на друг ден, дали датум од исламскиот календар сè уште е проценет и дали тој ден важи забрана за движење на камиони (truck_ban). Филтрирајте по регион (region=DE-BY), тип, јазик и име; school=1 додава училишни распусти.
  • holiday-calendar-business-days (/api/v2/data/holiday-calendar/business-days) — броење на работни денови меѓу два датума, додавање или одземање работни денови, проверка на датум или наоѓање на следниот или претходниот работен ден. Ги користи викендот на државата (сабота-недела, или петок-сабота и други викенди во земјите од Заливот), националните и регионалните неработни денови и преместувањата на денови со декрет.
  • holiday-calendar-countries (/api/v2/data/holiday-calendar/countries) — опфатените држави со викенд денови, временска зона, региони и типови празници; со country= и работните денови по година и следните пет празници.
  • holiday-calendar-impact (/api/v2/data/holiday-calendar/impact, план Pro и повисок) — модел-проценето деловно влијание: оцена на влијание 0-100 за секој празник, веројатност за затворање на продавници, категории со побарувачка, позиција на долг викенд и мост-ден и прозорци на пораст на побарувачката. Кај holiday-calendar-holidays плановите Pro и повисоките го добиваат и овој блок со include=impact и можат да филтрираат со min_impact.

Постојниот производ holiday-calendar не се менува. Документација: Holiday Calendar.

2026-10-26 Ново Ново: Fleet Compliance API — валидација на време за возење и работа, приказ на ограничувањата, проверка на планови пред испраќање

Три нови производи за усогласеност со времето за возење, достапни преку /api/v2:

  • fleet-compliance-validate (POST /api/v2/data/fleet/compliance/validate, JSON тело) — ја проверува евидентираната активност на возачот според EU 561/2006 или AETR и работното време според Directive 2002/15/EC. Го враќа секое прекршување со неговиот член од правилото и категорија на сериозност, како и што му останува на возачот во моментот: дневно возење, лизгачките ограничувања од 56 ч неделно и 90 ч за две недели, следна пауза, дневен и неделен одмор. Опфаќа поделени паузи, скратени и продолжени денови, компензација на скратен неделен одмор, ноќна работа, двоен екипаж и прекинат одмор на траект или воз.
  • fleet-compliance-limits (/api/v2/data/fleet/compliance/limits) — параметрите на правилата за EU 561, AETR (со неговите разлики во однос на 561) и 2002/15, плус категориите на сериозност според Regulation (EU) 2016/403.
  • fleet-compliance-plan-check (POST /api/v2/data/fleet/compliance/plan-check, JSON тело) — ги проверува планираните смени пред испраќање според забраните за движење на камиони, државните празници и викенд деновите во државите на патувањето, како и според правилата на EU 561, AETR и 2002/15. Секоја смена го добива најранилот законски почетен час.

Документација: Fleet Compliance.

2026-10-24 Подобрување Route Planner и Truck Route API: одмори според чл. 8 ст. 8 од EU 561 — редовен неделен одмор не во возилото (v3, дополнителни полиња)

Од v3 застанувањата за дневен и неделен одмор ги имаат полињата in_vehicle_allowed, accommodation_required и rule (route-plan со rest_rules=eu561 и truck-route). Регулативата (ЕУ) 2020/1054 го измени чл. 8 ст. 8 од EU 561/2006: редовниот неделен одмор и секој неделен одмор подолг од 45 ч не смее да се користи во возилото. За овие застанувања in_vehicle_allowed = false. Скратениот неделен одмор (од 24 ч до помалку од 45 ч) и дневниот одмор може да се користат во возило што стои и има место за спиење.

Застанувањата за неделен одмор имаат и accommodation[] — паркинзи со соби на лице место близу до застанувањето, а паркингот на застанувањето има has_accommodation. Ова е само информација: застанувањето, неговото време и паркингот за камиони не се менуваат. Ако не е познато место со соби, застанувањето има warning = no_accommodation_found. Одговорите на v1 и v2 не се менуваат.

2026-10-24 Подобрување Гориво: цените на бензинските пумпи постари од 90 дена повеќе не се враќаат

Цените на бензинските пумпи во /api/v2/data/fuel-stations, /api/v2/data/fuel-cheapest, /api/v2/data/fuel-local и /api/v2/data/fuel со mode=nearest сега имаат максимална старост од 90 дена. Цена што последен пат ја потврдивме пред повеќе од 90 дена повеќе не се враќа. Претходно таква цена се враќаше со stale = true.

Што се менува во одговорите: вид гориво што има само постара цена недостасува во prices; пумпа без ниту една цена не е наведена или има празен објект prices таму каде што се прикажуваат пумпи без цени; а одговорот може да биде празен таму каде што претходно содржеше стари цени. Празниот одговор како и досега содржи empty_reason. fuel-local тогаш може да одговори од ниво на регион или држава. Ознаката stale не се менува: таа е true кога цената последен пат е потврдена пред повеќе од 7 дена. Историјата на цените се чува. За fuel-cities, fuel-cost, националните просеци и fuel-grades нема практична промена. Детали: Старост на цената.

2026-10-22 Подобрување Route Planner API: места за запирање, состојба на возачот според EU 561, регистрација во eCherha (v2 дополнување, v3 нови стандардни вредности)

GET /api/v2/data/route-plan добива проширен модел на запирања во v2 (само дополнувања: ништо не е отстрането или преименувано) и нови стандардни вредности во v3 (/api/v3/data/route-plan).

v2, дополнување. Со stop_places=1 секое запирање (пауза, оброк, преноќевање, неделен одмор) содржи places[]: кандидат-паркинзи во прозорец на време на возење околу запирањето, секој со полињата name, type, country, lat, lon, at_km, at_drive_s, offset_min, off_route_km, detour_km, exceeds_4h30 и type_rank. Пребарувањето го прилагодувате со places_before_min, places_after_min, places_radius_km и rest_radius_km; радиус над 25 км се ограничува и се пријавува со предупредувањето radius_clamped. rest_rules=legacy|eu561 го бира моделот на одмор, а со eu561 можете да ја испратите состојбата на возачот: driven_since_break_min, driven_today_min, duty_started_min_ago, driven_week_min, driven_fortnight_min, extended_days_used, reduced_rests_used и allow_reduced. Нови типови запирања: ban_wait (со ban: name, country, from, until) и weekly_rest; чекање што заменува пауза или одмор е означено со counts_as. Граничните премини за камиони при излез од Украина со електронска редица додаваат registration_required, registration_wait_minutes, registration_wait_source, registration_wait_at, registration_note и registration_url, како и предупредувањата echerha_registration и echerha_wait_unverified.

v3, нови стандардни вредности. rest_rules стандардно е eu561; имињата на местата се строги (само вистински паркинзи и места за одмор); времето на чекање објавено од eCherha (свежи податоци, без ограничување) се користи како чекање на границата, а чекањето на границата се смета за паузата или одморот што бил на ред. v2 го задржува стариот модел на одмор и оригиналниот филтер за места, па постојните интеграции не се менуваат. Детали: Route Planner API.

2026-10-22 Подобрување Truck Route API v3: чекање на границата од eCherha и полиња за регистрација

GET /api/v3/data/truck-route сега го користи чекањето на границата од eCherha. Во v3 border_crossings[] за камионските ленти при излез од Украина со електронска редица го земаат wait_min од објавеното време на чекање на eCherha (само свежи податоци, без ограничување; кај застарени податоци wait_min е null и се додава предупредувањето echerha_wait_unverified) и содржат registration_required, registration_wait_minutes, registration_wait_source, registration_wait_at, registration_note и registration_url, со предупредувањето echerha_registration.

Планот за одмор го третира чекањето на границата како време поминато на границата: долгата редица се смета за паузата, дневниот или неделниот одмор што бил на ред (counts_as во редот waits[]), наместо да се додава одозгора. v2 е непроменета. Детали: Truck Route API.

2026-10-14 Подобрување Гориво: празните одговори сега објаснуваат зошто

Кога /api/v2/data/fuel-stations или /api/v2/data/fuel-cheapest не најде станица, одговорот сепак е HTTP 200 со празна листа и сега објаснува зошто. Само при празен одговор data содржи empty_reason (no_station_in_radius, no_price_for_fuel_type, fuel_type_not_priced_in_country, unknown_fuel_type или no_fresh_price_in_radius), nearest_station_km (најблиската станица со вашиот вид гориво, се бара до nearest_search_km = 50 km; null ако нема), country и suggestion — една кратка реченица на вашиот lang, на пример: No station within 5 km — the nearest is 6.4 km away; try radius_km=10.

Разгранувајте го кодот според empty_reason и nearest_station_km. suggestion е совет за луѓе и неговата формулација може да се промени. Никогаш не го зголемуваме радиусот наместо вас. Ако земате примероци од област или рута на мрежа, користете radius_km 10–15. Одговорите што содржат станици не се менуваат. Детали: Празни одговори.

2026-10-14 Поправка Бензински станици: децималниот радиус на пребарување се почитува; имињата на брендовите се доследни

Радиус на пребарување. radius_km на /api/v2/data/fuel-stations сега задржува едно децимално место. Радиус како 4.8 претходно без известување се скратуваше на 4, па секое пребарување покривала до третина помала површина од побараната и можеше да врати помалку станици или ниту една. anchor.radius_km го покажува реално применетиот радиус; целите броеви се враќаат како досега.

Имиња на брендови. Ист бренд сега секогаш се пишува исто во brand — на пример ORLEN и orlen се враќаат како Orlen, а CircleK како Circle K. Станиците, цените, идентификаторите и полињата не се менуваат. Ако брендовите ги споредувате според точно правопис (за логоа или филтри), проверете ја вашата листа со новите имиња.

2026-10-03 Подобрување Truck Route API v2: нов параметар traffic (forecast, live или off)

GET /api/v2/data/truck-route прима нов опционален параметар traffic. Тој определува како сообраќајот се зема предвид при ETA, планот за одмор, времињата на пристигнување на границите и времињата кај забраните за камиони:

  • forecast (стандардно): повторливи гужви во часот кога камионот го минува секој дел, тековни гужви што стивнуваат со времето до пристигнување, работи на патот и затворања на трасата и временски услови каде што ги имаме. Одговорот содржи блок traffic_forecast со доцнењето поделено по причини.
  • live: само тековниот сообраќај, без повторливите гужви.
  • off: без корекција за сообраќај; времињата се времиња при слободен тек според моторот за камиони. Тогаш traffic_forecast содржи само model и mode.

Секоја друга вредност враќа 400 bad_request со порака Invalid traffic: forecast, live or off. Барањата без параметарот ја добиваат стандардната вредност forecast.

Забрани за камиони во прогнозираното време на пристигнување: со forecast или live, truck_bans[].active сега се проценува во времето кога камионот се очекува да стигне до секоја забрана (од depart_at, или од сега ако не испратите), пред евентуално чекање за таа забрана. Новото поле truck_bans[].active_at го дава проценуваното време по локалното време на државата на забраната. bans_summary, restriction_hits и legal ги следат истите пресуди, а забрана во која прогнозираното доцнење новo наидува (на пример во подоцнежен ден или во друга држава) исто така е наведена во truck_bans. Со traffic=off, active се проценува на временската линија при слободен тек, а active_at е еднакво на eta_at_ban.

2026-10-03 Ново Нов производ: Truck Route API — рутирање за камиони со гориво, паркинзи, мерни станици, патарини и план за одмор според Регулативата на ЕУ 561/2006

Нов производ: Truck Route API (GET /api/v2/data/truck-route, само v2). Едно барање враќа законска рута за камион и сѐ што му треба на диспечерот долж неа. Рутата ја пресметува истото јадро за рутирање како нашата апликација за навигација за камиони TruckTurn, врз наши сопствени податоци од мапа.

  • Возило: height, width, length, weight, axle_load, axles, trailers, emission_class, hazmat (ADR класи) и adr_tunnel (B–E). Забраните за возење на камиони и зоните со ограничувања се проверуваат на вратената линија.
  • Долж рутата: бензински станици со актуелни цени, паркинзи за камиони и мерни станици, секоја со km_from_start и отстапување.
  • План за одмор на возачот според Регулативата на ЕУ 561/2006: паузи (вклучувајќи поделена 15+30), дневен и неделен одмор (вклучувајќи скратен), екипаж со еден или два возачи (crew=2), почнувајќи од тековната состојба на возачот ако ја предадете. Секое запирање е сместено на вистински паркинг долж рутата. Ова е помагало за планирање, а не запис од тахограф.
  • ETA што ги вклучува одморите, забраните за возење на камиони и чекањата на граници. Планирајте според depart_at или arrive_at.
  • Проценки на трошоците за патарина по земја (EUR, според оски и класа на емисија), а земјите без цена се наведени во tolls.coverage_note. Исто така avoid (патарини, фериботите, автопатишта, граници, тунели, неасфалтирани патишта, зони со ниска емисија), до 2 алтернативи, поделба по земја и geometry како polyline5, polyline6 или GeoJSON.

Квота: посебна квота за truck-route: 10 повици дневно на секоја сметка, повеќе на платените планови и додаток Дополнителни truck-route повици. Во sandbox можете да извршите 10 рути за камиони дневно, да го видите резултатот на мапата со целосниот план на рутата и да го извезете како GPX, KML, GeoJSON, CSV, календар (.ics) или ITN. Погледнете ја страницата на производот и референцата.

2026-09-22 Подобрување Производите со координати ќе враќаат податоци само од одобрените земји (од 13 октомври 2026)

Според Условите за API, Пазар (Market) е земјата чии податоци ги користите, а вашиот клуч ги покрива земјите одобрени за вашата сметка. Досега производите со координати (lat/lon — на пр. Nearby Shops, Truck Parkings, Fuel Stations) одговараа за секоја точка во Европа. Од 13 октомври 2026, ова се проверува при обработката на вашето барање:

  • Барање чиј lat/lon се наоѓа во земја која не е одобрена за вашата сметка враќа 403 со error.code market_not_allowed. Пораката ја наведува земјата и вашата листа на одобрени земји.
  • Кога радиусот преминува граница, резултатите чиј country_code е надвор од вашите одобрени земји се отстрануваат. Одговорот тогаш содржи markets_filtered (колку се отстранети) и markets_notice, а total_found ги брои само примените резултати.

Ова важи за сметки чии земји биле прегледани (статус approved или partial). Во барањето ништо не се менува — нема нов параметар, нема нова верзија. Ако вашата апликација има потреба од друга земја, додајте ја во порталот за развивачи пред 13 октомври. market_not_allowed е наведен заедно со другите кодови за грешки во референцата.

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

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

2026-09-08 Поправка Fuel Prices: второ, чесно поле за свежина и две грешки со јазикот

Кај Fuel Prices, updated_at и знамето age_hours/stale во самиот одговор одеа по различни часовници: updated_at се менува само кога цената навистина ќе се промени, но застареноста се пресметуваше како да се менува при секое потврдување. 46.7% од индексот со цени прикажуваше age_hours ≤48 и stale:false, додека updated_at всушност беше постар од 48 часа, а 12,620 станици беа постари од една недела. Секоја цена сега носи и confirmed_at — последниот пат кога ја потврдивме цената, заокружено на час надолу, никогаш порано од updated_at — а age_hours/stale се пресметуваат од него. Значењето на updated_at е непроменето: користете го кога сакате да знаете кога цената последен пат се променила, а confirmed_at кога сакате да знаете колку е актуелна сега. Не е присутно во замрзнатиот договор v1.

Две грешки со јазикот, и двете тивки: испраќањето на каноничниот код на горивото со lang=pl (или кој било од другите 24 јазици на сајтот) го враќаше fuel_type_local на англиски без оглед на тоа — само 10 јазици се проверуваа во табелата со ознаки, па сѐ надвор од таа листа паѓаше на стандардниот речник на интерфејсот наместо на јазикот што го побаравте. Одделно, lang=tr (или неколку други валидни кодови) ги враќаше листите на станици на украински, бидејќи внатрешната подразбирана вредност uk се активираше секогаш кога бараниот јазик не беше во истата листа од 10 јазици. И двете се поправени: јазикот што го праќате сега е јазикот што го добивате, на сите 25.

Исто така: brand кај Nearby Fuel Stations повеќе не ја враќа суровата ознака од увозот OTHER за околу 330 станици чиј бренд не го знаеме — тоа е null, во согласност со секое друго непознато поле во одговорот.

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. Внатрешните ажурирања не се наведени.

Ажурирано