Paskirtis
API v1.1 skirta Lietuvos pašto kodų ir adresų paieškai su patobulintu rezultatų rikiavimu ir didesne sparta.
Postit.lt JS integracija
Paruošta automatinė adresų paieška, rezultatų sąrašas ir formos laukų užpildymas be „jQuery“ ar kito JavaScript karkaso. Postit.lt JS naudoja tik Postit.lt API v1.1.
Atverti integracijos pavyzdį Postit.lt JS integracijos vadovas Atsisiųsti postit.min.js
Atsisiuntę biblioteką, įkelkite postit.min.js failą į projekto statinių failų katalogą ir įkelkite biblioteką taip:
<script
src="/static/postit/1.1.4/postit.min.js"
integrity="sha384-yatA/SYw9XpqIeSXRNXhfvGTHO+tAa0LFuI3ArO4tjQrQTni9LYCgtRT+BnBlHNn"
crossorigin="anonymous"></script>Failą galite laikyti bet kuriame viešai pasiekiamame projekto statinių failų kataloge – svarbu atitinkamai pakeisti src kelią. Paprasčiausia bibliotekos <script> elementą ir po jo einantį inicializavimo kodą įrašyti po formos HTML, prieš uždarant </body>. Jei biblioteką jungiate <head> dalyje, naudokite defer ir inicializavimo kodą vykdykite tik tada, kai puslapio DOM jau paruoštas.
Kiti API v1.1 pavyzdžiai:
Perėjimas iš API v1 į v1.1
API v1 išlieka prieinama esamoms integracijoms, tačiau naujoms integracijoms rekomenduojama API v1.1. Prieš pakeisdami esamos integracijos API adresą, patikrinkite atsakymus ir rezultatų rikiavimą.
| Sritis | API v1 | API v1.1 |
|---|---|---|
| API adresas | https://api.postit.lt/ | https://api.postit.lt/v1.1/ |
| Pavyzdžiai | paieška mygtuku, automatinė paieška | Postit.lt JS pavyzdys ir du papildomi pavyzdžiai pateikti aukščiau |
| Rikiavimas | Naudokite esamoje integracijoje nustatytą rikiavimą. | order sąlygos taikomos iš kairės į dešinę; desc pirmiausia pateikia rezultatus, kurių prioriteto reikšmė didesnė. |
Dokumentacija
API adresas: https://api.postit.lt/v1.1/
Užklausai būtinas API raktas, kuriam suteikta teisė naudoti API v1.1. Gaukite nemokamą API raktą. Jei turite klausimų, susisiekite nurodytais kontaktais.
API v1.1 OpenAPI dokumentacija (anglų k.) · OpenAPI 3.1 JSON specifikacija
Užklausos parametrai
Užklausos vykdomos tik GET metodu, o atsakymas pateikiamas JSON formatu.
| Parametras | Būtinas | Aprašymas |
|---|---|---|
| key | Taip | API raktas, kuriam suteikta teisė naudoti API v1.1. |
| term | Taip* | Pagrindinė paieškos frazė. Ji turi būti nuo 3 iki 1000 simbolių. Paieškos frazės pradžioje ir pabaigoje esantys tarpai pašalinami. Jei kartu pateikiamas address, naudojamas term. |
| address | Taip* | Alternatyvi paieškos frazė, naudojama tik tada, kai nepateiktas term. Jai taikomos tokios pačios ilgio taisyklės. |
| limit | Ne | Rezultatų skaičius nuo 1 iki 20. Numatytoji reikšmė – 10. |
| page | Ne | Rezultatų puslapis nuo 1 iki 50. Numatytoji reikšmė – 1. Kiekvienas puslapis yra atskira API užklausa. |
| wide_number | Ne | Pagal numatytąjį nustatymą ieškoma tik tiksliai įvesto namo numerio. Nustačius šiam parametrui reikšmę 1, taikoma platesnė numerio paieška. Pavyzdžiui, ieškant namo numerio 1, rezultatuose gali būti pateikti numeriai 1, 11, 1A, 1AK/B ir pan. Galimos reikšmės: 0 arba 1. Numatytoji reikšmė – 0. |
| group | Ne | Rezultatų grupavimas. Galimos reikšmės: city, address, street. |
| order | Ne | Taškais atskirtos laukas-kryptis sąlygos. Sąlygos taikomos iš kairės į dešinę, todėl pirmoji turi didžiausią prioritetą, o paskesnės naudojamos vienodoms ankstesnių sąlygų reikšmėms surikiuoti. Netinkamos sąlygos ignoruojamos. Jei parametras nenurodytas, naudojamas automatinis rikiavimas; bent viena tinkama sąlyga pakeičia numatytąjį rikiavimą. Visi laukai, reikšmės ir prioritetų pavyzdžiai pateikti žemiau. |
Taip* – būtina pateikti term arba address.
Rikiavimo laukai ir prioritetai
Rikiavimo sąlygų tvarka yra svarbi. Sąlygos vertinamos iš kairės į dešinę: pirmoji yra svarbiausia, o kiekviena paskesnė naudojama tik tada, kai ankstesnių sąlygų reikšmės sutampa. Sukeitus laukus vietomis, rezultatų eilė gali pasikeisti.
asc rikiuoja nuo mažesnės reikšmės į didesnę, o desc – nuo didesnės į mažesnę.
| Laukas | Galimos sąlygos | Rikiuoja pagal |
|---|---|---|
| post_code | post_code-asc post_code-desc | Pašto kodą. |
| eldership | eldership-asc eldership-desc | Seniūnijos pavadinimą. |
| city | city-asc city-desc | Miesto arba vietovės pavadinimą. |
| address | address-asc address-desc | Visą adreso reikšmę. |
| street | street-asc street-desc | Gatvės pavadinimą. |
| number | number-asc number-desc | Namo numerį skaitine tvarka. |
| municipality | municipality-asc municipality-desc | Savivaldybės pavadinimą. |
| city_size | city_size-asc city_size-desc | Miesto ar vietovės prioritetą bendrame Lietuvos vietovių sąraše. Pirmųjų 30 miestų tvarka nustatyta pagal Valstybės duomenų agentūros paskelbtus 2021 m. gyventojų surašymo duomenis. Likusios vietovės pradinėje lentelėje rikiuojamos pagal šaltinio adresų skaičių ir pavadinimą. Didesnė reikšmė reiškia aukštesnį prioritetą. |
| municipality_size | municipality_size-asc municipality_size-desc | Postit.lt nustatytą savivaldybės prioritetą. Didesnė reikšmė reiškia aukštesnį prioritetą. |
Prioritetų rikiavimo pavyzdžiai:
- city_size-desc.city-asc.street-asc.number-asc – pirmiausia taiko miesto ar vietovės prioritetą bendrame Lietuvos vietovių sąraše.
- municipality_size-desc.city_size-desc.city-asc.street-asc.number-asc – pirmiausia taiko savivaldybės prioritetą, o jam sutapus – miesto ar vietovės prioritetą.
city_size automatiškai neprideda municipality_size, todėl šie du pavyzdžiai gali pateikti skirtingą rezultatų eilę. Abiem prioriteto laukams desc reiškia aukštesnį prioritetą pirmiau.
Paieška atpažįsta pašto kodą, adresą, gatvę, miestą ar vietovę, savivaldybę ir namo numerį. Didžiosios ir mažosios raidės paieškoje nesiskiria. Ieškoti galima ir lietuviškomis raidėmis, ir jų atitikmenimis be diakritinių ženklų, pvz., „Šiauliai“ arba „Siauliai“.
Grupuojant total nurodo visą rastų grupių skaičių prieš pritaikant limit. Negrupuojant jis nurodo visą rastų įrašų skaičių. Todėl total gali būti didesnis už grąžintų data elementų skaičių.
Kiti rezultatų puslapiai gaunami didinant page, nekeičiant paieškos ir rikiavimo parametrų. Pavyzdžiui, po page=1&limit=10 kita užklausa naudoja page=2&limit=10.
Grupuojant garantuojamas tik laukų, pagal kuriuos grupuojama, sutapimas. Pavyzdžiui, naudojant group=city, grąžintas pašto kodas nebūtinai tinka visam miestui.
city_size ir municipality_size galima naudoti kartu su group=city, group=street ir group=address. Prioriteto laukai keičia tik rezultatų eiliškumą – grupių sudėtis ir total skaičiavimas nesikeičia.
Užklausos pavyzdys
https://api.postit.lt/v1.1/?term=Savanorių+pr.+12,+Vilnius&limit=10&key=YOUR_API_KEY
Atsakymo laukai
| Parametras | Tipas | Aprašymas |
|---|---|---|
| status | Tekstas | Užklausos būsena, pateikta tekstu. Galimos reikšmės: success, error |
| success | Loginis | Užklausos būsena, pateikta logine reikšme. Galimos reikšmės: true, false |
| message | Tekstas | Klaidos pranešimas. Galimos reikšmės nurodytos toliau pateiktoje klaidų kodų lentelėje. |
| message_code | Skaičius | Klaidos pranešimo kodas. Galimos reikšmės nurodytos toliau pateiktoje klaidų kodų lentelėje. |
| total | Skaičius | Bendras rastų rezultatų skaičius |
| data | Masyvas | Rezultatų masyvas |
| Masyvo data elementų laukai | ||
| post_code | Tekstas | Pašto kodas be LT- priešdėlio |
| address | Tekstas | Namo adresas, t. y. gatvės pavadinimas ir namo numeris. |
| street | Tekstas | Gatvės pavadinimas. |
| number | Tekstas | Pastato (namo) numeris ir, jei nurodytas, korpuso numeris. Korpuso dalis žymima raide K, pvz., 15BKC. |
| only_number | Tekstas | Tik pastato numeris be korpuso dalies, pvz., 15B. |
| housing | Tekstas | Korpuso numeris, pvz., C. |
| city | Tekstas | Miestas ar vietovė. |
| eldership | Tekstas | Seniūnija – Lietuvos administracinis teritorinis vienetas. |
| municipality | Tekstas | Savivaldybė. |
| post | Tekstas | Aptarnaujantis paštas. |
Atsakymo pavyzdys
{
"status": "success",
"success": true,
"message": "",
"message_code": 0,
"total": 1,
"data": [
{
"post_code": "03116",
"address": "Savanorių pr. 12",
"street": "Savanorių pr.",
"number": "12",
"only_number": "12",
"housing": "",
"city": "Vilnius",
"eldership": "Naujamiesčio sen.",
"municipality": "Vilniaus m. sav.",
"post": "Vilniaus 9-asis paštas"
}
]
}Klaidų kodai
| Pranešimo kodas | Pranešimo tekstas |
|---|---|
| Su serveriu arba svetaine susijusios klaidos (HTTP būsenos kodai) | |
| 404 | Pagal pateiktą užklausą nepavyko nieko rasti Šis pranešimas pateikiamas, kai nurodytas neteisingas API adresas. |
| 405 | Užklausos metodas nepalaikomas |
| 503 | Dėl didelio apkrovimo paslauga laikinai neprieinama |
| Su API paslauga susijusios klaidos (API pranešimų kodai) | |
| 0 | Nėra klaidos ir pranešimo. |
| 1001 | Paieškoje įrašykite daugiau nei 2 simbolius |
| 1002 | Viršytas pašto kodų dienos užklausų limitas. Dėl šio apribojimo kreiptis tinklapyje nurodytais kontaktais. |
| 1003 | Nurodytas raktas yra blogas arba negaliojantis |
| 1004 | Privaloma nurodyti pašto kodų API raktą. Dėl šio apribojimo kreiptis tinklapyje nurodytais kontaktais. |
Nemokamas išbandymas
Gauti nemokamą API raktą. Jis leidžia atlikti iki 100 užklausų iš vieno IP adreso arba domeno per dieną.
Pasiekus dienos ribą, grąžinamas toks atsakymas:
{
"status": "error",
"success": false,
"message": "Viršytas dienos užklausų limitas",
"message_code": 1002,
"total": 0,
"data": []
}
Nemokamai naudojant pašto kodų duomenis per API, privaloma pateikti nuorodą ir nurodyti, kad duomenys gaunami iš Postit.lt:
<a href="https://postit.lt/" title="Pašto kodų paieška">Pašto kodų paieška</a>
Mokami planai
Jei reikia daugiau nei 100 užklausų, tai siūlome API planus:
- 4 €/mėn.* - 1000 užklausų per diena
- 8 €/mėn.* - neribojamas** užklausų kiekis per diena.
* - apmokant už 12 mėn.
** - Atsižvelgiant į serverio technines galimybes užklausų kiekis neturi viršyti 6 užklausų per sekunde.
Jei pasirenkamas vienas iš šių mokamų variantų, tai nuorodos talpinimas nėra būtinas.
Esant poreikiui galima įsigyti visą Lietuvos pašto kodų ir adresų duomenų bazę.
Susisiekti nurodytais kontaktais.
Pakeitimai
2026-08-17 Užklausoje pridėtas page parametras.
2026-08-16 city_size tapo savarankišku visos Lietuvos miesto ar vietovės prioritetu ir automatiškai nebeįtraukia municipality_size prioriteto. Pirmųjų 30 miestų tvarka nustatyta pagal Valstybės duomenų agentūros paskelbtus 2021 m. gyventojų surašymo duomenis, o likusios vietovės pradinėje lentelėje rikiuojamos pagal adresų skaičių ir pavadinimą.
2026-08-14 municipality_size ir city_size pradėjo naudoti atskiras administruojamas API v1.1 prioritetų lenteles. API užklausose kryptis desc reiškia aukštesnį prioritetą pirmiau.
2026-08-08 Nauja API v1.1 versija – pakeistas paieškos variklis, pašalinti nenaudojami laukai.