API өзгерістер журналы
API-дің барлық маңызды өзгерістері. Жаңалары жоғарыда. v1 тұрақтылық — жаңа нұсқасыз Breaking changes жоқ.
Жаңалық: https://nakordoni.eu/mcp мекенжайындағы нақты MCP сервері, ол API-дің тек оқуға арналған қауіпсіз ішкі жиынтығын (status, checkpoints, border queue, live queue, forecast) MCP құралдары ретінде ұсынады. REST API-мен бірдей API кілті және квота. Сервер картасы /.well-known/mcp/server-card.json мекенжайында. Құжаттамадағы MCP сервері бөлімін қараңыз.
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.
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.
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.
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: falsenow means there is genuinely no recent queue data. Previously you could receivefound: truewith a fabricatedqueue_now: 0.wait_status,trend_percentandtrend_directionare now returned on cold requests — they werenullbefore.- 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.
Әрбір /multi шақыруы екі рет есептелетін қате түзетілді — алдымен жалпы 1 бірліктік тексеру арқылы, содан кейін эндпоинттің өз айнымалы құн формуласы арқылы (N PPID × ішкі өнімдер). Енді шақыру құжатталғандай дәл ⌈(N×M)/2⌉ бірлікке түседі, қосымша ақысыз.
Сондай-ақ құжаттама бетінде әрбір өнім үшін квота класының белгісі (Standard/Heavy) қосылды, осылайша эндпоинт қай күндік квотаны пайдаланатыны бір қарағанда белгілі болады.
country және countries бір параметрге біріктірілді (1-15 үтірмен бөлінген код). Жаңа compare_to параметрі: елдер арасында бірдей немесе әртүрлі мерекелерді салыстыру, upcoming+days-пен үйлеседі. lang енді бірнеше тілді қабылдайды (names объектісін қосады). days=0 немесе қалдырылған енді upcoming режимінде шектеу жоқ дегенді білдіреді.
Әрбір еуропалық ел бойынша ресми мемлекеттік мерекелер — күндер, жергілікті атаулар мен түрі. nakordoni.eu мереке күнтізбесі бетін және болжау жүйесінің күнтізбелік факторларын қуаттайтын дәл сол Nager.Date / OpenHolidaysAPI қызметіне негізделген (жергілікті есептелген Косово күнтізбесімен).
?country=PL&year=2026— бір елге арналған толық жылдық мерекелер тізімі?upcoming=1&days=30— елдер бойынша алдағы мерекелердің жалпақ тізімі- Параметрсіз — негізгі елдер жиынының индексі, әрқайсысының келесі мерекесімен
currency өнімі қосылды — PLN, CZK, HUF, USD, GBP, CHF, NOK және UAH үшін EUR негізіндегі айырбас бағамдары, Frankfurter (ECB) көзінен алынып, 6 сағат кэштеледі. Параметрсіз, әрдайым толық бағамдар кестесін қайтарады. құжаттаманы қараңыз.
Еуропалық жүк көліктерінің қозғалысына нақты уақыттағы тыйымдарды өз веб-сайтыңызға ендіріңіз — 3 дизайны (light, dark, board), 5 тілі (en, uk, pl, de, ru), міндетті емес ел бойынша сүзгісі және «active now» тірі күйі бар тегін iframe виджеті. API кілті қажет емес. Кодты осында баптап көшіріп алыңыз: nakordoni.eu/en/for_truck_drivers/traffic_bans/widget. Шикі деректерді қалайсыз ба? truck-bans API өнімі мен ашық JSON арнасы әлі де қолжетімді.
border және интерактивті Sandbox
Үш жаңалық, барлығы кері үйлесімді — v1 өзгеріссіз.
Әрбір endpoint бойынша нұсқалау. Енді /api/v2/ базалық URL бар. Ол әрбір 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)
Әрбір бақылау бекеті сондай-ақ direction {from,to} объектісін және stale логикалық мәнін алады, ал ?max_age_min=N тек жақында жаңартылған өткелдерді қайтарады. (v1 border реттен тәуелсіз шекараның екі жағын да қайтара береді — өзгеріссіз.)
Интерактивті Sandbox. Кірген әзірлеушілер енді кез келген endpoint-ті браузерден осында сынап көре алады: Developers → Sandbox — endpoint, нұсқа және кілттеріңіздің бірін таңдап, параметрлерді өзгертіп, тірі жауапты көріңіз. Sandbox сынағының жеке тәуліктік бюджеті бар (50 calls/day) және сіздің тірі API квотаңызға ешқашан тимейді.
Құжаттама енді әрбір endpoint бойынша бөлінген (Developers → API Docs), бірден көп нұсқасы бар endpoint-терде нұсқа таңдағышы бар.
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-де көрсетіледі.
queue, border, multi, update-info-дан бірнеше тек ішкі өріс жойылды
Қауіпсіздік/құпиялылық шолуының бір бөлігі ретінде келесі өрістер жойылды — олар нақты өнімдік құндылығы жоқ ішкі жүзеге асыру егжей-тегжейлерін (біздің дереккөз таксономиясын, DB row ID-лерін, ішкі pipeline аннотацияларын, қолданылмайтын/өлі өрістерді) ашатын:
idжәнеcorrected—queuerow объектілерінен жойылды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болды және жүйенің ешбір бөлігімен ешқашан толтырылмады
Егер сіздің интеграцияңыз осы өрістердің кез келгенін оқыса, оны жаңартыңыз — тиісті өнімнің құжаттама бетіндегі ағымдағы өрістер тізімін қараңыз.
usage.used енді бөлшек сан болуы мүмкін
Тәуліктік квота қолданысы (әрбір жауаптағы usage.used) енді әрдайым бүтін сан болудың орнына ондық мән (мыс. 67.5) болуы мүмкін. Бұл queue-advanced бөлшек мөлшерлемемен есептелуінің қосымша әсері — төменнен қараңыз. usage.limit қозғалмайды және әрдайым бүтін сан. Егер сіздің клиентіңіз usage.used-ті қатаң түрде бүтін сан ретінде типтесе, оны ондық/float қабылдау үшін кеңейтіңіз.
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 сағатты салыстыру). Таза қосымша.
queue: wait_time енді әрбір тарихи row-да толтырылады
/api/v1/data/queue-дің data[] row-ларында бұрын дереккөздердің көбінде wait_time: null болатын — тек бірнеше дереккөз күту уақытын тікелей хабарлайды. Онсыз row-лар енді стандартты tmin + queue×tpercar бағасын алады, оны жаңа wait_time_estimated логикалық мәнімен белгіленеді, сондықтан нақты хабарланған көрсеткішті есептелгеннен ажырата аласыз.
queue-advanced: 1.5x-пен есептеледі, жауап қысқартылды
queue-advanced енді бір қоңырауға 1-дің орнына 1.5 бірлік тұрады (ол орындайтын қосымша traffic/weather/driver-report іздеулерін көрсете отырып) — жоғарыдағы 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 өзгеріссіз.
active_window / next_window)
/api/v1/data/truck-bans енді bans_by_country-дегі әрбір ел үшін status-ты (active/clear) плюс active_window, next_window, local_time және tz-ты қайтарады — сол елдің өз уақыт белдеуінде есептелген, сондықтан енді шикі тыйым терезелерін сағатқа қарсы өзіңіз бағалаудың қажеті жоқ. Жауапқа сондай-ақ жоғарғы деңгейлі covered_countries тізімі мен as_of UTC уақыт белгісі қосылады.
GET /api/v1/data/truck-bans?country=PL
Таза қосымша — бұрыннан бар current_bans/upcoming_bans/bans_by_country өрістері өзгеріссіз. Белгісіз ?country= енді әр елдің тыйымдарының орнына countries_not_covered-пен бос нәтиже қайтарады.
queue-advanced)
Стандартты күту уақытын тірі көлік ағыны мен ауа райына қарай түзететін жаңа таңдамалы өнім. Әрбір түзетудің толық талдауын қайтарады.
GET /api/v1/data/queue-advanced?ppid=id_13
Сұраныс бойынша беріледі — оны қосу үшін бақылау тақтаңыздан Data тикетін ашыңыз.
/api/v1/data/border енді жауаптағы әрбір бақылау бекеті үшін wait_min-ді дұрыс есептейді (және tmin/tpercar-ды қайтарады), queue және multi өнімдеріне сәйкес. Бұрын бұл өріс әрдайым null болатын.
/api/v1/data/forecast енді кез келген prediction_steps мәні үшін v4 ансамбльдік моделін сенімді түрде пайдаланады (бұрын кейбір стандартты емес горизонттар үнсіз ескі модельге қайта оралуы мүмкін еді). Ансамбльді қоректендіретін ауа райы факторы да түзетілді және енді әрдайым қолжетімсіз деп хабарлаудың орнына тірі жағдайларды (жаңбыр, қар, жел, тұман) шынайы көрсетеді.
Бекітілген әзірлеушілер енді 5 бақылау бекетіне дейін (90 күнге дейінгі жылжымалы терезе) сағаттық орташаланған тарихи шекара кезегі деректерін жаңа Data export қойындысынан CSV немесе NDJSON түрінде жүктеп ала алады. Деректер тек жарияланған және сапасы тексерілген; уақыт белгілері UTC-де. Қатынау қажет пе? Data тикетін ашыңыз.
Әлі веб-сайтыңыз жоқ па? Енді тірі бет URL-ін енгізуге мәжбүрленудің орнына, біздің деректерді қайда және қалай пайдалануды жоспарлайтыныңызды сипаттау арқылы әзірлеуші тіркелгісін жасай аласыз. Сайтыңыз немесе қосымшаңыз іске қосылған бойда нақты URL-ді кейінірек бақылау тақтаңыздан қосыңыз (Account & data → Your project) — сол беттегі nakordoni.eu-ге көрінетін кері сілтеме біздің Шарттармен талап етіледі.
Әзірлеушілер енді өздерінің шекараға қатысты жаңалықтарын Nakordoni жаңалықтар лентасына жібере алады. Егер біздің редакторлар оны жарияласа, сіз өз қызметіңізге индекстелетін dofollow кері сілтеме аласыз (жариялаушы қолтаңбасы + дереккөз жолы) және біз мақаланы барлық 24 тілге тегін аударамыз.
Аптасына бір мақала тегін; қосымша мақалалар ақылы қосымша. 'біз оны сәл өңдеп + ішкі сілтемелер қосуымыз мүмкін' немесе 'сол күйінде жариялау' дегенді таңдаңыз. Жіберіп, шолу күйін осында бақылаңыз: Developers → Submit news.
Multi-Checkpoint API (/api/v1/data/multi) енді квотаны ⌈(N PPIDs × sub-products) / 2⌉ ретінде есептейді — баламалы жеке қоңыраулардың жартысы құны. Екі sub-product-пен 10 бақылау бекетіне сұраныс енді 20-ның орнына 10 бірлік тұрады. Жауаптағы X-Devapi-Units тақырыбы мен meta.units_consumed жеңілдетілген мөлшерді көрсетеді.
multi)
Бір API қоңырауымен 20 бақылау бекетіне дейінгі тірі кезек күйі мен деректер жаңалығын алыңыз — қазір көптеген PPID-терді циклде сұрайтын бақылау тақтасын жасаушыларға арналған.
Квота сұралған N PPIDs × sub-products ретінде әділ есептеледі, сондықтан жалпы қолданыс жеке қоңырауларға бірдей — бірақ көптің орнына бір айналыммен. 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, деректер жасы және бақылау бекетінің атауыinclude=update-info— деректер жаңалығы, дереккөз жіктелуі, секунд/минуттағы жасы- Сұранысқа ең көбі 20 PPID; толық бақылау тақтасы деректері үшін екі sub-product-ты бір қоңырауда біріктіріңіз
- Жауап
meta.units_consumed-ты қамтиды, сондықтан квота қолданысын дәл бақылай аласыз
queue өнімінің жауабы енді ең соңғы нақты уақыттағы деректер мен есептелген болжамды күту уақыты бар жоғарғы деңгейлі snapshot объектісін қамтиды — nakordoni.eu hero бөлімінде пайдаланылатын дәл сол формула:
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-ты оқымайтын клиенттер қозғалмайды.
border)
Әрбір PPID-ке бір сұраныс жасаудың орнына берілген шекара + көлік түрі бойынша барлық бақылау бекеттерін бір қоңырауда сұраңыз.
GET /api/v1/data/border/{origin}/{destination}/{crossing_type}
- Бір баратын елді, үтірмен бөлінген тізімді немесе барлық бақыланатын көршіні бірден кеңейту үшін
all-ды қолдайды. - Нәтижелер
queue_nowбойынша өсу ретімен сұрыпталған (ең қысқа кезек бірінші). - Толық локализацияланған: сол тілдегі бақылау бекеттерінің атауларын алу үшін
?lang=uk-ты (немесе біздің 22 қолдау көрсетілетін тілдің кез келгенін) қосыңыз.
search)
Толық каталогты шолмай-ақ бақылау бекетінің PPID мәндерін атауы бойынша табыңыз.
GET /api/v1/data/search?name=Krakovets,Shehyni&lang=en
- Бір атауды немесе үтірмен бөлінген тізімді (20-ға дейін) қабылдайды.
- Барлық 24 аударма тілінде іздейді — атауды украин, поляк, неміс немесе кез келген қолдау көрсетілетін тілде беріңіз, ол сәйкес келеді.
- Сол орындағы барлық PPID-терді көлік түрі бойынша топталған түрде қайтарады (car / bus / pedestrian / truck).
crossing_type ауыстыру
alternatives өнімі енді ?lang=-ты барлық 22 қолдау көрсетілетін тілде қабылдайды (тек 12 еді).
Жаңа crossing_type параметрі көлік түрі сүзгісін ауыстыруға мүмкіндік береді — мыс. bus PPID-тен сұрағанда да машина баламаларын алу үшін crossing_type=4-ті беріңіз.
crossing_type_label өрісі checkpoints, border және search жауаптарында енді сұралған тілге барлық 22 қолдау көрсетілетін тілде аударылады. Ел атауы өрістері (origin_name, destination_name) сол локальға еріп жүреді.
Nakordoni Developer API порталы осында іске қосылды: /en/developers. Шекара кезегі деректеріне, болжамдарға, отын бағаларына, жүргізуші POI-леріне және басқаларға қатынау үшін тегін Explorer кілтіне (200 requests/day) тіркеліңіз.
Іске қосылуда қолжетімді өнімдер: checkpoints, queue, stats, day-stats, forecast, alternatives, update_info, fuel, pois, truck_bans, trading_sundays, bus_carriers, road_conditions, assistant.
Журнал жалпыға ашық API өзгерістерін қамтиды. Ішкі жаңартулар тізімде жоқ.