API დოკუმენტაცია
REST + JSON HTTPS-ის გავლით. ერთი საბაზო URL, ერთი გასაღები, პროგნოზირებადი კონვერტები.
| საბაზო URL | https://nakordoni.eu/api/v1/data/ |
|---|---|
| ფორმატი | JSON, UTF-8 |
| ავტენტიფიკაცია | Authorization: Bearer NKD-DEV-… |
| ვერსიონირება | ვერსირება მისამართში და თითოეული endpoint-ისთვის ცალკე: /api/v1/… სტაბილურია და მისი პასუხები არასოდეს იცვლება. უფრო მაღალი ვერსიის მისამართი (/api/v2/…, /api/v4/…) ახალ ქცევას იძლევა მხოლოდ იმ endpoint-ებისთვის, რომლებიც შეიცვალა, დანარჩენებისთვის კი გამჭვირვალედ ბრუნდება ქვედა ვერსიაზე. თითოეული პროდუქტი აჩვენებს ყველაზე მაღალ ვერსიას, რომელსაც ის ასაბუთებს — დაუმიზნეთ მას და არა ამ შენიშვნას. თუ თქვენი გასაღების მიერ გამოძახებულ ვერსიას უფრო ახალი ჩაანაცვლებს, ჩვენ გამოგიგზავნით წერილს და გაჩვენებთ შეტყობინებას დეველოპერის პორტალში — ამის შესახებ ცვლილებების ჟურნალიდან გაგება არ დაგჭირდებათ. |
ამ გვერდზე
ავტენტიფიკაცია
ყველა მოთხოვნას სჭირდება თქვენი API გასაღები Authorization სათაურში (რეკომენდებული) ან ?key= პარამეტრის სახით.
curl "https://nakordoni.eu/api/v1/data/queue?ppid=id_13" \ -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
პასუხის კონვერტი
{
"ok": true,
"api_version": "v1",
"product": "queue",
"attribution": "Data by nakordoni.eu",
"terms": "https://nakordoni.eu/en/p/developer_api_terms",
"data": { ... },
"usage": { "limit": 1000, "used": 42, "reset": "2026-06-06T00:00:00Z" }
}
შეცდომები აბრუნებს ok:false-ს error.code-ით (missing_api_key, invalid_api_key, qps_exceeded, quota_exceeded, unknown_product, product_unavailable, not_approved, bad_request, duplicate_request, market_not_allowed, internal_error, status_unavailable, timeout) და HTTP სტატუსით 400/401/403/404/429/500/503/504. სიჩქარის ლიმიტის სათაურები X-Devapi-Limit და X-Devapi-Remaining იგზავნება ყველა გაზომილ პასუხზე. ok:false გადამწყვეტია — წარუმატებელ გამოძახებაში არასოდეს წაიკითხოთ data. usage ობიექტი წარმოდგენილია ყველა ფასიან პროდუქტში; /status საჯაროა და არ ითვლება, ამიტომ usage არ ბრუნდება.
კვოტები
| Explorer | |
|---|---|
| გამოძახება/დღეში სტანდარტული მონაცემთა API-ებზე | 1,000 |
| გამოძახება/დღეში პროგნოზისა და სტატისტიკის API-ებზე | 200 |
| სატვირთო მარშრუტის გამოძახება/დღე | 10 |
| QPS | 2 |
დღიური მთვლელები ნულდება შუაღამისას UTC-ით. თქვენ მიიღებთ ელფოსტას კვოტის 80%-ზე და 100%-ზე.
ფასიანი გეგმები ზრდის თითოეულ ამ ლიმიტს. მიმდინარე გეგმები და მათი ლიმიტები: გეგმები
კოდის ნიმუშები
curl
curl "https://nakordoni.eu/api/v1/data/queue?ppid=id_13" \ -H "Authorization: Bearer $NKD_API_KEY"
JavaScript (fetch)
const res = await fetch('https://nakordoni.eu/api/v1/data/forecast?ppid=id_13&prediction_steps=24', {
headers: { Authorization: `Bearer ${process.env.NKD_API_KEY}` }
});
const { ok, data, error, usage } = await res.json();
if (!ok) throw new Error(error?.code ?? res.status);
console.log(`forecast points: ${data.length}, calls left today: ${usage.limit - usage.used}`);
Python (requests)
import os, requests
r = requests.get(
"https://nakordoni.eu/api/v1/data/stats",
params={"ppid": "id_15", "compare": 1},
headers={"Authorization": f"Bearer {os.environ['NKD_API_KEY']}"},
timeout=15,
)
payload = r.json()
print(payload["data"]["daily"], payload["usage"])
Excel (Power Query)
მიიღეთ საზღვრის რიგების, პროგნოზისა თუ სატვირთოების შეზღუდვების მონაცემები პირდაპირ ცხრილში Power Query-ის ჩაშენებული JSON კონექტორის საშუალებით — კოდის გარეშე, განრიგით განახლებადი. იგივე Headers სქემა მუშაობს API-ის ნებისმიერი პროდუქტისთვის — საკმარისია მხოლოდ URL-ის შეცვლა.
Data → Get Data → From Other Sources → Blank Query, then Home → Advanced Editor and paste:
let
ApiKey = "NKD-DEV-XXXX-XXXX-XXXX",
Source = Json.Document(Web.Contents("https://nakordoni.eu/api/v1/data/queue",
[Query = [ppid = "id_13"], Headers = [Authorization = "Bearer " & ApiKey]])),
data = Source[data],
AsTable = Record.ToTable(data)
in
AsTable
შეინახეთ API გასაღები M-მოთხოვნის შიგნით (Home → Advanced Editor), და არა ფურცლის უჯრედში — Power Query ბლოკავს ვებ-მოთხოვნას, რომელიც აგებულია სხვა მოთხოვნიდან ან უჯრედიდან ("Formula.Firewall"), თუ კონფიდენციალურობის დონე არ არის დაყენებული როგორც Organizational.
რამდენიმე გამშვები პუნქტი ერთ ცხრილში (ავტოპარკის დაფები) — e.g. every truck crossing UA→PL (crossing_type=9; in v3 that one code covers both freight lanes):
let
ApiKey = "NKD-DEV-XXXX-XXXX-XXXX",
Source = Json.Document(Web.Contents("https://nakordoni.eu/api/v4/data/border/1/2/9",
[Headers = [Authorization = "Bearer " & ApiKey]])),
checkpoints = Source[data],
AsTable = Table.FromRecords(checkpoints)
in
AsTable
Data → Refresh All Excel-ში ან დაგეგმილი განახლება Power BI / Excel Online-ში ინახავს მონაცემებს განახლებულს — გამოკითხვის (polling) კოდის გარეშე.
ERP ინტეგრაცია (BAS / BAF და 1C-ოჯახის პლატფორმები)
BAS / BAF და 1C-ოჯახის სხვა პლატფორმებს შეუძლიათ ამ API-ს გამოძახება პირდაპირ დაგეგმილი დავალებიდან — HTTPConnection და ReadJSON, შუალედური სერვისის გარეშე. ყველაზე გავრცელებული სცენარია ევროკავშირის საწვავის ფასების საინფორმაციო რეგისტრის განახლება.
საინფორმაციო რეგისტრის განახლება (საწვავის ფასები, ყველა ქვეყანა ერთი მოთხოვნით)
// Scheduled job — runs once a day
Connection = New HTTPConnection("nakordoni.eu", 443, , , , 30, New OpenSSLSecureConnection);
Headers = New Map;
Headers.Insert("Authorization", "Bearer NKD-DEV-XXXX-XXXX-XXXX");
Request = New HTTPRequest("/api/v1/data/fuel", Headers);
Response = Connection.Get(Request);
Reader = New JSONReader;
Reader.SetString(Response.GetBodyAsString("UTF-8"));
Answer = ReadJSON(Reader, True);
Reader.Close();
If Answer["ok"] <> True Then
// Answer["error"]["code"] says why; Answer["usage"] holds your quota state
Return;
EndIf;
For Each Row In Answer["data"] Do
Record = InformationRegisters.FuelPrices.CreateRecordManager();
Record.Period = CurrentSessionDate();
Record.Country = Row["country"]; // "PL", "DE", "SK", "RO", ...
Record.Diesel = Row["diesel"];
Record.Petrol = Row["petrol"];
Record.LPG = Row["lpg"];
Record.Currency = Row["currency"];
Record.Write();
EndDo;
სამი რამ უნდა გააკეთოთ სწორად: გადაეცით New OpenSSLSecureConnection 443 პორტზე, თორემ მოთხოვნა TLS-ზე ჩავარდება; გამოიძახეთ /api/v1/data/fuel country პარამეტრის გარეშე, რომ ერთმა მოთხოვნამ ყველა ქვეყანა დააბრუნოს ცალკეული გამოძახებების ნაცვლად; და შეამოწმეთ ok, სანამ data-ს შეეხებით — შეცდომები ბრუნდება როგორც ok:false და error.code, და არა როგორც გამონაკლისი. მაგალითში გამოყენებულია პლატფორმის ინგლისური საკვანძო სიტყვები; ლოკალიზებული ეკვივალენტები (HTTPСоединение, ПрочитатьJSON, РегистрыСведений) იდენტურად მუშაობს.
საწვავის ფასები წყაროებში დღეში ერთხელ იცვლება, ამიტომ დღეში ერთი ან ორი დაგეგმილი დავალება საკმარისია და უფასო Explorer კვოტის ფარგლებში რჩება. რიგების ცოცხალი მონაცემები (queue, multi, border) რამდენიმე წუთში ერთხელ იცვლება — მათ საკუთარი გრაფიკით მიმართეთ და გამოიყენეთ multi, რომ 5-მდე გამშვები პუნქტი ერთი მოთხოვნით წაიკითხოთ ციკლის ნაცვლად.
MCP სერვერი
გირჩევნიათ ხელსაწყოების გამოძახება REST-ის ნაცვლად? ჩვენ ვმართავთ ნამდვილ MCP სერვერს (Streamable HTTP ტრანსპორტი), რომელიც აძლევს წვდომას ამ API-ის უსაფრთხო, მხოლოდ წაკითხვადი ქვეჯგუფზე, როგორც MCP ხელსაწყოებზე — იგივე API გასაღები, იგივე კვოტა, უბრალოდ განსხვავებული ტრანსპორტი.
Endpoint: https://nakordoni.eu/mcp · Server card: /.well-known/mcp/server-card.json
get_api_status — no key required list_checkpoints — country, lang get_border_queue — origin, destination, crossing_type, lang get_live_queue — ppid, lang get_queue_forecast — ppid, prediction_steps
კლიენტის კონფიგურაცია (Claude Desktop / Claude Code):
{
"mcpServers": {
"nakordoni": {
"url": "https://nakordoni.eu/mcp",
"headers": { "Authorization": "Bearer NKD-DEV-XXXX-XXXX-XXXX" }
}
}
}
OAuth ინტეგრაციებისთვის (Home Assistant და სხვა)
ინტეგრაციებს, რომელთა თითოეულ მომხმარებელს სჭირდება საკუთარი გასაღები (Home Assistant-ის მორგებული ინტეგრაციები, დესკტოპისა და მობილური აპლიკაციები), შეუძლიათ მომხმარებელს შესვლის საშუალება მისცენ გასაღების ჩასმის ნაცვლად. ნაკადი არის OAuth 2.0 authorization code საჯარო კლიენტებისთვის PKCE-ით (S256) — client secret არ არსებობს. ჩვენ მიერ დაბრუნებული წვდომის ტოკენი არის მომხმარებლის საკუთარი NKD-DEV გასაღები, რომელსაც შემდეგ ისევე აგზავნით Bearer სათაურში, როგორც დღემდე.
კლიენტები თვითმომსახურებით არ იქმნება: მოითხოვეთ ინტეგრაციების გვერდზე, ყველა ინტეგრაციას ხელით ვამოწმებთ და ვაძლევთ client ID-ს დაშვებული გადამისამართების URI-ებით. დამტკიცებული კლიენტის მეშვეობით გაცემული გასაღებები დაუყოვნებლივ აქტიურდება ამ ინტეგრაციისთვის დამტკიცებულ ბაზრებზე. ინტეგრაციის კლიენტის მოთხოვნა →
GET https://api.nakordoni.dev/oauth/authorize | response_type=code, client_id, redirect_uri (უნდა ზუსტად ემთხვეოდეს დარეგისტრირებულ URI-ს), state, code_challenge, code_challenge_method=S256 |
POST https://api.nakordoni.dev/oauth/token | grant_type=authorization_code, code, code_verifier, redirect_uri, client_id — ან grant_type=refresh_token, refresh_token, client_id |
POST https://api.nakordoni.dev/oauth/revoke | token (refresh ტოკენი ან თავად გასაღები), client_id |
- ავტორიზაციის კოდი მოქმედებს 60 წამი, ერთჯერადია და მიბმულია კლიენტზე, მომხმარებელზე, გადამისამართების URI-სა და PKCE challenge-ზე.
- გასაღები ბრუნდება მხოლოდ ტოკენის პასუხის სხეულში (access_token) — არასდროს URL-ში. შეინახეთ ის პაროლივით.
- expires_in არის 30 დღე; განახლება აბრუნებს იმავე გასაღებს, სანამ ის აქტიურია. თუ მომხმარებელი გააუქმებს ან ხელახლა დააგენერირებს გასაღებს, განახლება მარცხდება invalid_grant-ით და API-ის გამოძახებები აბრუნებს 401-ს — დაიწყეთ ხელახალი ავთენტიფიკაცია.
- მოთხოვნებს აქვს სიხშირის ლიმიტი თითო IP-ზე და დღიური ლიმიტი თითო კლიენტზე; შეცდომები მიჰყვება RFC 6749-ს (error, error_description).
- თითოეული მომხმარებელი იღებს მაქსიმუმ საკუთარ ქვეყნების ლიმიტს: თუ ინტეგრაციას მეტი ქვეყანა აქვს, ვიდრე მომხმარებელს თავისუფალი ადგილი, ის მათ თანხმობის გვერდზე ირჩევს (წინასწარი არჩევისთვის გადაეცით markets=DE,AT /oauth/authorize-ს). ორივე token პასუხი ასევე აბრუნებს markets_approved (მომხმარებლის დამტკიცებული ქვეყნები), markets_allowed (მისი ლიმიტი; null = შეუზღუდავი), markets_available (თქვენი ქვეყნები, რომლებიც მას ჯერ არ აქვს) და upgrade_url (სადაც „დამატებით ქვეყნებს“ დაამატებს).
curl -X POST https://api.nakordoni.dev/oauth/token \
-d grant_type=authorization_code -d client_id=nkd_xxxxxxxxxxxxxxxxxxxxxxxx \
-d code=CODE -d code_verifier=VERIFIER \
-d redirect_uri=https://my.home-assistant.io/redirect/oauth
{"access_token":"NKD-DEV-XXXX-XXXX-XXXX","token_type":"Bearer","expires_in":2592000,
"refresh_token":"nkdrt_…","scope":"data","markets_approved":["DE"]}
Home Assistant
გამოიყენეთ config_entry_oauth2_flow LocalOAuth2ImplementationWithPkce-თან (client_secret ცარიელია) და გადამისამართების URI https://my.home-assistant.io/redirect/oauth, რომელიც წინასწარ არის დარეგისტრირებული Home Assistant-ის კლიენტებისთვის. წაიკითხეთ გასაღები entry.data["token"]["access_token"]-დან და API-ს ისევ Authorization: Bearer-ით გამოიძახეთ. API-სგან 401-ის შემთხვევაში გამოიძახეთ ConfigEntryAuthFailed, რათა Home Assistant-მა შემოგთავაზოთ ხელახალი ავთენტიფიკაცია.
from homeassistant.helpers import config_entry_oauth2_flow
impl = config_entry_oauth2_flow.LocalOAuth2ImplementationWithPkce(
hass, DOMAIN, client_id="nkd_xxxxxxxxxxxxxxxxxxxxxxxx",
authorize_url="https://api.nakordoni.dev/oauth/authorize",
token_url="https://api.nakordoni.dev/oauth/token",
)
config_entry_oauth2_flow.async_register_implementation(hass, DOMAIN, impl)
ინტეგრაციები: აჩვენეთ დარჩენილი ლიმიტები
GET /api/v2/account/usage — რამდენი დაგრჩათ ლიმიტებიდან ახლა იმ გასაღებისთვის, რომლითაც იძახებთ: გეგმა, წამის ლიმიტი და დღიური კვოტის თითოეული კლასისთვის (cheap, heavy, route) ლიმიტი, გამოყენებული, დარჩენილი და განულების დრო (შუაღამე UTC); ასევე თქვენი ქვეყნები, როგორც ამ გასაღებს ხედავს, და სად გააუმჯობესოთ გეგმა. არ აღირიცხება, 30 გამოძახება წუთში თითო გასაღებზე.
ინტეგრაციის (OAuth) გასაღებებს ყოველთვის შეუძლიათ GET /api/v2/account/usage-ის გამოძახება, მიუხედავად იმისა, რომელ პროდუქტებს უშვებს ინტეგრაცია. რიცხვები ემთხვევა X-Devapi-Limit და X-Devapi-Remaining სათაურებს; X-Devapi-Reset განულების დროს Unix timestamp-ად იძლევა.
{"ok":true,"api_version":"v2","product":"account-usage","data":{
"plan":{"slug":"explorer","name":"Explorer"},"qps":2,
"quotas":{"cheap":{"limit":1000,"used":42,"remaining":958,"reset_at":"2026-10-17T00:00:00Z"},"heavy":{…},"route":{…}},
"markets":{"approved":["DE"],"allowed":1,"available":["AT"],"key_bound":true},
"pass":{"active":true,"expires_at":"2026-10-19T14:05:00Z","days_left":3},"upgrade_url":"https://nakordoni.eu/en/developers/billing",
"pass_url":"https://nakordoni.eu/en/developers/billing?section=trip-pass#trip-pass"}}
ლიმიტის ამოწურვისას შეცდომა გეუბნებათ, სად წახვიდეთ: 429 quota_exceeded ასევე აბრუნებს error.reset_at-ს (შუაღამე UTC) და error.upgrade_url-ს; 403 market_not_allowed და 403 integration_product_not_allowed აბრუნებს error.upgrade_url-ს. ინტეგრაციის გასაღებები ასევე იღებს error.pass_url-ს (Trip Pass, ქვემოთ).
Home Assistant: /account/usage გამოკითხეთ არაუმეტეს 15 წუთში ერთხელ და გამოიტანეთ სენსორი „დარჩენილი გამოძახებები“ quotas.cheap.remaining-დან. გამოკითხვებს შორის წაიკითხეთ X-Devapi-Remaining ჩვეულებრივი გამოძახებებიდან. 429 quota_exceeded ან 403 market_not_allowed შემთხვევაში შექმენით repair issue ბმულით error.upgrade_url-ზე და შეაჩერეთ გამოძახებები reset_at-მდე.
Trip Pass
ინტეგრაციის მომხმარებლებს შეუძლიათ გადახდების გვერდზე იყიდონ Trip Pass (1, 3, 7 ან 14 დღე, ერთჯერადი გადახდა). სანამ აქტიურია, ინტეგრაციის გასაღები იღებს ინტეგრაციის ყველა ქვეყანას, მეტ სატვირთო მარშრუტისა და მონაცემთა გამოძახებას დღეში და უფრო მაღალ სიხშირეს; ინტეგრაციის პროდუქტები, პროგნოზის ლიმიტები და მონაცემთა დაყოვნება არ იცვლება. იმავე ანგარიშის დეველოპერის გასაღებები არასოდეს იზრდება.
ინტეგრაციის გასაღებებისთვის account/usage აბრუნებს pass: {active, expires_at, days_left} და pass_url-ს (გადახდების გვერდის Trip Pass განყოფილება); 429 quota_exceeded და 403 market_not_allowed / integration_product_not_allowed შეიცავს იმავე error.pass_url-ს. სხვა გასაღებებისთვის ორივე null-ია.
Country and vehicle-type codes
Border endpoints address countries and vehicle types by numeric id: /api/v1/data/border/{origin}/{destination}/{crossing_type}. destination also accepts a comma-separated list or the word all. The ids are stable and are the same in every product that takes an origin, a destination or a crossing_type.
Country ids
The border products accept the ids marked as origins below; the neighbours column is what destination=all expands to for that origin. Ids without neighbours are countries we name in responses but hold no crossings for yet. The Checkpoints Directory returns the origin, destination and crossing_type of every crossing we actually serve, so it stays the authoritative list.
| id | Country | Borders with (destination ids) |
|---|---|---|
1 |
უკრაინა | 2, 3, 4, 5, 6, 7 |
2 |
პოლონეთი | 1, 7, 18 |
3 |
სლოვაკეთი | 1 |
4 |
უნგრეთი | 1, 5, 13 |
5 |
რუმინეთი | 1, 4, 6, 12, 13 |
6 |
მოლდოვა | 1, 5 |
7 |
ბელარუსი | 1, 2, 8, 9 |
8 |
ლიტვა | 7 |
9 |
ლატვია | 7 |
11 |
სლოვენია | 16, 20 |
12 |
ბულგარეთი | 5, 13, 14, 15, 19 |
13 |
სერბეთი | 4, 5, 12, 15, 16, 17, 22, 23 |
14 |
თურქეთი | 12, 19 |
15 |
ჩრდილოეთ მაკედონია | 12, 13, 19, 21, 23 |
16 |
ხორვატია | 11, 13, 17, 22 |
17 |
ბოსნია და ჰერცეგოვინა | 13, 16, 22 |
18 |
გერმანია | 2 |
19 |
საბერძნეთი | 12, 14, 15, 21 |
20 |
იტალია | 11 |
21 |
ალბანეთი | 15, 19, 22, 23 |
22 |
მონტენეგრო | 13, 16, 17, 21, 23 |
23 |
კოსოვო | 13, 15, 21, 22 |
24 |
ავსტრია | — |
25 |
ჩეხეთი | — |
26 |
საფრანგეთი | — |
27 |
ესპანეთი | — |
28 |
გაერთიანებული სამეფო | — |
29 |
ნიდერლანდები | — |
30 |
ბელგია | — |
31 |
პორტუგალია | — |
33 |
ესტონეთი | — |
34 |
შვეიცარია | — |
35 |
დანია | — |
36 |
ფინეთი | — |
37 |
ლუქსემბურგი | — |
38 |
ნორვეგია | — |
39 |
შვედეთი | — |
Vehicle types (crossing_type)
| id | Vehicle type | Accepted by /border/ |
|---|---|---|
4 |
მანქანა | ✔ |
5 |
მანქანა Tax Free | ✔ |
6 |
ავტობუსი | ✔ |
7 |
ფეხით | ✔ |
8 |
სატვირთო ტრანსპორტი | ✔ |
9 |
სატვირთო ტრანსპორტი 7,5 ტონამდე | ✔ |
10 |
ბორანით - მანქანა | — |
11 |
ბორანით - ავტობუსი | — |
12 |
ბორანით - ფეხით | — |
13 |
ბორანით - სატვირთო ტრანსპორტი | — |
14 |
სატვირთო ტრანსპორტი 3,5 ტონამდე | — |
The label in this table is the crossing_type_label the API returns with every response, in the language you request. Types outside the accepted list belong to crossings the directory carries but the border products do not answer for — ferry (10-13), freight up to 3.5 t (14) and rail (15) — and asking for one returns 400, not an empty result. Read crossing_type from the Checkpoints Directory rather than assuming: a crossing returns data only for the types it actually has.
პროდუქტები
აირჩიეთ ენდპოინტი, რომ ნახოთ სრული ცნობარი, პარამეტრები, ვერსიები და ცოცხალი Sandbox.
სტანდარტული გამოიყენებს სტანდარტულ მონაცემთა კვოტას · მძიმე გამოიყენება პროგნოზისა და სტატისტიკის კვოტა — იხილეთ კვოტები · სატვირთო მარშრუტი იყენებს საკუთარ სატვირთო მარშრუტის კვოტას — იხილეთ კვოტები
სასაზღვრო რიგები
Developer API-ის თითოეული პროდუქტის ცოცხალი მდგომარეობა: ონლაინ / დეგრადირებული / ოფლაინ, პასუხის შეფერხება და ბოლო შემოწმების დრ…
ყველა მონიტორინგქვეშ მყოფი სასაზღვრო საკონტროლო-გამშვები პუნქტის ცნობარი: იდენტიფიკატორები, სახელწოდებები, ქვეყნები, კოორდინატები…
ყველა გადასასვლელი მოცემულ საზღვარზე + ტრანსპორტის ტიპი ერთ გამოძახებაში. მხარს უჭერს ერთ დანიშნულებას, მძიმით გამოყოფილ სიას ან …
იპოვეთ გადასასვლელების PPID სახელით ნებისმიერ ენაზე. აბრუნებს ყველა PPID ამ ადგილისთვის, დაჯგუფებულს ტრანსპორტის ტიპის მიხედვით. …
რეალურ დროში რიგები, ლოდინის დროის შეფასება და სტატუსი ნებისმიერი გადასასვლელისთვის. შეიცავს snapshot ბლოკს: მიმდინარე რიგი (queu…
Wait time adjusted for live traffic flow and weather, with a full breakdown of each adjustment, plus the same wait_status/trend f…
მიიღეთ რიგის სტატუსი და მონაცემების სიახლე მაქსიმუმ 5 გამშვები პუნქტისთვის ერთ მოთხოვნაში. კვოტა ითვლება როგორც ⌈(N PPID × ქვე-პრ…
ახლომდებარე ალტერნატიული საკონტროლო პუნქტები იმავე საზღვარზე მიმდინარე რიგებითა და მანძილის სხვაობებით.
როდის განახლდა საკონტროლო პუნქტი ბოლოს, რომელი წყაროდან და სიახლის შეფასება.
პროგნოზები და სტატისტიკა
რიგის დონეების ML ანსამბლის პროგნოზი: 24-საათიანი და 7-დღიანი (168სთ) ჰორიზონტები ნდობის საზღვრებით. იგივე მოდელი, რომელიც nakord…
საათობრივი ისტორიული რიგის სტატისტიკა საკონტროლო პუნქტისა და თარიღის მიხედვით: 24 საათობრივი მნიშვნელობა, დღიური საშუალო/მინ/მაქს…
ტიპიური კვირის სტატისტიკა საკონტროლო პუნქტებისთვის: 7×24 მატრიცა კვირის-დღე×საათი (მედიანა + p25/p75 ზოლი), ყველაზე მშვიდი/დატვირ…
საწვავი და ლოკაციები
საწვავის ფასები EU ქვეყნებში — country-ის მიხედვით საშუალო მაჩვენებლები, უახლოესი სადგურები კოორდინატების მიხედვით ან სადგურები ს…
საწვავის ფასები ქალაქების მიხედვით: იაფი სადგური და 5 ყველაზე იაფი სადგურის საშუალო.
უახლოესი ბენზინგასამართი სადგურები მითითებული წერტილიდან ან ქალაქიდან, საწვავის თითოეული ტიპის მიმდინარე ფასებით, დაშორების მიხედ…
ყველაზე იაფი ბენზინგასამართი სადგურები მითითებული წერტილის ან ქალაქის მიმდებარედ, არჩეული საწვავის ტიპისთვის ფასის მიხედვით დალაგ…
საუკეთესო ხელმისაწვდომი ფასი საწვავზე ევროპის ნებისმიერი წერტილისთვის, გამოთვლილი სამსაფეხურიანი დაცემის სისტემით ისე, რომ კოორდი…
სახელდების ცხრილი, რომელიც საწვავის ყველა პროდუქტს უდევს საფუძვლად: ჩვენი კანონიკური მარკების ლექსიკა (diesel, premdiesel, truckd…
სატვირთო ავტომობილების პარკინგები (14k+), უფასო შხაპები, სერვისები და სუპერმარკეტები მთელ ევროპაში კოორდინატებით. შედეგები დალაგე…
უახლოესი სატვირთო ავტომობილების პარკინგები, Autohöfe და გაჩერებები მითითებული წერტილის ან city-სთან — დალაგებულია მანძილის მიხედვ…
უახლოესი სუპერმარკეტები და კვების მაღაზიები მითითებული წერტილის ან city-სთან — დალაგებული მანძილის მიხედვით distance_km, სახელით,…
უახლოესი უფასო შხაპები მძღოლებისთვის მითითებული წერტილის ან city-სთან — დალაგებული მანძილის მიხედვით distance_km, სახელით, კოორდი…
უახლოესი მძღოლებისთვის მოსახერხებელი რესტორნები მითითებული წერტილის ან city-სთან — დალაგებული მანძილის მიხედვით distance_km, სახე…
უახლოესი სამრეწველო და ლოგისტიკური ზონები მითითებული წერტილის ან city-სთან (3k+-ზე მეტი მთელ ევროპაში) — დალაგებული მანძილის მიხე…
EUR-ზე დაფუძნებული გაცვლითი კურსები PLN, CZK, HUF, USD, GBP, CHF, NOK და UAH-ისთვის, წყარო Frankfurter (ECB), ქეში 6 საათი. პარამ…
ვალუტის გადამცვლელი პუნქტები
პოლონეთის ქალაქები, სადაც ვაჩვენებთ ვალუტის გადამცვლელ პუნქტებს (kantors): რამდენი პუნქტია თითოეულში და რამდენი აქვეყნებს ახლა კუ…
პოლონეთის ვალუტის გადამცვლელი პუნქტების (kantors) ცნობარი: სახელი, მისამართი, კოორდინატები, სამუშაო საათები, ტელეფონი, ვებსაიტი დ…
ერთი გადამცვლელი პუნქტი მისი მიმდინარე ყიდვისა და გაყიდვის კურსებით PLN-ის მიმართ. საცალო და საბითუმო კურსები ცალ-ცალკე ბრუნდება:…
სად ვიყიდოთ ან გავყიდოთ ერთი ვალუტა PLN-ზე ერთ ქალაქში ახლავე: საუკეთესო საცალო კურსების მქონე პუნქტები რეიტინგში, NBP-ის ოფიციალ…
ერთი ვალუტის საცალო კურსის ისტორია PLN-ის მიმართ, ერთი პუნქტისთვის ან მთელი ქალაქისთვის (საშუალო და საუკეთესო კურსი მის პუნქტებს …
მოგზაურობის დაგეგმვა
კარიდან კარამდე გეგმა სასაზღვრო მოგზაურობისთვის: მარშრუტი, მასზე არსებული გამშვები პუნქტები ცოცხალი რიგით ან თქვენი ჩამოსვლის დრო…
სამგზავრო დრო + სასაზღვრო რიგი ყველა საგუშაგოსთვის მოცემული საწყისი პუნქტიდან.
ევროპული სატვირთო მანქანების მოძრაობის შეზღუდვები country-ისა და თარიღის მიხედვით, სეზონური და დღესასწაულების აკრძალვების ჩათვლით…
კვირა დღის საცალო ვაჭრობის გახსნის რეგულაციები და მომავალი სავაჭრო კვირები ევროკავშირის თითოეული რეგულირებული ქვეყნის მიხედვით.
ევროპის ქვეყნების ოფიციალური საზეიმო დღეები — თარიღები, ადგილობრივი სახელები და ტიპი, თითოეული ქვეყნის დღეების სრული სია ჩართულია…
ლოჯისტიკა
მძღოლები და გზები
დამტკიცებული გზის მდგომარეობის ანგარიშები საზღვრებთან და მთავარ დერეფნებზე: ორმოები, საგზაო სამუშაოები, ჩაკეტვები, ყინული, საფრთხ…
საჭიროებს თუ არა country ვინიეტს ავტომაგისტრალზე მოძრაობისთვის, მიმდინარე ფასები ხანგრძლივობის მიხედვით და სად წაიკითხოთ მეტი — c…
მობილური ოპერატორების მაღაზიები და WiFi წერტილები, სასარგებლო გზაზე მყოფი მძღოლებისთვის, უახლოესიდან წერტილთან ან city-სთან dista…
სასაზღვრო გადაკვეთის შესრულება ავტობუსის გადამზიდველის მიხედვით: გადაკვეთები, საშუალო/მედიანური/მინ/მაქს ლოდინის წუთები — შექმნილ…
საგზაო საფრთხე გამშვებ პუნქტთან ერთიან 0–5 შკალაზე: სუფთა გზა, ნისლი, თოვლი, წვიმა, მოყინულობა ან ძლიერი ქარი — თქვენს ენაზე, სიმ…
Air-raid alerts and airborne objects near ONE border crossing. Anchor on a checkpoint (ppid), a coordinate pair or a city and get…
Your Fleet (NakBus Live)
თქვენი საკუთარი NakBus Live ავტოპარკი: ყოველი ავტომობილი, რომელიც რეგისტრირებულია თქვენს კომპანიაზე, ნომრით, ეტიკეტით, მინიჭებული…
სად არიან თქვენი ავტობუსები ამ წუთას — თითო ხაზი თითოეულ აქტიურ ავტომობილზე lat/lon-ით, დროის შტამპითა და მისი ხანდაზმულობით, სიჩ…
თქვენი საკუთარი ავტომობილების ჩაწერილი GPS-ტრეკი: ყოველი შენახული პოზიციის წერტილი დროის ფანჯარაში, ქრონოლოგიური თანმიმდევრობით, …
AI ასისტენტი
დაუსვით ჩვენს საწარმოო AI ასისტენტს ნებისმიერი სასაზღვრო გადაკვეთის შეკითხვა (რიგები, პროგნოზები, წესები, საწვავი, მარშრუტები) და…
თქვენი საკუთარი AI ასისტენტი, რომელიც პასუხობს თქვენი კონტენტიდან და ჩვენი ცოცხალი სასაზღვრო მონაცემებიდან. მოგვაწოდეთ თქვენი mar…
სხვა
რამდენი დაგრჩათ ლიმიტებიდან ახლა იმ გასაღებისთვის, რომლითაც იძახებთ: გეგმა, წამის ლიმიტი და დღიური კვოტის თითოეული კლასისთვის (ch…
Pedestrian routes ranked by how much of the way lies in building and tree shade at the time of the walk (heat) or in sun (cold). …
Shade per H3 resolution-11 hex (about 25 m) for a small bounding box at a given time: share of open ground in building shade and …
Shade share and pavement temperature estimate of one walk for every 15-minute departure in the next hours, and the best window. P…
Places to cool a dog down near a point: safe water access on lake and river shores, bathing places, drinking water, forests, all-…
Cool spots for dogs along a walking route: every spot within the corridor with its position along the walk and the shade at the t…
Truck-accessible stops within 2 km of a route you already have: truck parkings shaded by trees (canopy share within 100 m), rest …
ისტორიული მონაცემების ექსპორტი
დამტკიცებულ დეველოპერებს შეუძლიათ ჩამოტვირთონ საათობრივად გასაშუალოებული, გამოქვეყნებული სასაზღვრო რიგების ისტორია 5-მდე საგუშაგოსთვის (მოძრავი ფანჯარა 90 დღემდე) gzip-CSV, NDJSON ან JSON ფორმატში. ეს პორტალის ფუნქციაა და არა API ენდპოინტი; ექსპორტს თქვენს ანგარიშში, ჩანართში „მონაცემთა ექსპორტი“ ქმნით და იქიდანვე იწერთ.
წვდომა გაიცემა მოთხოვნით: გახსენით Data ტიპის მიმართვა და მიუთითეთ, რომელი საგუშაგოები გჭირდებათ, დროის რომელი მონაკვეთი და რისთვის იყენებთ. დამტკიცების შემდეგ თქვენს ანგარიშში გამოჩნდება ჩანართი „მონაცემთა ექსპორტი“. ნაგულისხმევი ლიმიტი: 1 ექსპორტი დღეში, თითოში 5-მდე საგუშაგო — გაზრდა მოგვთხოვეთ.
ველები — თითო მწკრივი თითო საგუშაგოსა და თითო UTC საათზე
| პარამეტრი | აღწერა |
|---|---|
ppid | საგუშაგოს id |
checkpoint_name | საგუშაგოს სახელი |
hour_utc | საათობრივი ინტერვალი, ISO-8601 UTC |
direction | მაგ. UA->PL |
vehicle_type | მანქანა / ავტობუსი / სატვირთო / ქვეითი |
avg_queue_length | რიგის საშუალო სიგრძე საათში |
avg_wait_minutes | საშუალო ლოდინი საათში; null იქ, სადაც საგუშაგოს ოფიციალური ლოდინის მონაცემები არ აქვს |
sample_count | დაკვირვებების რაოდენობა ამ საათში |
ექსპორტში ხვდება მხოლოდ გამოქვეყნებული მონაცემები, რომლებიც გადის ჩვენს ანომალიებისა და ხარისხის შემოწმებას (ნედლი ერთეული ჩანაწერების გარეშე). ყველა დროის ნიშნული UTC-შია. ფაილები ინახება 10 დღე.
წარმომავლობა: ყოველი ფაილის სათაურში ჩაშენებულია ხელმოწერილი ანაბეჭდი (sha256 + HMAC), ასე რომ ნებისმიერი ასლის შესახებ მოგვიანებითაც შეიძლება დადასტურდეს, რომ ის ნამდვილი nakordoni.eu-ს მონაცემია და შემოწმდეს ცვლილებებზე — ჩამოტვირთვის შემდეგაც კი.
# sha256: 3f9c… # signature: e87b… ppid,checkpoint_name,hour_utc,direction,vehicle_type,avg_queue_length,avg_wait_minutes,sample_count id_10,Hrushiv,2026-06-12T02:00:00Z,UA->PL,car,11,,4
რის შექმნა შეგიძლიათ
იგივე მონაცემთა პროდუქტები ქმნის ვიზუალებს nakordoni.eu-ზე — ყოველკვირეული პროგნოზის გრაფიკები, საათობრივი რიგების პროფილები, ცოცხალი სტატუსის ბარათები. გემო იმისა, რასაც პროგნოზისა და სტატისტიკის API-ები შეიცავს:
მითითება
Explorer გეგმის ინტეგრაციებმა უნდა აჩვენონ ხილული "Data by nakordoni.eu" ბმული ყველგან, სადაც მონაცემები ჩანს. ეს ინარჩუნებს უფასო გეგმას უფასოდ.
ზუსტი კოდი
დააკოპირეთ ეს ფრაგმენტი უცვლელად. ბმულმა უნდა შეინარჩუნოს ინდექსირებადობა: ხილვადი, უბრალო HTML <a href> მონაცემების გვერდით, რომლის ინდექსირებაც და მიყოლაც შეუძლია Google-ს — ნუ დაამატებთ rel="nofollow", rel="sponsored" ან rel="ugc" და ნუ დამალავთ CSS-ით. JavaScript-ით დამატებული ბმული მისაღებია, თუ ის ჩანს Google-ის მიერ რენდერილ გვერდზე (Developer API-ის პირობები v1.0, ნაწილი 8.1).
<a href="https://nakordoni.eu/" title="Border queues, forecasts & statistics">Data by nakordoni.eu</a>
კომპაქტური წვრილი ვარიანტი (მაგ., გრაფიკის ან ვიჯეტის ქვეშ):
<p style="font-size:12px;margin:4px 0"> Data by <a href="https://nakordoni.eu/">nakordoni.eu</a> </p>
შეგიძლიათ დაბმულოთ თქვენს ენობრივ ვერსიაზეც, მაგალითად https://nakordoni.eu/ka/ — ჩაითვლება nakordoni.eu-ზე ნებისმიერი ხილული ჩვეულებრივი HTML ბმული. ანკორის ტექსტი "Data by nakordoni.eu" უნდა დარჩეს ინგლისურად.
სად განვათავსოთ
- უშუალოდ მონაცემთა ბლოკის გვერდით ან ქვეშ (ცხრილი, გრაფიკი, ვიჯეტი, პასუხი) — იმავე ეკრანზე, ხილული დამატებითი დაწკაპუნების გარეშე.
- ყველა გვერდზე ან აპის ეკრანზე, სადაც ჩვენი მონაცემები ჩანს — არა მხოლოდ "ჩვენ შესახებ" გვერდზე.
- წაკითხვადი ზომა და კონტრასტი: მინიმუმ ~11px, არ არის დამალული, არ არის ჩაკეცილი, არა ფონის ფერში.
- ნატიური მობილური აპები HTML ბმულების გარეშე: აჩვენეთ ტექსტი "Data by nakordoni.eu" მონაცემთა ეკრანზე და დააწკაპუნებადი ბმული განათავსეთ ინფორმაციის ეკრანზე.
ჩვენ პერიოდულად ვამოწმებთ ატრიბუციას იმ "გვერდზე, სადაც მონაცემები გამოიყენება", რომელიც რეგისტრაციისას მიუთითეთ. უფასო Explorer გეგმაზე არარსებული ან დამალული ატრიბუცია ჯერ შეხსენებას, შემდეგ კი გასაღების შეჩერებას იწვევს. ფასიანი გეგმის მომხმარებლებს ატრიბუციის გამოტოვება შეუძლიათ.
შემოწმება ხდება დაახლოებით კვირაში ერთხელ ჩვენი შემოწმების ბოტის მიერ, რომლის user agent შეიცავს NakordoniComplianceBot/1.0. ის ხსნის მხოლოდ თქვენს დეველოპერის პანელში მითითებულ გვერდებს, სხვა ბმულებზე არ გადადის და ამ გვერდებისთვის robots.txt-ს არ ითვალისწინებს, რადგან ზუსტად მათ შემოწმება მოითხოვეთ. თუ ბოტებისგან დაცვა ან ფაირვოლი უცნობ კრაულერებს ბლოკავს, დაუშვით ეს user agent — თუ გვერდის გახსნა არ შეგვეძლება, ტიკეტში მოგწერთ.
მონაცემების ლიცენზია და ბაზრები
თქვენი API გასაღები გაძლევთ ჩვენი მონაცემების გამოყენების ლიცენზიას მხოლოდ იმ ქვეყნებში, რომლებიც რეგისტრაციისას დააფიქსირეთ. ჩვენ ვამოწმებთ ყოველ დეკლარაციას სრული წვდომის მინიჭებამდე, რადგან ჩვენი მონაცემები ჩვენი საკუთარი პროდუქტია და არ ვლიცენზირებთ მას ბაზრებზე იმის ცოდნის გარეშე, სად გამოქვეყნდება.
- დააფიქსირეთ ყოველი ქვეყანა, რომელსაც თქვენი საიტი, აპლიკაცია ან პროდუქტი ემსახურება. სიის შეცვლა შეგიძლიათ ნებისმიერ დროს თქვენი დაფიდან; ცვლილება ანგარიშს ისევ განხილვაში აბრუნებს.
- სანამ თქვენი ბაზრები დამტკიცებული არ არის, გასაღები მუშაობს შემცირებული ლიმიტებით — Starter გეგმის ლიმიტის ნახევარი. ეს ეხება ნებისმიერ გეგმას, რომელზეც ხართ.
- ჩვენ შეგვიძლია მხოლოდ ზოგიერთი ქვეყანა დავამტკიცოთ, რომელიც თქვენ მოითხოვეთ. დამტკიცებული სია, არა მოთხოვნილი, განსაზღვრავს ქვეყნებს, რომლებსაც pokრავს თქვენი ლიცენზია.
- ჩვენი მონაცემების გამოქვეყნება ან გავრცელება არადეკლარირებულ ბაზარზე, ან მისი გადაყიდვა როგორც კონკურენტი მონაცემთა ნაკადი, არღვევს ამ პირობებს და შესაძლოა თქვენი გასაღები შეჩერდეს გაფრთხილების გარეშე.
- ზოგიერთი გეგმა ხელმისაწვდომია მხოლოდ შერჩეულ რეგიონებში. ხელმისაწვდომობა დამოკიდებულია იმ ბაზრებზე, რომლებსაც დააფიქსირებთ.
- სრული შეთანხმებაა Developer API-ის პირობები. ის უპირატესობას ანიჭებს ამ მოკლე მიმოხილვას; იურიდიულად სავალდებულოა ინგლისურენოვანი ვერსია.
მონაცემების აქტუალობა
მონაცემების სიახლე დამოკიდებულია თქვენს ტარიფზე. თავად პასუხში ნიშანი არ არის — ყველა ტარიფი აბრუნებს იმავე ველებს, იმავე ტიპებს და პასუხის იმავე სტრუქტურას.
- ფასიანი ტარიფები — Student, Starter, Pro და Pro MAX: ცოცხალი ტელემეტრია, დაყოვნების გარეშე.
- უფასო ტარიფი Explorer: სნეპშოტი ბოლო 15–30 წუთიდან. ზუსტი სხვაობა მოთხოვნიდან მოთხოვნამდე იცვლება.
დაყოვნებული პასუხი არასოდეს არის შეცდომა და არც ლიმიტის პრობლემა — ეს არის სრულფასოვანი, ვალიდური პასუხი უფრო ძველი რიცხვებით. მოთხოვნის გამეორება უფრო ახალ მონაცემებს არ დააბრუნებს.
თუ თქვენს აპლიკაციას სჭირდება აქტუალური მონაცემები, ნებისმიერი ფასიანი ტარიფი აბრუნებს ტელემეტრიას რეალურ დროში.
მიიღეთ თქვენი უფასო API გასაღები
განახლდა