Dokumentacioni i API
REST + JSON mbi HTTPS. Një URL bazë, një çelës, struktura të parashikueshme.
| URL bazë | https://nakordoni.eu/api/v1/data/ |
|---|---|
| Formati | JSON, UTF-8 |
| Autentikimi | Authorization: Bearer NKD-DEV-… |
| Versionimi | Versionim sipas shtegut dhe për çdo endpoint: /api/v1/… është i qëndrueshëm; /api/v2/… ofron sjelljen e re vetëm për endpoint-et që kanë ndryshuar dhe kthehet në mënyrë transparente te v1 për të tjerët. Përgjigjet e v1 nuk ndryshojnë kurrë. |
Në këtë faqe
Autentikimi
Çdo kërkesë ka nevojë për çelësin tuaj API në header-in Authorization (rekomandohet) ose si parametër ?key=.
curl "https://nakordoni.eu/api/v1/data/queue?ppid=id_13" \ -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
Struktura e përgjigjes
{
"ok": true,
"api_version": "v1",
"product": "queue",
"attribution": "Data by nakordoni.eu",
"data": { ... },
"usage": { "limit": 1000, "used": 42, "reset": "2026-06-06T00:00:00Z" }
}
Gabimet kthejnë ok:false me error.code (missing_api_key, invalid_api_key, qps_exceeded, quota_exceeded, unknown_product, product_unavailable, bad_request, internal_error) dhe statusin HTTP 401/403/404/429/500. Header-at e kufizimit X-Devapi-Limit dhe X-Devapi-Remaining dërgohen në çdo përgjigje të matur.
Kuotat
| Explorer | Pay As You Grow | |
|---|---|---|
| thirrje/ditë në API-të standarde të të dhënave | 1,000 | 50,000 |
| thirrje/ditë në API-të e parashikimit dhe statistikave | 200 | 10,000 |
| QPS | 2 | 20 |
Numëruesit ditorë rivendosen në mesnatë UTC. Merrni një email në 80% dhe 100% të kuotës.
Shembuj kodi
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)
Merrni të dhëna live për radhët, parashikimet ose ndalimet për kamionë direkt në një libër pune me lidhësin e integruar JSON të Power Query — pa kod, me rifreskim sipas orarit. E njëjta skemë Headers funksionon për çdo produkt të këtij API — thjesht ndryshoni URL-në.
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
Mbajeni çelësin API brenda pyetjes M (Home → Advanced Editor), jo në një qelizë të fletës — Power Query bllokon një kërkesë web të ndërtuar nga një pyetje ose qelizë tjetër ("Formula.Firewall"), përveçse nëse niveli i privatësisë është vendosur në Organizational.
Disa pika kalimi kufitar në një tabelë të vetme (paneli i flotës) — e.g. every truck crossing UA→EU (crossing_type=9):
let
ApiKey = "NKD-DEV-XXXX-XXXX-XXXX",
Source = Json.Document(Web.Contents("https://nakordoni.eu/api/v1/data/border/1/all/9",
[Headers = [Authorization = "Bearer " & ApiKey]])),
checkpoints = Source[data],
AsTable = Table.FromRecords(checkpoints)
in
AsTable
Data → Refresh All në Excel, ose një rifreskim i planifikuar në Power BI / Excel Online, i mban të dhënat aktuale — pa kod polling.
Integrimi me ERP (BAS / BAF dhe platformat e familjes 1C)
BAS / BAF dhe platformat e tjera të familjes 1C mund ta thërrasin këtë API drejtpërdrejt nga një detyrë e planifikuar — HTTPConnection plus ReadJSON, pa shtresë ndërmjetëse dhe pa shërbim shtesë. Skenari më i zakonshëm mban të përditësuar një regjistër informacioni me çmimet e karburanteve në BE.
Përditësimi i një regjistri informacioni (çmimet e karburanteve, të gjitha vendet me një thirrje)
// 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;
Tri gjëra duhen bërë saktë: kaloni New OpenSSLSecureConnection në portën 443, përndryshe kërkesa dështon në TLS; thirrni /api/v1/data/fuel pa parametrin country, që një kërkesë e vetme t’i kthejë të gjitha vendet në vend të një thirrjeje për secilin; dhe kontrolloni ok para se të prekni data — gabimet kthehen si ok:false me error.code, jo si përjashtim. Shembulli përdor grupin anglisht të fjalëve kyçe të platformës; ekuivalentët e lokalizuar (HTTPСоединение, ПрочитатьJSON, РегистрыСведений) sillen njësoj.
Çmimet e karburanteve në burim ndryshojnë një herë në ditë, prandaj një detyrë e planifikuar një ose dy herë në ditë mjafton dhe mbetet thellë brenda kuotës falas Explorer. Të dhënat e radhëve në kohë reale (queue, multi, border) ndryshojnë çdo pak minuta — ato kërkojini me ritmin tuaj dhe përdorni multi për të lexuar deri në 20 pika kalimi me një kërkesë të vetme në vend të një cikli.
Server MCP
Preferoni thirrjen e mjeteve në vend të REST? Ne operojmë një server të vërtetë MCP (transport Streamable HTTP) që ekspozon një nënbashkësi të sigurt, vetëm-lexim, të këtij API si mjete MCP — e njëjta çelës API, e njëjta kuotë, thjesht një transport tjetër.
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
Konfigurimi i klientit (Claude Desktop / Claude Code):
{
"mcpServers": {
"nakordoni": {
"url": "https://nakordoni.eu/mcp",
"headers": { "Authorization": "Bearer NKD-DEV-XXXX-XXXX-XXXX" }
}
}
}
Produktet
Zgjidhni një endpoint për referencën e tij të plotë, parametrat, versionet dhe një Sandbox të drejtpërdrejtë.
Standard përdor kuotën standarde të të dhënave · I rëndë përdor kuotën e parashikimit dhe statistikave — shiko Kuotat
Radhë kufitare
Gjendja e drejtpërdrejtë e çdo produkti të Developer API: online / i degraduar / offline, vonesa e përgjigjes dhe koha e kontroll…
Direktorium i të gjitha pikave kufitare të monitoruara: ID-të, emrat, vendet, koordinatat dhe statusi. Përdoreni për të zbuluar v…
Të gjitha pikat e kalimit në një kufi të dhënë + lloji i mjetit në një thirrje. Mbështet destinacion të vetëm, listë me presje os…
Gjeni PPID-et e pikave kufitare sipas emrit në çdo gjuhë. Kthen të gjitha PPID-et për atë vend, të grupuara sipas llojit të mjeti…
Radhë në kohë reale, vlerësim i kohës së pritjes dhe statusi për çdo pikë kalimi të monitoruar. Përfshin bllok snapshot: radhë ak…
Merrni gjendjen e radhës dhe të freskëtisë së të dhënave për deri në 20 pika kontrolli në një kërkesë të vetme. Kuota llogaritet …
Pika alternative të afërta në të njëjtin kufi me radhë aktuale dhe diferenca distance.
Kur është përditësuar pika për herë të fundit, nga cili burim dhe një vlerësim freskie.
Parashikime dhe Statistika
Parashikim i niveleve të radhës me ansambël ML: horizonte 24-orëshe dhe 7-ditore (168h) me kufij besueshmërie. I njëjti model që …
Statistika historike orare të radhës sipas pikës dhe datës: 24 vlera orare, mesatare/min/maks ditore, orët më të ngarkuara dhe më…
Statistikat e javës tipike për pikën e kontrollit: matricë 7×24 ditë-jave×orë (mesatarja + brez p25/p75), dita më e qetë/e ngarku…
Karburanti dhe Vendndodhjet
Çmimet mesatare të benzinës/naftës/LPG nëpër vendet e BE-së plus stacionet më të afërta, të agreguara nga burime zyrtare kombëtar…
Çmimet e karburantit sipas qytetit: stacioni më i lirë dhe mesatarja e 5 më të lirëve.
Parkingje për kamionë (14k+), dushe falas, shërbime dhe supermarkete nëpër Evropë me koordinata.
Kurset e këmbimit bazuar në EUR për PLN, CZK, HUF, USD, GBP, CHF, NOK dhe UAH, burimi Frankfurter (ECB), cache 6 orë. Pa parametr…
Planifikimi i Udhëtimit
Një plan derë më derë për një udhëtim kufitar: itinerari, pikat kufitare në të me radhën e drejtpërdrejtë ose një parashikim për …
Koha e udhëtimit + radhë kufitare për të gjitha pikat nga origjina e dhënë.
Kufizime evropiane të qarkullimit të kamionëve sipas vendit dhe datës, përfshirë ndalimet sezonale dhe festive.
Rregullore për hapjen e shitjes me pakicë të dielën dhe të dielat tregtare të ardhshme sipas vendit të rregulluar të BE-së.
Official public holidays per European country — dates, local names and type, each country's full holiday list included. Backed by…
Shoferë dhe Rrugë
Raporte të miratuara për kushtet rrugore pranë kufijve dhe në korridoret kryesore: gropa, punime rrugore, mbyllje, akull, rreziqe…
Performanca në kalimin e kufirit sipas transportuesit me autobus: kalime, minuta pritjeje mesatare/median/min/maks — ndërtuar nga…
Asistenti AI
Pyesni asistentin tonë AI të prodhimit çdo pyetje për kalimin e kufirit (radhë, parashikime, rregulla, karburant, rrugë) dhe merr…
Asistenti yt AI, i bazuar në përmbajtjen TËNDE dhe në të dhënat TONA të drejtpërdrejta kufitare. Na jep skedarët e tu markdown os…
Të tjera
Eksporti i të dhënave historike
Zhvilluesit e miratuar mund të shkarkojnë historikun e publikuar të radhëve kufitare, të mesatarizuar për orë, për deri në 5 pika kufitare (dritare rrëshqitëse deri në 90 ditë) si CSV, NDJSON ose JSON të kompresuar me gzip. Kjo është një veçori vetëm e portalit — JO një endpoint i API-t; eksportet i ndërtoni dhe i shkarkoni nga skeda „Eksporti i të dhënave“ në llogarinë tuaj.
Qasja jepet me kërkesë: hapni një biletë Data duke na treguar cilat pika kufitare, intervalin kohor dhe qëllimin e përdorimit. Pas miratimit, skeda „Eksporti i të dhënave“ shfaqet në llogarinë tuaj. Kufiri i parazgjedhur: 1 eksport në ditë, deri në 5 pika kufitare secili — na kërkoni ta rrisim.
Fushat — një rresht për çdo pikë kufitare për çdo orë UTC
| Parametri | Përshkrimi |
|---|---|
ppid | Identifikuesi i pikës kufitare |
checkpoint_name | Emri i pikës kufitare |
hour_utc | Intervali orar, ISO-8601 UTC |
direction | p.sh. UA->PL |
vehicle_type | makinë / autobus / kamion / këmbësor |
avg_queue_length | Gjatësia mesatare e radhës për orë |
avg_wait_minutes | Pritja mesatare për orë; null aty ku një pikë kufitare nuk ka burim zyrtar për kohën e pritjes |
sample_count | Numri i vëzhgimeve në atë orë |
Eksportohen vetëm të dhëna të publikuara, të cilat kalojnë kontrollet tona për anomali dhe cilësi (pa të dhëna të papërpunuara raportimi). Të gjitha vulat kohore janë në UTC. Skedarët ruhen 10 ditë.
Prejardhja: çdo skedar mbart në kokën e tij një gjurmë të nënshkruar (sha256 + HMAC), kështu që çdo kopje mund të konfirmohet më vonë si e dhënë autentike e nakordoni.eu dhe të kontrollohet për ndryshime — edhe pas shkarkimit.
# 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
Çfarë mund të ndërtoni
Të njëjtat produkte të dhënash krijojnë vizualizimet në nakordoni.eu — grafikë parashikimi javor, profile orare të radhëve, karta statusi në kohë reale. Një shije e asaj që përmbajnë API-të e parashikimit dhe statistikave:
Atribuimi
Integrimet e planit Explorer duhet të shfaqin një lidhje të dukshme "Data by nakordoni.eu" kudo që shfaqen të dhënat. Kjo e mban planin falas, falas.
Kodi i saktë
Kopjojeni këtë fragment siç është. Lidhja duhet të mbetet e indeksueshme: një HTML <a href> i thjeshtë që motorët e kërkimit mund ta ndjekin — MOS shtoni rel="nofollow" ose rel="sponsored", mos e shfaqni vetëm me JavaScript dhe mos e fshihni me CSS.
<a href="https://nakordoni.eu/" title="Border queues, forecasts & statistics">Data by nakordoni.eu</a>
Variant kompakt me shkronja të vogla (p.sh. nën një grafik ose widget):
<p style="font-size:12px;margin:4px 0"> Data by <a href="https://nakordoni.eu/">nakordoni.eu</a> </p>
Mund të lidheni me versionin tuaj gjuhësor, p.sh. https://nakordoni.eu/sq/ — llogaritet çdo lidhje e indeksueshme drejt nakordoni.eu. Teksti i spirancës "Data by nakordoni.eu" duhet të mbetet në anglisht.
Ku ta vendosni
- Direkt pranë ose nën bllokun e të dhënave (tabelë, grafik, widget, përgjigje) — në të njëjtin ekran, i dukshëm pa klikime shtesë.
- Në çdo faqe ose ekran aplikacioni ku shfaqen të dhënat tona — jo vetëm në faqen "rreth nesh".
- Madhësi dhe kontrast i lexueshëm: të paktën ~11px, jo i fshehur, jo i palosur, jo në ngjyrën e sfondit.
- Aplikacione mobile native pa lidhje HTML: shfaqni tekstin "Data by nakordoni.eu" në ekranin e të dhënave dhe vendoseni lidhjen e klikueshme në ekranin e informacionit.
Verifikojmë periodikisht atribuimin në "faqen e përdorimit të të dhënave" të dhënë në regjistrim. Mungesa ose deindeksimi i atribuimit në planin Explorer çon fillimisht në një kujtesë, pastaj në pezullim të çelësit. Klientët Pay As You Grow mund ta lënë jashtë atribuimin.