Skip to main content
Menu

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

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

2026-08-01 Поправка AI Studio: feeds without their context are skipped, not billed

If an assistant has a feed enabled but the call does not carry the context that feed needs — queue without a ppid, for example — the feed is now skipped before any request is made and is not charged. Previously it was called anyway, failed, and still cost a unit. The studio shows what each feed needs, recalculates the price as you fill the context in, and marks results ✓ ran / ⊘ skipped, not charged / ✕ failed; the API returns data.feeds_skipped telling you exactly which parameter to pass.

Answers no longer mention feeds, data sources or anything technical: a missing feed is at most one plain sentence to the end user, never an internal name. Feeds with only optional filters (such as fuel narrowed to a country we have no data for) now fall back to the broad dataset instead of returning nothing.

2026-08-01 Ново AI Studio: build your own assistant on your content + our live data

New: /{lang}/developers/studio. Build an AI assistant that answers from your content and our live border data. Give us your markdown, or just name the pages and we fetch and index them — you only ever maintain your own files. Pick which of our feeds it may use (queue, forecast, alternatives, day-stats, fuel, truck bans, trading Sundays, holidays, road conditions, bus carriers, POIs, currency), pick a model tier (fast / balanced / pro — that is what sets the price), write your own instructions with {{feed.slug}} placeholders saying exactly where our data lands in the answer, and add a closing sentence of your own that is appended to every reply. Ready-made blueprints: personal travel assistant, work/freight assistant, insurance & Green Card sales assistant.

Test it in the studio (30 answers/day, separate from your API quota), then call it in production at GET /api/v2/data/assistant-custom?assistant_id=N&q=…. Price per answer = model tier units + 1 unit per enabled feed, returned in X-Devapi-Units. The product is v2-only — a v1 URL returns unsupported_version. The existing assistant product is unchanged.

Every assistant runs under a platform content policy that outranks your instructions: no impersonating officials, no help evading border or customs control, no invented numbers, no profanity. Instructions and answers are both screened; blocked calls are logged.

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 Поправка Docs page still said "Data Freshness API" after the rename — now fixed in all 25 languages

The retitle to "Live Queue & Freshness API" below did not actually reach the docs page. The page renders each product title through a translation lookup that falls back to the endpoint's title only when no translation exists — and a translation already existed, frozen at the old name, in all 25 UI languages. It now wins over any future update to the underlying title until it is updated too.

Retitled the translation key in all 25 languages so the docs page matches. No endpoint, parameter or response change — title text only.

2026-07-21 Ново Data Freshness API is also your standard-quota live queue endpoint

If you poll live queue data frequently, you may be spending heavy quota you do not need to. /update-info is standard-class and already returns the live figure:

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

It returns queue_now, freshness, age_minutes, is_realtime, status, timestamp and timezone. Use it for the frequent refresh against your standard daily quota, and keep /queue, /multi and /forecast (all heavy-class) for when you need wait_min, the trend fields or history.

Nothing changed in the endpoint itself — only its documentation. It was listed as the "Data Freshness API" and its description mentioned only the freshness rating, never queue_now, so it was easy to miss. It is now titled "Live Queue & Freshness API" with the returned fields spelled out. Thanks to the developer who raised this.

2026-07-20 Поправка Failed calls now correctly return ok:false

Some failed requests were returning HTTP 200 with ok: true and the error buried inside data — so the documented if (!ok) throw pattern could not detect them, and the call was still billed. Affected calls now return HTTP 400 with ok: false and a proper error.code / error.message, as documented. Seen on fuel-cities with an unsupported country and travel-matrix with malformed coordinates.

Separately, a missing required parameter returned 500 internal_error instead of 400 bad_request (an upstream 4xx body was being discarded before its status was read). It now returns 400 bad_request with the upstream message — e.g. search without ?name=.

Successful responses are byte-for-byte unchanged — same fields, same params, same quota cost. If your client already branches on ok, no change is needed. If it ignored ok and read data directly, it will now see error envelopes on calls that were always failing.

2026-07-20 Поправка Multi-Checkpoint API: accurate queue data when the cache is cold

Fixed a bug where /multi could return a wrong queue count for some checkpoints — mainly Balkan and Hungary–Serbia crossings — whenever its cache was cold. The fallback read a table that, for those crossings, holds no queue data, and reported unrelated values as car counts. Measured examples: a checkpoint with 12 cars reported 6, and several with real queues reported 0.

Three changes you may notice:

  • found: false now means there is genuinely no recent queue data. Previously you could receive found: true with a fabricated queue_now: 0.
  • wait_status, trend_percent and trend_direction are now returned on cold requests — they were null before.
  • The endpoint also falls back when its cached snapshot is stale (older than 24h), not only when it is missing.

No changes to request parameters, quota cost or response shape.

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
  • tmin/tpercar — отстранети од queue, border и multi (константите на формулата за времето на чекање; веќе пресметаното wait_min/wait_time не е засегнато)
  • 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 за повеќето извори — само неколку изворни фидови пријавуваат време на чекање директно. Редовите без него сега ја добиваат стандардната проценка tmin + queue×tpercar, означена со нов boolean wait_time_estimated, за да разликувате вистински пријавена вредност од пресметана.

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

queue-advanced сега чини 1.5 единици по повик наместо 1 (одразувајќи ги дополнителните пребарувања за сообраќај/време/извештаи од возачи што ги врши) — види usage.used погоре. Одговорот исто така веќе не вклучува tmin, tpercar или 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 (и враќа tmin/tpercar) за секој 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   — tmin + queue_now × tpercar (minutes)
snapshot.tmin       — minimum crossing time (minutes)
snapshot.tpercar    — added time per vehicle (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. Внатрешните ажурирања не се наведени.