API o'zgarishlar jurnali
APIning barcha muhim o'zgarishlari. Eng yangilari yuqorida. v1 barqarorligi — yangi versiyasiz Breaking changes yo'q.
Bir xil elektron pochta bilan Nakordoni Partners hisobiga bog'langan dasturchi hisoblari endi yangiliklar yuborishi va o'zining NakBus flotini (NakDriver / NakManager) partners.nakordoni.eu orqali boshqarishi mumkin, jamoa rollari (Owner, Manager, Viewer) va ikki portal o'rtasida bir bosishli kirish bilan. Dasturchi portali sahifalari, API kalitlari, flot endpointlari va ilovalar o'zgarishsiz qoladi.
On Fuel Prices, updated_at and the response's own age_hours/stale flag were running on different clocks: updated_at moves only when a price actually changes, but staleness was computed as if it moved on every confirmation. 46.7% of the priced index showed age_hours ≤48 and stale:false while updated_at was in fact more than 48 hours old, 12,620 stations over a week old. Each price now also carries confirmed_at — the last time we confirmed the price, hour-floored, never earlier than updated_at — and age_hours/stale are computed from it. updated_at's meaning is unchanged: use it when you want to know when the price last moved, use confirmed_at when you want to know how current it is right now. Not present on the frozen v1 contract.
Two language bugs, both silent: sending the canonical grade code as lang=pl (or any of the other 24 site languages) got fuel_type_local back in English regardless — only 10 languages were ever checked against the label table, so anything outside that list fell through to the default UI vocabulary rather than the language you asked for. Separately, lang=tr (or several other valid codes) answered station listings in Ukrainian, because an internal default of uk fired whenever the requested language did not sit in that same 10-language list. Both are fixed: the language you send is now the language you get, across all 25.
Also: brand on Nearby Fuel Stations no longer returns the raw ingest sentinel OTHER for the ~330 stations where we do not know the brand — it is null, consistent with every other unknown field in the response.
Border AI Assistant (/api/v1/data/assistant) bir xil kalit besh daqiqa ichida bir xil savolni ikki marta bergan holatda 503 internal_error — “Assistant temporarily unavailable” — qaytarardi. Aslida hech qanday uzilish yo'q edi: bunday hollarning aksariyatida javob allaqachon hisoblangan va qaytarishga tayyor bo'lgan. Endi u odatdagidek, ok: true va HTTP 200 bilan qaytariladi.
Takroriy so'rov birinchi javob hali yozilayotgan paytda kelsa, chaqiruv endi 503 o'rniga 429 va error.code qiymati duplicate_request bilan javob beradi; shunda qayta urinish siyosati “bir ozdan so'ng yana so'rang” holatini haqiqiy uzilishdan ajrata oladi. Ilgari har ikkala holat ham hisobingizning xatolik ulushiga server xatosi sifatida qo'shilardi; endi qo'shilmaydi. So'rovning o'zida hech narsa o'zgarmaydi — na parametr, na versiya. duplicate_request ma'lumotnomada boshqa xatolik kodlari bilan birga keltirilgan.
Truck Parking (/api/v2/data/truck-parkings) name qiymati null va address bo'sh bo'lgan yozuvlarni qaytarardi — Bensheim yaqinida 50 tadan 20 tasi. Bular biz faqat koordinata sifatida saqlaydigan joylar: ko'rsatish uchun ham, sizning POI to'plamingizga moslashtirish uchun ham hech narsa bermaydi. Ular endi ushbu mahsulot tarkibiga kirmaydi: u endi faqat nomi bor joylarni qaytaradi, hozircha Yevropa bo'ylab 22 000 dan ortiq. Agar nomsiz yozuvlarni o'zingiz filtrlab kelgan bo'lsangiz, o'sha kod endi ortiqcha, lekin zararsiz. Bir xil radius va limit uchun javoblar qisqaradi va qaytgan har bir yozuv yaroqli bo'ladi.
Alohida holat: taxminan 10 000 to'xtash joyi name sifatida xom koordinatalar juftini, masalan 51.927301,10.14112, saqlagan, haqiqiy nom esa address ichida turgan. Endi ular o'sha nomni — Ionity, Seesen, Rest Area A5 E35 Kaelberpfad, Bensheim — /api/v1/data/pois ham kiritilgan holda, o'zlari uchraydigan barcha joyda ko'rsatadi. Har bir joyning id qiymati o'zgarmagan, shuning uchun keshlangan moslik amal qilaveradi; faqat name boshqacha.
snapshot.updated_at maydoni — /api/v1/data/queue va /api/v1/data/multi javoblarida — nazorat postining o'z mintaqasidagi mahalliy vaqtdir (masalan, Europe/Istanbul, Europe/Sofia, Europe/Budapest, Europe/Warsaw, Europe/Kyiv), biroq shu paytgacha javobda bu qaysi mintaqa ekani ko'rsatilmasdi, shu sababli chaqiruvchi uni aniq vaqt lahzasiga bog'lay olmasdi. snapshot ichida qo'shimcha timezone maydoni (IANA nomi) paydo bo'ldi — updated_at yonida. Yangi parametr yo'q, versiya o'zgarmaydi, boshqa maydonlar ham o'zgarmaydi.
Shu paytgacha har bir yoqilg'i endpointi o'z qamrovini qo'lda yozilgan ro'yxat bilan tasvirlardi: AT, DE, DK, ES, FR, HR, IT, LU, PL, PT, SI, Polshaga esa unda faqat Trójmiasto hududi to'g'ri kelardi. Ikkala da'vo ham ancha oldin eskirgan edi. Endi qamrov stansiyalarning jonli indeksidan o'lchanadi va har olti soatda qayta hisoblanadi: bugun 39 mamlakatda narxli stansiyalar bor, ular orasida Polsha ham butun mamlakat bo'ylab, uchta shahar bilan cheklanmagan holda. So'rovning o'zida hech narsa o'zgarmaydi: na parametr, na versiya.
Nearby Fuel Stations va Cheapest Fuel: qidiruv bo'sh qaytganda, coverage bloki endi o'lchangan station_countries, station_counts, sparse_coverage va measured_at qiymatlarini olib keladi, ular yoqilg'iga umuman emas, siz so'ragan yoqilg'i turiga qaratilgan. Mamlakat sparse_coverage ro'yxatiga unda narxli 25 ta yoki undan kam stansiya bo'lganda tushadi — bu baho emas, sanoq.
Biz taniydigan, ammo siz so'ragan joyda hech kim narx bermaydigan tur uchun yangi izoh paydo bo'ldi. Shu paytgacha coverage.fuel_type_note faqat kolonkadagi nomning o'zi bizga notanish bo'lganda chiqardi. Endi u nom to'g'ri aniqlangan, lekin o'sha mamlakatda unga umuman narx bo'lmagan holatda ham chiqadi; unda bu tur narxlanadigan mamlakatlar va sizning atrofingizda biz narxlaydigan turlar ko'rsatiladi. Chexcha Natural 100 nomi toza misol: u aniqlanadi, biroq Chexiyada unga hech bir manba narx bermaydi. Bo'sh javob endi buzilgan so'rovga o'xshamaydi.
Fuel Grades (/api/v2/data/fuel-grades) har bir tur uchun priced_countries va priced_station_counts maydonlarini oladi, priced_here maydoni esa ?country= yuborilganda qo'shiladi. Ikki ro'yxat har xil narsani anglatadi: countries ichidagi mamlakat — biz o'sha kolonka nomini qabul qiladigan mamlakat, priced_countries esa manba unga haqiqatan narx beradigan joylar, shuning uchun priced_here qiymati 0 bo'lishi javobdagi bo'shliq emas, haqiqiy javobdir. Javobda coverage_measured_at va coverage_note ham keladi, Cache-Control esa qayta hisoblash chastotasiga moslab 24 soatdan 6 soatga tushirildi.
Kolonkalardagi mahalliy nomlardan ko'prog'i ham aniqlanadi, ular orasida Klimadiesel 90 (HVO100) va HVO Diesel, Erdgas va Metano, Autogas va Autogaz, AdBlue uchun DEF, shuningdek premium dizel va benzinning bir qator brend nomlari bor. Aniqlash tartibi o'zgarmadi, moslashtirish aniq bo'lib qoladi, shu sababli ilgari ishlagan biror nom bugun boshqa ma'noni bildirmaydi, yangi nom esa faqat bo'sh javobni narxli javobga aylantirishi mumkin. Ayni paytda ma'lumotnoma hujjatlari va endpoint tavsiflari saytning barcha 25 tilida tuzatildi.
Cheapest Fuel (/api/v2/data/fuel-cheapest) eng arzon shoxobchalar o'rniga masofa bo'yicha eng yaqin shoxobchalarni qaytarardi. Saralash natija sizning limitingizga qisqartirilishidan oldin qo'llanilgani sababli, radiusingiz ichidagi eng arzon shoxobchalar javobda umuman ko'rinmasligi mumkin edi. Endi saralash to'g'ri: siz so'ragan yoqilg'i turi bo'yicha eng arzoni birinchi, teng narxda eng yaqin shoxobcha yutadi, va ushbu tur uchun narxi yo'q shoxobcha oxirida turadi. So'rovda hech narsa o'zgarmaydi — na parametr, na versiya.
v2 yoqilg'i javoblari ham haqiqatda qanday yuborilishi bo'yicha hujjatlashtirildi: shoxobchalar data.stations[] ostida keladi, har bir jismoniy shoxobcha uchun bitta yozuv, har bir yoqilg'i turi prices obyekti ichida joylashgan (price, currency, local_name, updated_at, age_hours, stale), shuningdek station_ref, grades, total_found va notices. Nearby Fuel Stations va Cheapest Fuel uchun ma'lumotnoma hujjati hali ham eskirgan tekis data.data[] qatorlar ro'yxatini tasvirlar edi.
To'lov sahifasida (oylik bo'lim) istalgan tarifni o'zgartirmasdan uning ustiga ikkita qo'shimcha ulash mumkin: Qo'shimcha prognoz so'rovlari — har blok uchun kuniga +100 prognoz va statistika so'rovi, har blok uchun oyiga €2, ko'pi bilan 10 blok; va Qo'shimcha mamlakatlar — har birlik uchun +1 e'lon qilinadigan mamlakat, har biri oyiga €2. Miqdorni o'zgartirganda, hech qanday pul yechilishidan oldin aniq proporsional hisob-kitob ko'rsatiladi.
2026-yil 10-noyabrdan boshlab har bir tarif ma'lum sondagi e'lon qilingan mamlakatni o'z ichiga oladi: Explorer va Student 4, Starter 10, Pro va undan yuqorisi cheklanmagan. O'sha sanadan boshlab tarif va sotib olingan qo'shimcha mamlakatlardan uzunroq e'lonni saqlab bo'lmaydi; Hisob bo'limi limitingizni hozirdan ko'rsatadi, limitdan oshgan hisoblar esa boshqaruv panelida taklif ko'radi. 10-noyabrgacha hech narsa o'zgarmaydi.
API sandbox endi ro'yxatdagi har bir yakuniy nuqtani o'z kvota sinfi bilan (Og'ir / Standart) belgilaydi, tanlangan versiya uchun kvota narxini siz biror narsani ishga tushirishdan oldin ko'rsatadi va so'rovdan keyin xuddi shu so'rov jonli kvotangizdan qanchaga tushishini ko'rsatadi — bunga ceil(N ppids × M sub-products / 2) formulasi ham kiradi; u /multi ko'rinishidagi so'rovlar uchun ishlatiladi.
Bu faqat o'qish uchun ko'rish: sandbox so'rovlarining o'zi alohida sandbox sinov byudjetingizdan yechiladi, hech qachon jonli kvotangizdan emas.
Bugundan boshlab, olib tashlanishini ommaviy ravishda e'lon qilgan har qanday narsamiz e'lon sanasida yoki undan keyin yaratilgan dasturchi hisoblari uchun yopiq. Agar hisobingiz e'londan oldin mavjud bo'lgan bo'lsa, hech narsa o'zgarmaydi — siz to'liq imtiyoz muddatini, uni e'lon qilgan yozuvda ko'rsatilgan olib tashlash sanasigacha to'liq saqlab qolasiz.
Bu qoida nima uchun kerak. 2026-yil 24-avgustda biz truck-bans v1 2026-yil 8-sentabrda olib tashlanishini e'lon qildik. O'sha e'londan bir necha kun keyin ikkita hisob ro'yxatdan o'tdi, integratsiyasini v1 asosida qurdi va bizning birorta ham xatimiz ularga yetib bormagan holda 410 javobiga bir necha soat qolgan nuqtaga keldi: e'lon ham, xabarnomalar yuborilgan to'plam ham ular ro'yxatdan o'tishidan oldin bo'lgan edi. API'da hech narsa ularni biz allaqachon olib tashlanishini aytgan versiyani qabul qilishdan to'xtatmadi. Bu bizning xatoyimiz edi, bu esa uning tuzatilishi — olib tashlash allaqachon rejalashtirilgan narsani endi yangidan qabul qilib bo'lmaydi.
Bu qanday ko'rinadi. Bunday so'rov 410 Gone va version_closed_to_new_accounts xato kodi bilan rad etiladi. Xabarda olib tashlash sanasi, e'lon sanasi va uning o'rniga ishlatiladigan versiya ko'rsatiladi. Bu ataylab version_sunset kodidan farq qiladi: oxirgisini olib tashlash sanasining o'zi o'tgandan keyin har bir hisob oladi — shu tariqa qo'llab-quvvatlash xizmati «boshlash uchun juda kech keldingiz» holatini «bu hamma uchun olib tashlangan» holatidan jurnalni o'qimasdan ajrata oladi.
Imtiyoz hisobning yaratilgan sanasi bo'yicha beriladi, birinchi so'rov bo'yicha emas. Agar siz e'londan oldin ro'yxatdan o'tgan bo'lsangiz, lekin integratsiyani endi boshlayotgan bo'lsangiz ham, to'liq imtiyoz muddatini olasiz: siz uni boshidan beri ishlab kelayotgan bo'lishingiz mumkin.
Hozir kuchda — truck-bans v1 uchun (2026-yil 24-avgustda e'lon qilingan, 2026-yil 8-sentabrda olib tashlanadi) va bundan keyin e'lon qiladigan har bir olib tashlash uchun avtomatik ravishda. Sizdan yangi hech narsa talab qilinmaydi: olib tashlanayotgan versiyadagi har bir javob allaqachon Deprecation, Sunset va Link: rel="successor-version" sarlavhalarini o'z ichiga oladi, shuning uchun yangi integratsiya bu sahifani o'qimasdan ham yaqinlashib kelayotgan olib tashlashni ko'ra oladi.
Kechagi v4 o'zgarishining davomi (dasturchilar chiptasi #105). v1 va v2 dagi vergul bilan ajratilgan destination ro'yxatlari ishlashda davom etadi, biroq endi destination=all bilan bir xil muddatga bo'ysunadi: ikkalasi ham 2026-10-06 kuni to'xtaydi (o'sha kungacha Deprecation/Sunset sarlavhalari, keyin esa 400 destination_list_removed, u almashtiruv sifatida /api/v4/ ni ko'rsatadi). Vergulli ro'yxatlar uchun mavjud 10 element chegarasi tekshiruvi o'sha sanagacha o'zgarmaydi.
v4 har so'rovda bitta manzil qoidasida qoladi — bugun bu o'zgarmadi. Faqat v1/v2 haqidagi xabar o'zgardi: destination=all uchun qaytadigan 400 xatosi endi migratsiya yo'li sifatida vergulli ro'yxatni taklif qilmaydi (u ham o'sha sanada to'xtardi), balki to'g'ridan-to'g'ri v4 ga yo'naltiradi.
Hujjatlardagi tuzatish: bu saytdagi v4 misoli avval /api/v4/data/border/1/2,3,4/9 ko'rinishida edi — bu v4 rad etadigan vergulli ro'yxat. Endi u /api/v4/data/border/1/2/9. Eski misolni nusxalagan har bir kishi birinchi so'rovidayoq 400 olgan bo'lardi; uzr so'raymiz.
Yangi tarjima qilingan kalit product_border_v4_p_destination saytning barcha 25 tilida chiqadi va v1/v2 iborasiga qaytish o'rniga v4 dagi bitta manzil qoidasini aniq bayon qiladi.
/api/v4/data/border/{origin}/{destination}/{crossing_type} bugundan boshlab ishlamoqda. v2 ga nisbatan uchta narsa o'zgaradi va aynan shu uchtasi buni tahrir emas, balki yangi versiya qiladi.
1. Endi destination=all yo'q. Bizning ma'lumotlarimiz har bir davlat uchun alohida litsenziyalanadi (Developer API Shartlari, 7-bo'lim), "ma'lumotiga ega bo'lgan har bir qo'shni" ga yoyiladigan umumiy belgi esa hisobingiz uchun tasdiqlanmagan bo'lishi mumkin bo'lgan davlatlarni qaytaradi, so'rovning o'zida buni ko'rsatadigan hech narsa yo'q. v4 da davlatni siz nomlaysiz.
2. Har bir so'rov uchun bitta manzil davlati. /api/v4/data/border/1/2/9 bitta chegarani so'raydi. Vergul bilan ajratilgan ro'yxatlar qabul qilinmaydi: 1/2/9, 1/3/9 va 1/4/9 ni alohida so'rovlar sifatida yuboring. Vergulli ro'yxat yoki all 400 bilan javob beradi va yuborilishi kerak bo'lgan aniq so'rovlarni nomlaydi, shuning uchun hech narsa jimgina ishdan chiqmaydi.
3. Yuk mashinalari uchun bitta kod. v1 va v2 yuk tashishni 8 (Yuk tashish) va 9 (7.5 t gacha yuk tashish) ga ajratgan edi. Bu ajratish chegarada haqiqatan ham mavjud, lekin hech bir integrator undan foydalana olmaydi: v2 dan UA-PL chegarasi uchun 9 so'ralganda 70 ta yuk o'tkazish nuqtasidan 21 tasi qaytdi va bu haqda hech narsa aytilmadi. v4 9 ga barcha yuk yo'laklari bilan javob beradi va 8 ni 9 ning taxallusi sifatida qabul qiladi. Har bir qator o'zining crossing_type qiymatini olib yuradi, shuning uchun birlashtirilgan javobni tekshirib ko'rish mumkin bo'lib qoladi.
v1 va v2 da destination=all 2026-10-06 gacha ishlashda davom etadi va shu vaqtgacha Deprecation / Sunset sarlavhalarini olib yuradi. O'sha sanadan boshlab bu versiyalar all uchun ham 400 bilan javob beradi, v1 va v2 ning qolgan qismi esa o'zgarishsiz qoladi va ishlashda davom etadi. Xuddi shu sana barcha davlatlarni qamrab oluvchi boshqa qisqartmalarga ham tegishli: travel-matrix (?dest= siz), bus-carriers (?ppid=all bilan) va fuel-grades (?country= siz).
Bugun avvalroq e'lon qilingan v3 ning o'rnini v4 egallaydi. v3 v4 dan faqat vergulli ro'yxatni hamon qabul qilishi bilan farq qilardi va hech bir integratsiya bu shakldan foydalanmaydi. v3 URL manzillari javob berishda davom etadi, shuning uchun ular asosida yozilgan hech narsa buzilmaydi, lekin v3 hujjatlashtirilmaydi va bundan keyin rivojlantirilmaydi: v4 ga o'ting.
v4 dagi qolgan hamma narsa v2 dagidek: yo'lning yo'nalish tartibi, direction{from,to}, stale va ?max_age_min=.
/border/{origin}/{destination}/{crossing_type} dagi raqamli identifikatorlar hech qachon jadval sifatida e'lon qilinmagan edi, shuning uchun integratorlar ularni vaqt mintaqalari va namunaviy URL manzillaridan tiklab olishardi. Endi ular hujjatlarda, Davlat va transport turi kodlari bo'limida va API tekshiruv uchun ishlatadigan xuddi shu jadvallardan chiqariladi: davlat identifikatorlari hamda ularning har biri qamrab oladigan chegaralar, va har bir crossing_type API qaytaradigan yorlig'i bilan.
Ularni e'lon qilish chog'ida sandbox va endpoint metama'lumotlari 8 ni "truck<7.5t", 9 ni esa "truck" deb tavsiflaganini aniqladik. Bu teskari: API 8 ni Yuk tashish, 9 ni esa 7.5 tonnagacha yuk tashish deb belgilaydi va doim shunday bo'lgan. Agar yuk mashinasi kodini parametr izohidan tanlagan bo'lsangiz, o'zingiz mo'ljallagan yo'lakning teskarisini filtrlagansiz. Hamma joyda tuzatildi, v3 esa bu tanlovni butunlay olib tashlaydi.
API Shartlari v1.1 v1.0 kuchga kirishidan oldin uning o'rnini egallaydi va 2026-10-06 dan amal qiladi. Iltimos, ularni boshqaruv panelingizda qabul qiling.
7-bo'lim endi Bozor nima ekanini aytadi: bu siz ma'lumotlaridan foydalanadigan davlat, ya'ni siz so'ragan nazorat punkti yoki chegara joylashgan davlat, foydalanuvchilaringiz yashaydigan davlat emas. Bizning panelimiz turli joylarda ikkala fikrni ham aytgan edi; amalda esa doim birinchisi nazarda tutilgan.
Sizning foydangizga ikkita o'zgarish. Hisobingiz uchun allaqachon tasdiqlangan davlatlar keyingi o'zgarish ko'rib chiqilayotgan paytda ham ishlashda davom etadi (yangi davlat qo'shish endi mavjudlarini to'xtatib qo'ymaydi). Va agar biz bozor deklaratsiyangizga 5 ish kuni ichida javob bermasak, javob bergunimizcha tarifingizning to'liq limitlari amal qiladi.
10.3-bo'lim endi panel aslida so'raydigan narsaga mos keladi, 13.2-bo'lim esa biz o'lchaydigan va sizga ko'rsata oladigan mavjudlik mezonini belgilaydi.
Uchta mahsulot endi qo'shimcha data_quality maydonini (high yoki low) olib yuradi; u o'lchov haqiqiy kuzatuv ekanini yoki o'sha o'tkazish nuqtasida jonli hisoblash manbai bo'lmagan model bahosi ekanini bildiradi: queue (yuqori darajadagi snapshot da va data[] dagi har bir tarixiy qatorda, prognoz qatorlarida yo'q), update-info (konvertda) va multi (har bir nazorat punkti uchun queue hamda update_info quyi obyektlarining ikkalasida ham). Bu yangi signal emas, asosiy bayroq tizim ichida allaqachon mavjud edi, lekin u hech qachon ochib berilmagan, shuning uchun butunlay modellashtirilgan nazorat punkti bevosita o'lchangani bilan bir xil ko'rinardi. is_realtime ataylab o'zgarishsiz qoldirildi: u modellashtirilgan qatorlar uchun hamon true qiymatini beradi, bu ma'noni o'zgartirish esa v2 darajasidagi buzuvchi o'zgarish bo'lib, biz uni bu yerda qilmayapmiz.
Shuningdek shu relizdan: queue-advanced mahsuloti endi manbadan olingan xom ob-havo ma'lumotlarini qayta tarqatmaydi. weather_main, temperature va wind_speed o'rniga hosilaviy condition_code (0–5 xavf shkalasi, ob-havo ma'lumoti bo'lmaganda null), condition va severity keladi.
2026-08-30 dan boshlab bitta /api/v1/data/multi so'roviga ko'pi bilan 5 ta chegara o'tkazish punkti bo'yicha javob beriladi. Undan ko'p PPID sanab o'tilgan chaqiruv rad etilmaydi: u avvalgidek 200 qaytaradi, lekin faqat ?ppids= ichidagi dastlabki 5 ta ID bo'yicha javob beriladi. Qolgan ID lar e'tiborsiz qoldiriladi, meta.ppid_cap.ignored ichida qaytariladi va kvotangizdan yechilmaydi — chaqiruv haqiqatda qaytargan natijasi bo'yicha hisoblanadi.
Chaqiruv chegaradan oshib turganida javobda X-Devapi-Warning: multi_ppid_cap sarlavhasi va meta.ppid_cap bloki bo'ladi; blokda cap, enforced_from, enforced, ppids_asked, ppids_answered va ignored[] maydonlari bor. 2026-08-30 gacha bu maydonlar enforced: false qiymati va to'liq natijalar to'plami bilan ko'rinadi, shuning uchun yaqinlashib kelayotgan o'zgarishni o'z loglaringizda ko'rasiz.
Kvotadagi yarim chegirma o'zgarmaydi. Chegara punktlaringizni 5 tadan guruhlarga bo'ling va odatdagi yangilanish siklingizda har bir guruhga bitta chaqiruv yuboring; faqat navbat uzunligi va ma'lumot yangiligini tez-tez so'rab turish uchun update-info standart sinfdagi arzonroq mahsulot bo'lib qoladi.
Ukraina uchun hisoblanadigan issiqlik taqiqi — include_ua_heat bilan, country=UA so'rovlarida esa avtomatik qaytariladi — endi siz so'ragan sana oralig'i bo'yicha javob beradi. Ilgari u date_from va date_to nima deyishidan qat'i nazar keyingi yetti kunni qaytarardi, shu sababli dekabr oralig'iga shu haftaning qatorlari indamay qaytardi. Taqiq taqiqlar taqvimidan o'qilmaydi, ob-havo prognozidan hisoblanadi, shuning uchun taqvimda yo'q ikkita chegarasi bor: u ortga qaramaydi va prognoz tugagan joyda tugaydi. Sizning oralig'ingiz endi prognoz haqiqatan qamrab oladigan davr bilan kesishadi, yangi ua_heat_ban.forecast_horizon maydoni esa oxirgi mavjud sanani ko'rsatadi. Bu ufqdan tashqaridagi oraliq hech qanday qator qaytarmaydi va sababini summary ichida tushuntiradi — bu «taqiq yo'q» degani emas. v1 javoblari o'zgarmadi.
Javobning tuzilishi shu paytgacha hech qayerda tavsiflanmagan edi — mahsulot nima qaytarishini bilishning yagona yo'li uni chaqirish edi. Endi har bir mahsulot sahifasida, parametrlar jadvali ostida jadval turadi: Javob maydonlari har bir maydonning qisqa tavsifi bilan; ro'yxat elementlarining maydonlari shu ko'rinishda: items[].name, konvert darajasidagi maydonlar (usage, meta, snapshot, resolved_location) esa prefikssiz. 42 mahsulotdan 40 tasi tavsiflangan: hali ishga tushirilmagan ikkitasi (weather, road-quality) ataylab tavsifsiz qoldirildi. Ayni jadval GitHub'dagi ochiq hujjat oynamizda ham chop etiladi.
Endi har bir yoqilg'i mahsuloti yoqilg'ining mahalliy nomini qabul qiladi, faqat bizning ichki yozuvimizni emas: ON Polshada, Nafta Chexiyada, Gázolaj Vengriyada, Motorină Ruminiyada, ДП Ukrainada, Motorin Turkiyada, Gasóleo Portugaliya va Ispaniyada. Nom avvalo mamlakatga qarab aniqlanadi — “95” Daniya shoxobchasida E10, Polsha shoxobchasida esa E5 — shuning uchun country parametrini mahalliy nom bilan birga yoki nuqtani joylashtira oladigan koordinatalarni yuboring. Javobda fuel_type (kanonik), fuel_type_requested (siz yozgan ko'rinishda) va fuel_type_local qaytadi. Joylashtira olmagan nomni biz hech qachon standart yoqilg'i bilan almashtirmaymiz: javob bo'sh keladi va buni ochiq aytadi.
To'liq jadval endi alohida mahsulot — GET /api/v2/data/fuel-grades[?country=PL][&fuel_type=ON] — kanonik yoqilg'ilarimiz va ularning Yevropaning 41 mamlakatidagi mahalliy nomlari, biz narx bermaydigan bozorlar ham shular qatorida. Bundan tashqari, fuel va fuel-local mahsulotlarining mamlakat va mintaqa qatlamlari grades obyektini oldi: u har bir narx kalitini yoqilg'i va uning shoxobchadagi nomi bilan bog'laydi.
Endi truck-bans mahsuloti quyidagi manzilda aniq sana yoki sana oralig'i bo'yicha javob beradi: /api/v2/data/truck-bans. Shu paytgacha u doimo keyingi 7 kunni qaytarar va yuborilgan sanani e'tiborsiz qoldirar edi, shu sababli taqvim tuzish uchun har bir kunga bitta so'rov kerak bo'lardi — sekundiga ikkita so'rov beriladigan tarifda esa ularning ko'pchiligi quyidagi xato bilan rad etiladi: 429 qps_exceeded.
Bitta kun uchun ?date=YYYY-MM-DD parametridan, oraliq uchun ?date_from= va ?date_to= parametrlaridan foydalaning. Ikkala chegara ham qo'shib hisoblanadi va istalganini tushirib qoldirish mumkin: boshlanish sukut bo'yicha bugungi kun, tugash esa boshlanish ustiga 7 kun. Oyna ko'pi bilan 92 kunni qamrab oladi — undan uzunrog'i jimgina qisqartirilmay, quyidagi xato bilan rad etiladi: 400 date_range_too_long. Bu oldinga qaragan taqvim: oyna ko'pi bilan 7 kun oldin boshlanishi mumkin, undan eski sanalar berilmay, rad etiladi — qamrov oldinga qarab 2028-yil 31-dekabrgacha, 23 mamlakatda.
Har bir javob endi qamrab olingan aniq oraliqni nomlaydigan window obyektini o'z ichiga oladi. Bu qo'shimcha maydon bo'lib, v1 da ham yuboriladi; v1 esa o'zining qat'iy 7 kunlik oynasini o'zgarishsiz saqlaydi. Diqqat: include_ua_heat qanday oyna so'ralishidan qat'i nazar, doimo keyingi 7 kunni qamrab oladi — u ob-havo prognozidan hisoblanadi, taqiqlar taqvimidan emas. Eslatib o'tamiz, ushbu mahsulotning v1 versiyasi 2026-yil 8-sentyabrda ishdan chiqariladi.
Butun API bo'ylab ikkita bog'liq yaxshilanish: mahsulot qabul qilmaydigan har qanday parametr endi jimgina tashlab yuborilmay, javobdagi ignored_params maydonida sanab o'tiladi; ma'lumotlar xizmatidan keladigan tekshiruv xatolari esa sizga yozilganidek yetib boradi, mashina o'qiy oladigan kod bilan: error.reason.
Gateway auditidan (chipta #43) kelib chiqqan javob sifatiga oid uchta tuzatish.
X-API-Key sarlavhasi endi qabul qilinadi — Authorization: Bearer va ?key= bilan bir qatorda. Agar HTTP mijozingiz kalitlarni X-API-Key nomli sarlavha orqali yuborsa, bu endi ishlaydi — ilgari u ogohlantirishsiz e'tiborsiz qoldirilar va so'rov missing_api_key sifatida rad etilardi. Authorization: Bearer hujjatlashtirilgan va tavsiya etilgan shakl bo'lib qolmoqda.
Kalit yo'qligi haqidagi xato xabari endi autentifikatsiyaning uchala usulini ham nomlaydi (Bearer sarlavhasi, X-API-Key sarlavhasi yoki ?key=) — avvalgidek faqat ro'yxatdan o'tish sahifasiga havola bermaydi.
checkpoints ro'yxati endi har bir satrda has_day_stats maydonini olib yuradi — bu qo'shimcha mantiqiy qiymat bo'lib, Best Time to Cross (day-stats) API'sida shu nazorat punkti uchun ma'lumot bor-yo'qligini bildiradi. Day-stats faqat kuzatilayotgan nazorat punktlarining bir qismi uchun mavjud; oldindan ma'lum 404 xatolaridan qochish uchun so'rov yuborishdan oldin shu bayroqni tekshiring. Mavjud maydonlar o'zgarmadi.
Hujjatlarda yana bir tuzatish: road-conditions mahsuloti yorliqlarni lokalizatsiya qilish uchun lang parametrini doim hisobga olgan — u shunchaki ro'yxatda ko'rsatilmagan edi.
truck-bans mahsuloti uchun ikkita tuzatish va bitta yangi versiya.
Vergul bilan ajratilgan davlatlar endi ishlaydi. ?country= 3 tagacha ISO-2 kod ro'yxatini qabul qiladi, masalan ?country=DE,RO. Uzunroq ro'yxat ogohlantirishsiz qisqartirilmaydi, balki 400 too_many_countries bilan rad etiladi — bu davlatlar kesimidagi taqiqlar taqvimi, ommaviy ma'lumot oqimi emas. Ilgari bu ishlamasdi: ajratuvchi belgi olib tashlanar, shu sababli DE,RO yagona DERO tokeni sifatida o'qilar, hech nimaga mos kelmas va success: true hamda total_bans: 0 qaytarardi — ikkalasida jami 22 ta taqiq bo'lgan ikki davlat uchun ishonchli “taqiq yo'q” javobi. Agar buni har bir davlat uchun alohida so'rov yuborib chetlab o'tgan bo'lsangiz, endi bitta so'rov barchasini qamrab oladi va bir nechta o'rniga bitta chaqiruvga teng bo'ladi.
Javoblar endi o'z to'liqligini bildiradi. Uchta qo'shimcha maydon — returned, total_available va truncated — javob cheklanganmi yoki yo'qligini ko'rsatadi. Ayniqsa, cheklovsiz so'rov qisqartirilgan qism qaytaradi, ammo shu paytgacha javob tarkibida bu haqda hech narsa aytilmasdi. total_bans o'z ma'nosini saqlab qoladi (ushbu javobdagi satrlar), shuning uchun siz allaqachon tahlil qilayotgan hech narsa o'zgarmaydi.
v2 davlat bo'yicha cheklangan. /api/v2/data/truck-bans manzilida ?country= majburiy va davlat ko'rsatilmagan so'rov 400 scope_required bilan rad etiladi — bu mahsulot davlatlar kesimidagi taqiqlar taqvimi, ommaviy ma'lumot oqimi emas. v1 bugun o'zgarmaydi — u hamon davlat ko'rsatilmagan so'rovni qabul qiladi va hamon o'sha cheklangan 50 satrni qaytaradi, shuning uchun ishlab turgan hech narsangiz hozir buzilmaydi. Ushbu mahsulotning v1 versiyasi 2026-yil 8-sentabrda ishdan chiqariladi. U 7-sentabrgacha odatdagidek ishlaydi; 8-sentabrdan boshlab v1 so'rovi 410 Gone va v2 ga yo'naltiruvchi xabar bilan rad etiladi. Shu vaqtgacha har bir v1 javobi Deprecation: true, o'sha sanani ko'rsatuvchi Sunset sarlavhasi va vorisiy versiyani nomlovchi Link sarlavhasini olib yuradi, shunda mijoz kutubxonasi bu sahifani hech kim o'qimasdan ham muddatni ko'rsata oladi. Ko'chish uchun: versiya segmentini /api/v2/data/truck-bans ga o'zgartiring va ?country= ni uzating.
Hujjatlardagi bir tuzatish: date parametri olib tashlandi. U uzoq vaqt ro'yxatda turgan, biroq xizmat uni hech qachon o'qimagan, shu sababli uni yuborgan har qanday so'rov so'ralgan kun o'rniga ogohlantirishsiz standart 7 kunlik oynani olardi. Kunni tanlash uchun upcoming_bans massivini uning date maydoni bo'yicha filtrlang. Shuningdek, DEU kabi ISO-3 kod endi xulosada davlat nomiga aylantirilmaydi — u yerda u chalg'ituvchi “No truck ban data for: Germany.” xabarini keltirib chiqarardi.
truck-bans mahsuloti endi yana beshta mamlakat bo'yicha butun mamlakat miqyosidagi harakat cheklovlarini qaytaradi: Belgiya (BE), Belarus (BY), Chernogoriya (ME), Shimoliy Makedoniya (MK) va Shvetsiya (SE). Bolgariya, Gretsiya va Portugaliya bo'yicha mavjud qamrov kengaytirildi va yangilandi — yunon cheklovlari endi 2027-yil sentyabrigacha yetadi, Portugaliya esa yana ma'lumot bilan to'ldirildi.
Javob tuzilishi o'zgarmadi. Yangi qatorlar boshqa har qanday taqiq bilan bir xil kalitlarni saqlaydi: date, time_from, time_until, restriction_type, restriction_details, min_weight_tons va details_url. Agar cheklov faqat ma'lum shartda amal qilsa — masalan, Belarusdagi yozgi taqiqlar 25 °C dan yuqori haroratda kuchga kiradi — bu shart restriction_details maydonida ko'rsatiladi, shuning uchun haydovchini ogohlantirishdan oldin shu maydonni o'qing. Qoida tonnajga emas, tashish sinfiga (xavfli yuklar) tegishli bo'lsa, min_weight_tons qiymati null bo'ladi.
fuel-stations va fuel-cheapest mahsulotlari endi Polshada shoxobcha darajasidagi narxlarni qaytaradi. Qamrov qisman — Uchshahar hududi (Gdansk, Gdinya, Sopot) — shu sababli Polsha yangi qo'shimcha coverage.sparse_coverage massivida, mavjud coverage.station_countries ro'yxati yonida ko'rsatiladi. sparse_coverage ro'yxatidagi mamlakatda shoxobcha ma'lumotlari hududining faqat bir qismi uchun mavjud; o'sha mamlakatning boshqa joyidagi so'rov avvalgidek qamrov haqidagi izoh bilan birga bo'sh ro'yxat qaytaradi. Polsha narxlari PLN valyutasida beriladi.
Ommaviy so'rov xatosi ham tushunarliroq bo'ldi: lat yo'q bo'lsa, scope_required xabari endi mamlakat bo'yicha o'rtacha narxlar uchun fuel mahsulotiga (?country=XX) yo'naltiradi.
GET /api/v2/data/fuel-local?lat=&lon= endi narxni ikkita emas, uchta bosqich bo'yicha aniqlaydi: station, so'ng region, so'ng country. Yangi oraliq bosqich alohida shoxobcha narxlari hech qayerda mavjud bo'lmagan Ukraina uchun yaratildi: Ukrainadagi nuqta endi mamlakat o'rtachasi o'rniga o'z viloyatining o'rtacha narxini oladi va faqat viloyat uchun kotirovka bo'lmaganda mamlakat o'rtachasiga qaytadi.
region bosqichidan kelgan javob viloyat kodini (ISO 3166-2 qiymati, masalan UA-46), region_name va region_center_dist_km maydonlarini hamda mamlakat bosqichidagi kabi narx kalitlarini o'z ichiga oladi. Kodni avvalgidek resolution maydoniga qarab tarmoqlang, javob shakliga qarab emas; station va country javoblari o'zgarmadi.
Yangi GET /api/v2/data/fuel-local?lat=&lon= endpointi Yevropaning istalgan nuqtasi uchun mavjud eng yaxshi yoqilg'i narxini qaytaradi. Shoxobchalar bo'yicha ma'lumotimiz bo'lgan joylarda u eng yaqin shoxobchalar narxi bilan, aks holda nuqta joylashgan mamlakatning o'rtacha narxi bilan javob beradi — jumladan, alohida shoxobcha narxlari hech qayerda mavjud bo'lmagan Ukraina uchun ham.
Har bir javobda javob bergan darajani ko'rsatuvchi resolution maydoni bo'ladi: station (har biri o'z valyutasida, distance_km bilan birga shoxobchalar ro'yxati) yoki country (mamlakat bo'yicha o'rtacha narxlar bitta obyektda). Kodni javob shakliga emas, resolution maydoniga qarab tarmoqlang. /api/v2/ versiyasidan boshlab mavjud; fuel, fuel-stations va fuel-cheapest o'zgarmadi.
fuel-stations va fuel-cheapest mahsulotlari endi Germaniyadagi ancha ko'p shoxobchani qamrab oladi, narxlar esa kun davomida yangilanib turadi — qishloq hududlari ham kiradi. fuel_type parametri 13 xil yoqilg'i turini qabul qiladi: diesel, e5, e10, superplus, super100, premdiesel, truckdiesel, hvo, lpg, cng, adblue, e85 va lng. Agar so'rovga birorta shoxobcha mos kelmasa, javobga shoxobcha ma'lumotlari mavjud mamlakatlar ro'yxatini ko'rsatuvchi coverage obyekti qo'shiladi.
radius= parametri endi uni hujjatlashtirgan barcha mahsulotlarda radius_km uchun mos taxallus sifatida qabul qilinadi. fuel-stations va fuel-cheapest mahsulotlari mos shoxobcha topilmaganda jimgina bo'sh natija o'rniga qo'shimcha coverage obyektini qaytaradi (shoxobchalari bor mamlakatlar ro'yxati va izoh). route-plan dagi chegara obyektlari endi qo'shimcha wait_basis kalitini o'z ichiga oladi (car_lane yoki vehicle_lane), shunda mijoz yuk mashinalari uchun kutish ma'lumoti aslida yengil avtomobil yo'lagidan olinganini bilib oladi. Marshrut bo'ylab yuk mashinalari uchun chegara o'tkazish punktlarini moslashtirish sezilarli darajada aniqroq bo'ldi: yuk yo'lagi ma'lumoti yo'q punkt juftliklari uchun yengil avtomobil yo'lagidan zaxira ma'lumot, noto'g'ri yo'nalishdan himoya, qat'iyroq masofa chegarasi va bir xil joydagi takroriy o'tish punktlarini olib tashlash. Barcha o'zgarishlar qo'shimcha xarakterda, moslikni buzadigan o'zgarishlar yo'q.
Endi dasturchilar bosh sahifasida sakrash navigatsiyasi bilan bog'langan bo'limlar mavjud (#products, #plans, #quickstart, #integrations, #datasets, #apps, #companies, #showcase), va har bir mahsulot kartasi o'zining hujjatlar sahifasiga havola qiladi. Yangi Mobile apps bo'limi Kordon Online va Truck Bans-ni Google Play havolalari bilan taqdim etadi. Tarjima to'ldirildi: hisob-kitob tarixi, kirish xatolari, sandbox havolalari va reja tanlash tugmasi endi barcha 25 tilga lokalizatsiya qilindi.
Fleet beacon javobi (POST /api/v1/fleet_position.php) endi egadan→haydovchiga kutilayotgan xabarlarni yetkazuvchi messages massivini o'z ichiga oladi. Faqat egalar uchun yangi jonli JSON oqimi (?ajax=live) va fleet panelidagi "Haydovchilarga xabarlar" kartasi. Haydovchini taklif qilish uchun yangi sahifa /{lang}/get-nakbus (25 til).
product_fleet_vehicles/live/history uchun title, desc va fleet-history parametrlari dasturchilar portalining barcha 25 tilida lokalizatsiya qilindi.
/api/v1/data/truck-bans endi qaysi so'rov javobni yuzaga keltirganidan qat'i nazar, bir xil yuqori darajadagi maydonlar to'plamini qaytaradi. Ilgari, taqvim taqiqlari bo'lmagan mamlakat uchun so'rov, tanib bo'lmaydigan ppid yoki oddiy ma'lumotlar bazasi mosligi har biri turli maydonlarni (masalan, country, covered_countries, ppid) tashlab ketishi mumkin edi. Endi har bir javob doimiy ravishda 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 va upcoming_bans maydonlarini o'z ichiga oladi (tegishli bo'lmaganda null yoki bo'sh), bu esa mijoz tomonidagi tahlilni soddalashtiradi.
Har bir xizmat uchun to'qqizta yangi mahsulot. Joylashuvga asoslanganlar lat/lon yoki city + country qabul qiladi (shaharni siz uchun o'zimiz geokodlaymiz): /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 (yoqilg'i turi bo'yicha narxga qarab saralangan shoxobchalar) va /api/v2/data/internet-points; natijalarda distance_km mavjud va radius bilan chegaralangan. /api/v2/data/vignettes mamlakat vinyetka talab qiladimi degan savolga joriy narxlar bilan javob beradi. Mavjud pois mahsuloti endi hujjatlashtirilganidek lon va radiusni qo'llab-quvvatlaydi, fuel mahsulotining mode=nearest rejimi ham lonni qabul qiladi. Barcha to'qqiztasi sandboxda mavjud.
/api/v1/data/truck-bans ichidagi har bir taqiq endi restriction_type (General / Local / Sunday / Holiday / Seasonal), restriction_details (ta'sirlangan aniq hudud yoki yo'llar) va min_weight_tonsni o'z ichiga oladi. details_url endi nakordoni.eu saytidagi mamlakat sahifalariga yo'naltiradi. Yangi ixtiyoriy lang parametri mamlakat nomlari va xulosaning tilini tanlaydi; standart til endi ingliz tili.
Noto'g'ri ?ppid= endi qisqa "Request failed" o'rniga haqiqiy sababni qaytaradi: xato parametrni, kutilayotgan id_<number> formatini nomlaydi va /api/v1/data/checkpoints manziliga yo'naltiradi. stats, forecast, update-info, weather va bus-carriers parametr jadvallari endi id_13 misolini barcha 25 tilda ko'rsatadi.
Portalning qayta ishlangan qobig'i (yuqori panel, belgili yon panel, KPI paneli, kartochkali joylashuv) endi barcha tizimga kirgan dasturchi hisoblari uchun standart — rejalashtirilgan 10-avgustdagi ishga tushirishdan oldinroq. Klassik ko'rinishga istalgan vaqtda qaytish uchun ?v=1 dan foydalaning.
Dasturchilar portalining barcha sahifalari — bosh sahifa, hujjatlar, boshqaruv paneli, AI Studio, sinov muhiti, murojaatlar, arizalar, eksport, avtopark, yangiliklar, o'zgarishlar jurnali va hisob sahifalari — endi hech qanday reklama skripti yoki reklama blokini yuklamaydi. Bu avvalgidek faqat kirish va ro'yxatdan o'tish sahifalariga emas, butun portalga taalluqli.
Butun chegara safarini bitta so'rov bilan rejalashtiring: /api/v2/data/route-plan marshrutni, unda haqiqatan joylashgan o'tkazish punktlarini jonli navbat yoki kelish vaqtingizga prognoz bilan hamda haydovchi haqiqatan qiladigan to'xtashlarni — dam olish, ovqatlanish, yoqilg'i — bitta vaqt o'qida qaytaradi.
Chegara shu o'qning bir qismi. Uzoq navbat allaqachon kelgan tanaffus sifatida hisoblanadi va rul ortidagi vaqtni nolga qaytaradi, shuning uchun uch soatlik kutish hech qachon uch soat plyus hech kim qilmagan tanaffuslarning to'liq to'plami sifatida ko'rsatilmaydi. Yengil avtomobillar uchun xavfsiz haydash modeli amal qiladi; avtobus va yuk mashinalari Yevropa Ittifoqining 561/2006 bo'yicha majburiy dam olishini oladi, avtobuslarning xizmat vaqti esa 1000 dan ortiq litsenziyalangan xalqaro jadval asosida kalibrlangan. Har bir to'xtashga haqiqiy dam olish maydoni yoki shoxobcha nomini berish uchun stop_places=1, boshqa punktdan o'tish uchun via=lat,lon qo'shing.
Portal menyusidagi yangilik: Taqdimot — nakordoni ma'lumotlar platformasining jonli, doim dolzarb taqdimoti, sizning bozoringizga moslashtirilgan (sug'urta, sayohat, logistika, tashuvchilar, media, navigatsiya, yoqilg'i, fintex, davlat sektori yoki shaxsiy loyihalar). U platformaning haqiqiy 30 kunlik hajmlarini, sizning API'dan foydalanishingizni, javob vaqti va cheklovlar statistikasini, shuningdek chaqiruvlaringiz bepul darajaning chegarasiga yetganda tarif tavsiyasini ko'rsatadi. Bozoringizni (yoki bozorlaringizni) sahifada, profilingizda — yoki ro'yxatdan o'tishda tanlang yoki tasdiqlang. U birinchi tashrifda avtomatik ochiladi; avtomatik ochilishni sahifaning o'zida o'chirish mumkin.
Agar assistentda oqim yoqilgan bo'lsa-yu, chaqiruv o'sha oqimga kerak bo'lgan kontekstni olib kelmasa — masalan, queue parametrisiz ppid— oqim endi har qanday so'rovdan oldin o'tkazib yuboriladi va hisobga olinmaydi. Avval u baribir chaqirilar, muvaffaqiyatsiz tugar va shunda ham bir birlik turardi. Studiya har bir oqimga nima kerakligini ko'rsatadi, kontekstni to'ldirgan sari narxni qayta hisoblaydi va natijalarni ✓ bajarildi / ⊘ o'tkazib yuborildi, to'lovsiz / ✕ muvaffaqiyatsiz deb belgilaydi; API qaysi parametrni uzatish kerakligini aniq aytadigan data.feeds_skipped ni qaytaradi.
Javoblar endi oqimlarni, ma'lumot manbalarini yoki hech qanday texnik narsani tilga olmaydi: yetishmayotgan oqim oxirgi foydalanuvchi uchun ko'pi bilan bitta oddiy gap, hech qachon ichki nom emas. Faqat ixtiyoriy filtrlarga ega oqimlar (masalan, ma'lumotimiz yo'q mamlakatga toraytirilgan fuel ) endi hech nima qaytarmaslik o'rniga keng ma'lumotlar to'plamiga qaytadi.
Yangi: /{lang}/developers/studio. Sizning kontentingiz va bizning jonli chegara ma'lumotlarimiz asosida javob beradigan AI assistent yarating. Bizga markdown fayllaringizni bering yoki shunchaki sahifalarni ayting — biz ularni yuklab olamiz va indekslaymiz; siz faqat o'z fayllaringizni yuritasiz. U qaysi oqimlarimizdan foydalana olishini tanlang (navbat, prognoz, muqobillar, kunlik statistika, yoqilg'i, yuk mashinalari uchun taqiqlar, savdo yakshanbalari, bayramlar, yo'l holati, avtobus tashuvchilari, POI, valyuta), model darajasini tanlang (tez / muvozanatli / pro — narxni aynan shu belgilaydi), ma'lumotlarimiz javobning qayeriga tushishini aniq ko'rsatadigan {{feed.slug}} o'rin egallovchilari bilan o'z ko'rsatmalaringizni yozing va har bir javobga qo'shiladigan o'z yakuniy gapingizni qo'shing. Tayyor shablonlar: shaxsiy sayohat assistenti, ish/yuk assistenti, sug'urta va Yashil karta sotuvi assistenti.
Uni studiyada sinab ko'ring (kuniga 30 javob, API kvotangizdan alohida), so'ng ishlab chiqarishda GET /api/v2/data/assistant-custom?assistant_id=N&q=…orqali chaqiring. Bitta javob narxi = model darajasi birliklari + har bir yoqilgan oqim uchun 1 birlik, X-Devapi-Unitsda qaytariladi. Mahsulot faqat v2 da — v1 URL manzili unsupported_versionqaytaradi. Mavjud assistant mahsuloti o'zgarmagan.
Har bir assistent platformaning kontent siyosati ostida ishlaydi va bu siyosat sizning ko'rsatmalaringizdan ustun turadi: mansabdor shaxs qiyofasiga kirish, chegara yoki bojxona nazoratini chetlab o'tishga yordam berish, o'ylab topilgan raqamlar va haqoratli so'zlar taqiqlanadi. Ko'rsatmalar ham, javoblar ham tekshiriladi; bloklangan chaqiruvlar qayd etiladi.
Yangilik: https://nakordoni.eu/mcp manzilidagi haqiqiy MCP server, API-ning xavfsiz, faqat o'qish uchun mo'ljallangan qismini (status, checkpoints, border queue, live queue, forecast) MCP vositalari sifatida taqdim etadi. REST API bilan bir xil API kaliti va kvota. Server kartasi /.well-known/mcp/server-card.json manzilida. Hujjatlardagi MCP server bo'limiga qarang.
Quyida tasvirlangan „Live Queue & Freshness API“ ga o'zgartirish aslida hujjatlar sahifasiga yetib bormagan edi. Sahifa har bir mahsulot sarlavhasini tarjima qidiruvi orqali chiqaradi va u yakuniy nuqta sarlavhasiga faqat tarjima bo'lmaganda murojaat qiladi — tarjima esa allaqachon mavjud edi, eski nomda muzlatilgan holda, interfeysning barcha 25 tilida. Endi u asosiy sarlavhaning har qanday kelgusi yangilanishidan ustun turadi, toki o'zi ham yangilanmaguncha.
Tarjima kaliti barcha 25 tilda o'zgartirildi, shu sababli hujjatlar sahifasi endi mos keladi. Yakuniy nuqta, parametrlar yoki javobda o'zgarish yo'q — faqat sarlavha matni.
Agar jonli navbat ma'lumotlarini tez-tez so'rasangiz, og'ir kvotani keraksiz sarflayotgan bo'lishingiz mumkin. /update-info standart sinfga kiradi va jonli qiymatni allaqachon qaytaradi:
GET /api/v1/data/update-info?ppid=id_13
U quyidagilarni qaytaradi: queue_now, freshness, age_minutes, is_realtime, status, timestamp va timezone. Undan standart kunlik kvotangiz hisobidan tez-tez yangilash uchun foydalaning, /queue, /multi va /forecast (barchasi og'ir sinf) ni esa wait_min, trend maydonlari yoki tarix kerak bo'lgan holatlar uchun saqlang.
Yakuniy nuqtaning o'zida hech nima o'zgarmadi — faqat uning hujjatlarida. U „Data Freshness API“ sifatida ko'rsatilgan edi va tavsifida faqat yangilik bahosi tilga olingan, queue_nowesa hech qachon; shu sababli uni o'tkazib yuborish oson edi. Endi uning nomi „Live Queue & Freshness API“ va qaytariladigan maydonlar to'liq sanab o'tilgan. Buni ko'targan dasturchiga rahmat.
Ba'zi muvaffaqiyatsiz so'rovlar HTTP 200 va ok: true qaytarar, xatoni esa data ichiga yashirar edi — shu sababli hujjatlashtirilgan if (!ok) throw namunasi ularni aniqlay olmasdi, chaqiruv esa baribir hisobga olinardi. Bunday chaqiruvlar endi hujjatlarda ko'rsatilganidek HTTP 400 va ok: false , shuningdek to'g'ri error.code / error.messageqaytaradi. fuel-cities da qo'llab-quvvatlanmaydigan mamlakat bilan va travel-matrix da noto'g'ri koordinatalar bilan kuzatilgan.
Alohida: majburiy parametr yetishmaganda 500 internal_error o'rniga 400 bad_request qaytardi (ichki xizmatning 4xx javob tanasi uning holati o'qilishidan oldin tashlab yuborilardi). Endi ichki xizmat xabari bilan 400 bad_request qaytariladi — masalan, search parametrisiz ?name=.
Muvaffaqiyatli javoblar baytma-bayt o'zgarmagan — o'sha maydonlar, o'sha parametrlar, o'sha kvota narxi. Agar mijozingiz allaqachon okbo'yicha tarmoqlansa, hech nimani o'zgartirish shart emas. Agar u ok ni e'tiborsiz qoldirib, data ni to'g'ridan-to'g'ri o'qigan bo'lsa, endi doim ham muvaffaqiyatsiz bo'lib kelgan chaqiruvlarda xato konvertlarini ko'radi.
Xato tuzatildi: /multi ba'zi o'tkazish punktlari uchun — asosan Bolqon va Vengriya–Serbiya chegarasidagi — keshi sovuq bo'lgan har safar noto'g'ri navbat sonini qaytarishi mumkin edi. Zaxira yo'l o'sha punktlar uchun navbat ma'lumotlari yo'q jadvalni o'qir va begona qiymatlarni mashinalar soni sifatida ko'rsatardi. O'lchangan misollar: 12 mashinali punkt 6 deb ko'rsatdi, haqiqiy navbati bor bir nechtasi esa 0 deb ko'rsatdi.
Sezishingiz mumkin bo'lgan uchta o'zgarish:
found: falseendi navbat haqida yangi ma'lumot haqiqatan ham yo'qligini bildiradi. Avval siz o'ylab topilganfound: truebilanqueue_now: 0olishingiz mumkin edi.wait_status,trend_percentvatrend_directionendi sovuq so'rovlarda ham qaytariladi — avval ularnulledi.- Yakuniy nuqta keshdagi tasviri eskirganda ham (24 soatdan oshgan) zaxira yo'lga o'tadi, faqat u yo'q bo'lgandagina emas.
So'rov parametrlari, kvota narxi yoki javob tuzilishida o'zgarish yo'q.
Har bir /multi chaqiruvi ikki marta hisoblanadigan xato tuzatildi — avval umumiy 1 birlik tekshiruvi orqali, keyin esa endpointning o'z o'zgaruvchan narx formulasi orqali (N PPID × quyi mahsulotlar). Endi chaqiruv hujjatlashtirilganidek aynan ⌈(N×M)/2⌉ birlikka tushadi, qo'shimcha to'lovsiz.
Shuningdek, hujjatlar sahifasida har bir mahsulotga kvota sinfi belgisi (Standard/Heavy) qo'shildi, shunda endpoint qaysi kunlik kvotadan foydalanishi bir qarashda ma'lum bo'ladi.
country va countries bitta parametrga birlashtirildi (1-15 vergul bilan ajratilgan kod). Yangi compare_to parametri: mamlakatlar o'rtasida bir xil yoki turli bayramlarni taqqoslash, upcoming+days bilan birga ishlaydi. lang endi bir nechta tilni qabul qiladi (names obyektini qo'shadi). days=0 yoki tushirib qoldirilgan endi upcoming rejimida cheklov yo'q degani.
Har bir Yevropa mamlakati bo'yicha rasmiy davlat bayramlari — sanalar, mahalliy nomlar va turi. nakordoni.eu bayramlar kalendari sahifasini va bashorat tizimining kalendar omillarini ta'minlaydigan xuddi shu Nager.Date / OpenHolidaysAPI xizmatiga asoslangan (mahalliy hisoblangan Kosovo kalendari bilan).
?country=PL&year=2026— bitta mamlakat uchun to'liq yillik bayramlar ro'yxati?upcoming=1&days=30— mamlakatlar bo'yicha yaqinlashib kelayotgan bayramlarning tekis ro'yxati- Parametrsiz — asosiy mamlakatlar to'plamining indeksi, har birining keyingi bayrami bilan
currency mahsuloti qo'shildi — PLN, CZK, HUF, USD, GBP, CHF, NOK va UAH uchun EUR asosidagi ayirboshlash kurslari, Frankfurter (ECB) manbasidan olinib, 6 soat keshlanadi. Parametrsiz, har doim to'liq kurslar jadvalini qaytaradi. hujjatlarni ko'ring.
Yevropa yuk mashinalari harakatiga real vaqtdagi taqiqlarni o'z veb-saytingizga joylashtiring — 3 dizaynli (light, dark, board), 5 tilli (en, uk, pl, de, ru), ixtiyoriy mamlakat bo'yicha filtri va «active now» jonli holati bo'lgan bepul iframe vidjeti. API kaliti kerak emas. Kodni bu yerda sozlab, nusxalab oling: nakordoni.eu/en/for_truck_drivers/traffic_bans/widget. Xom ma'lumotni afzal ko'rasizmi? truck-bans API mahsuloti va ochiq JSON tasmasi hamon mavjud.
border va interaktiv Sandbox
Uchta qo'shimcha, barchasi orqaga mos — v1 o'zgarishsiz.
Har bir endpoint bo'yicha versiyalash. Endi /api/v2/ asosiy URL mavjud. U har bir endpoint bo'yicha: faqat haqiqatan o'zgargan endpointlar v2 da boshqacha ishlaydi; qolgan har bir endpoint o'zining v1 javobini shaffof tarzda beradi (shuning uchun /api/v2/data/queue = v1 dagi xuddi shu ma'lumot, faqat "api_version":"v2" bilan). Ishlayotgan endpointlarni ko'chirish shart emas.
border v2 yo'nalishlidir. Yo'l tartibi — sayohat yo'nalishi:
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)
Har bir nazorat punkti shuningdek direction {from,to} obyektini va stale mantiqiy qiymatini oladi, ?max_age_min=N esa faqat yaqinda yangilangan o'tish joylarini qaytaradi. (v1 border tartibdan qat'i nazar chegaraning ikkala tomonini ham qaytaradi — o'zgarishsiz.)
Interaktiv Sandbox. Tizimga kirgan ishlab chiquvchilar endi istalgan endpointni brauzerdan bu yerda sinab ko'rishlari mumkin: Developers → Sandbox — endpoint, versiya va kalitlaringizdan birini tanlab, parametrlarni o'zgartiring va jonli javobni ko'ring. Sandbox sinovining o'ziga xos alohida kunlik byudjeti bor (50 calls/day) va sizning jonli API kvotangizga hech qachon tegmaydi.
Hujjatlar endi har bir endpoint bo'yicha ajratilgan (Developers → API Docs), bittadan ortiq versiyasi bor endpointlarda versiya tanlagichi bilan.
queue-advanced: ikkita yangi tuzatish omili
Kutish vaqti formulasiga mavjud section_mode va ob-havo tuzatishlari bilan bir qatorda ikkita yangi omil qo'shildi:
service_rate— hozir qayta ishlanayotgan o'lchangan mashina/daqiqa nisbatan nazorat punktining sozlangan bazaviy tezligiga. Ko'paytiruvchi, 0.5x-1.5x oralig'ida chegaralangan.shift_change— nazorat punktining o'z mahalliy 08:00/20:00 chegarachilar smenasi almashinuvining ta'siri. Qo'shimcha (daqiqalar), ko'paytiruvchi emas — faqat smenadan +/-60 daqiqa ichida qo'llaniladi, minimal namuna tarixini talab qiladi, +/-120 daqiqaga chegaralangan.
advanced_wait_min endi round(base_wait × section_mode × weather × service_rate) + shift_change.adjustment_min. Ikkala omil ham tarixiy taqqoslashlar uchun driver_reported.prognosed_advanced_wait_min da aks etadi.
queue, border, multi, update-info dan bir nechta faqat ichki maydon olib tashlandi
Xavfsizlik/maxfiylik ko'rigi doirasida quyidagi maydonlar olib tashlandi — ular haqiqiy mahsulot qiymatiga ega bo'lmagan ichki amalga oshirish tafsilotlarini (bizning manba taksonomiyasi, DB row ID lari, ichki pipeline izohlari, ishlatilmaydigan/o'lik maydonlar) oshkor qilardi:
idvacorrected—queuerow obyektlaridan olib tashlandisource(xom satr, masalan"line") —queue,multivaupdate-infodan olib tashlandi.update-infovamultiningupdate_infobloki hamonsource_category/source_label_enni (kichik ochiq lug'at) olib yuradi;queuevamultiningqueuebloki endi hech qanday source maydonini olib yurmayditraffic_status—borderdan olib tashlandi; u har doimnulledi va tizimning hech qaysi qismi tomonidan hech qachon to'ldirilmagan
Agar integratsiyangiz shu maydonlardan birortasini o'qisa, uni yangilang — tegishli mahsulotning hujjatlar sahifasidagi joriy maydonlar ro'yxatini ko'ring.
usage.used endi kasrli son bo'lishi mumkin
Kunlik kvota sarfi (har bir javobdagi usage.used) endi har doim butun son bo'lish o'rniga o'nlik qiymat (masalan 67.5) bo'lishi mumkin. Bu queue-advanced ning kasrli stavkada hisoblanishining yon ta'siri — quyiga qarang. usage.limit ta'sirlanmaydi va har doim butun son. Agar mijozingiz usage.used ni qat'iy butun son sifatida turlasa, uni o'nlik/float qabul qiladigan qilib kengaytiring.
wait_status va trend_percent/trend_direction border, multi va queue-advanced ga qo'shildi
Bu uch mahsulot endi veb-sayt ko'rsatadigan xuddi shu jonli holat maydonlarini qaytaradi: wait_status (green/yellow/red, ushbu nazorat punktining o'z so'nggi tarixiga asoslangan) va trend_percent/trend_direction (up/up-slight/down/down-slight/stable, so'nggi 3 soatni taqqoslab). Sof qo'shimcha.
queue: wait_time endi har bir tarixiy row da to'ldiriladi
/api/v1/data/queue ning data[] row larida ilgari ko'pchilik manbalar uchun wait_time: null bo'lardi — faqat bir nechta manba kutish vaqtini to'g'ridan-to'g'ri xabar qiladi. Usiz row lar endi standart bahosini oladi, yangi wait_time_estimated mantiqiy qiymati bilan belgilanadi, shuning uchun haqiqiy xabar qilingan ko'rsatkichni hisoblanganidan ajrata olasiz.
queue-advanced: 1.5x bilan hisoblanadi, javob qisqartirildi
queue-advanced endi bir qo'ng'iroqqa 1 o'rniga 1.5 birlik turadi (u bajaradigan qo'shimcha traffic/weather/driver-report qidiruvlarini aks ettirib) — yuqoridagi usage.used ni ko'ring. Javob shuningdek endi total_crossing_time ni o'z ichiga olmaydi, driver_reported esa endi shunchaki {wait_min, ts, age_min} — oldingi bashorat-haqiqat taqqoslash maydonlari (prognosed_wait_min, diff_min, historical_section_mode, historical_weather va h.k.) olib tashlandi. section_mode, weather, advanced_wait_min va exceeds_crossing_time o'zgarishsiz.
active_window / next_window)
/api/v1/data/truck-bans endi bans_by_country dagi har bir mamlakat uchun status (active/clear) plus active_window, next_window, local_time va tz ni qaytaradi — o'sha mamlakatning o'z vaqt mintaqasida hisoblangan, shuning uchun endi xom taqiq oynalarini soatga nisbatan o'zingiz baholashingiz shart emas. Javobga shuningdek yuqori darajadagi covered_countries ro'yxati va as_of UTC vaqt belgisi qo'shiladi.
GET /api/v1/data/truck-bans?country=PL
Sof qo'shimcha — mavjud current_bans/upcoming_bans/bans_by_country maydonlari o'zgarishsiz. Noma'lum ?country= endi har bir mamlakatning taqiqlari o'rniga countries_not_covered bilan bo'sh natija qaytaradi.
queue-advanced)
Standart kutish vaqtini jonli transport oqimi va ob-havoga moslashtiradigan yangi ixtiyoriy mahsulot. Har bir moslashtirishning to'liq tahlilini qaytaradi.
GET /api/v1/data/queue-advanced?ppid=id_13
So'rov bo'yicha beriladi — uni yoqish uchun boshqaruv panelingizdan Data tiketini oching.
/api/v1/data/border endi javobdagi har bir nazorat punkti uchun wait_min ni to'g'ri hisoblaydi, queue va multi mahsulotlariga mos ravishda. Ilgari bu maydon har doim null edi.
/api/v1/data/forecast endi istalgan prediction_steps qiymati uchun v4 ansambl modelini ishonchli tarzda ishlatadi (ilgari ba'zi nostandart gorizontlar sekin eski modelga qaytishi mumkin edi). Ansamblni ta'minlaydigan ob-havo omili ham tuzatildi va endi har doim mavjud emas deb xabar qilish o'rniga jonli sharoitlarni (yomg'ir, qor, shamol, tuman) chinakam aks ettiradi.
Tasdiqlangan ishlab chiquvchilar endi 5 tagacha nazorat punkti uchun (90 kungacha siljuvchi oyna) soatlik o'rtachalangan tarixiy chegara navbati ma'lumotlarini yangi Data export yorlig'idan CSV yoki NDJSON sifatida yuklab olishlari mumkin. Ma'lumotlar faqat chop etilgan va sifati tekshirilgan; vaqt belgilari UTC da. Kirish kerakmi? Data tiketini oching.
Hali veb-saytingiz yo'qmi? Endi jonli sahifa URL ini kiritishga majbur bo'lish o'rniga, ma'lumotlarimizni qayerda va qanday ishlatmoqchi ekaningizni tasvirlab, ishlab chiquvchi hisobini yaratishingiz mumkin. Saytingiz yoki ilovangiz ishga tushishi bilan haqiqiy URL ni keyinroq boshqaruv panelingizdan qo'shing (Account & data → Your project) — o'sha sahifada nakordoni.eu ga ko'rinadigan orqaga havola bizning Shartlarimiz bilan talab qilinadi.
Ishlab chiquvchilar endi o'zlarining chegaraga oid yangiliklarini Nakordoni yangiliklar tasmasiga yuborishlari mumkin. Agar muharrirlarimiz uni chop etsa, siz o'z xizmatingizga indekslanadigan dofollow orqaga havola olasiz (nashriyot imzosi + manba satri) va biz maqolani barcha 24 tilga bepul tarjima qilamiz.
Haftasiga bitta maqola bepul; qo'shimcha maqolalar pullik qo'shimcha. 'biz uni yengil tahrirlashimiz + ichki havolalar qo'shishimiz mumkin' yoki 'o'zgartirilmasdan chop etish' ni tanlang. Yuboring va ko'rib chiqish holatini bu yerda kuzating: Developers → Submit news.
Multi-Checkpoint API (/api/v1/data/multi) endi kvotani ⌈(N PPIDs × sub-products) / 2⌉ sifatida hisoblaydi — ekvivalent alohida qo'ng'iroqlarning yarmi narxi. Ikkala sub-product bilan 10 ta nazorat punktiga so'rov endi 20 o'rniga 10 birlik turadi. Javobdagi X-Devapi-Units sarlavhasi va meta.units_consumed chegirmali miqdorni aks ettiradi.
multi)
Bitta API qo'ng'irog'ida 20 tagacha nazorat punkti uchun jonli navbat holati va ma'lumotlar yangiligini oling — hozir ko'plab PPID larni tsiklda so'raydigan boshqaruv paneli quruvchilari uchun mo'ljallangan.
Kvota so'ralgan N PPIDs × sub-products sifatida adolatli hisoblanadi, shuning uchun umumiy sarf alohida qo'ng'iroqlarga bir xil — ammo ko'p o'rniga bitta murojaat bilan. GreenTravel uslubidagi shablonlar soatiga 24+ qo'ng'iroqdan 2 taga tushadi.
GET /api/v1/data/multi?ppids=id_2,id_13,id_15,id_59&include=queue,update-info&lang=en
include=queue— joriy queue_now, taxminiy wait_min, ma'lumot yoshi va nazorat punkti nomiinclude=update-info— ma'lumotlar yangiligi, manba tasnifi, soniya/daqiqadagi yoshi- So'rovga ko'pi bilan 20 PPID; to'liq boshqaruv paneli ma'lumotlari uchun ikkala sub-product ni bitta qo'ng'iroqda birlashtiring
- Javob
meta.units_consumedni o'z ichiga oladi, shuning uchun kvota sarfini aniq kuzatishingiz mumkin
queue mahsuloti javobi endi eng so'nggi real vaqtdagi ma'lumot va hisoblangan bashorat qilingan kutish vaqti bilan yuqori darajadagi snapshot obyektini o'z ichiga oladi — nakordoni.eu hero bo'limida ishlatiladigan xuddi shu formula:
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 massivi (tarixiy yozuvlar) o'zgarishsiz — bu sof qo'shimcha to'ldiruv. snapshot ni o'qimaydigan mijozlar ta'sirlanmaydi.
border)
Har bir PPID ga bitta so'rov qilish o'rniga berilgan chegara + transport turi bo'yicha barcha nazorat punktlarini bitta qo'ng'iroqda so'rang.
GET /api/v1/data/border/{origin}/{destination}/{crossing_type}
- Bitta manzil mamlakatni, vergul bilan ajratilgan ro'yxatni yoki har bir kuzatiladigan qo'shnini bir vaqtning o'zida kengaytirish uchun
allni qo'llab-quvvatlaydi. - Natijalar
queue_nowbo'yicha o'sish tartibida saralangan (eng qisqa navbat birinchi). - To'liq lokalizatsiyalangan: o'sha tildagi nazorat punktlari nomlarini olish uchun
?lang=uk(yoki bizning 22 qo'llab-quvvatlanadigan tildan istalganini) qo'shing.
search)
To'liq katalogni ko'rib chiqmasdan nazorat punktining PPID qiymatlarini nomi bo'yicha toping.
GET /api/v1/data/search?name=Krakovets,Shehyni&lang=en
- Bitta nomni yoki vergul bilan ajratilgan ro'yxatni (20 tagacha) qabul qiladi.
- Barcha 24 tarjima tilida qidiradi — nomni ukrain, polyak, nemis yoki istalgan qo'llab-quvvatlanadigan tilda bering, u mos keladi.
- O'sha joydagi barcha PPID larni transport turi bo'yicha guruhlangan holda qaytaradi (car / bus / pedestrian / truck).
crossing_type almashtirish
alternatives mahsuloti endi ?lang= ni barcha 22 qo'llab-quvvatlanadigan tilda qabul qiladi (faqat 12 ta edi).
Yangi crossing_type parametri transport turi filtrini almashtirishga imkon beradi — masalan, bus PPID dan so'raganda ham mashina alternativalarini olish uchun crossing_type=4 ni bering.
crossing_type_label maydoni checkpoints, border va search javoblarida endi so'ralgan tilga barcha 22 qo'llab-quvvatlanadigan tilda tarjima qilinadi. Mamlakat nomi maydonlari (origin_name, destination_name) xuddi shu lokalga ergashadi.
Nakordoni Developer API portali bu yerda ishga tushdi: /en/developers. Chegara navbati ma'lumotlari, bashoratlar, yoqilg'i narxlari, haydovchi POI lari va boshqalarga kirish uchun bepul Explorer kalitiga (200 requests/day) ro'yxatdan o'ting.
Ishga tushirishda mavjud mahsulotlar: checkpoints, queue, stats, day-stats, forecast, alternatives, update_info, fuel, pois, truck_bans, trading_sundays, bus_carriers, road_conditions, assistant.
Bu jurnal ommaviy API o'zgarishlarini qamrab oladi. Ichki yangilanishlar ro'yxatga kiritilmagan.
Yangilandi