{"id":1582,"date":"2017-10-04T08:34:44","date_gmt":"2017-10-04T08:34:44","guid":{"rendered":"http:\/\/www.fmsdocumentation.com\/?page_id=1582"},"modified":"2020-06-09T14:22:14","modified_gmt":"2020-06-09T11:22:14","slug":"api","status":"publish","type":"page","link":"https:\/\/www.fmsdocumentation.com\/lt\/api\/","title":{"rendered":"API"},"content":{"rendered":"<p>API (aplikacij\u0173 programavimo s\u0105saja) leid\u017eia klientams integruoti TPVS \u012f savo sistemas, \u012fkelti ir gauti duomenis apie \u012fvairius subjektus.<\/p>\n<p>Klientas pateikia HTTP u\u017eklaus\u0105 sistemai, pateikdamas informacij\u0105 apie ketinam\u0105 veiksm\u0105. HTTP komandos, \u012fprastai naudojamos API:<\/p>\n<ul>\n<li>GET \u2013 \u0161altinio nuskaitymas;<\/li>\n<li>POST \u2013 \u0161altinio b\u016bsenos keitimas.<\/li>\n<\/ul>\n<p>Pageidaujamas turinys teikiamas <strong>JSON <\/strong>formatu, taikant UFT-8 \u0161ifravim\u0105. Jei naudojamas kitas formatas, jis nurodomas metodo apra\u0161yme.<\/p>\n<p>HTTP b\u016bsenos kodas nurodo u\u017eklausos b\u016bsen\u0105 \u2013 jei u\u017eklausa s\u0117kminga, rodomas b\u016bsenos kodas <strong>200<\/strong>. Su \u0161iuo atsakymu i\u0161 serverio bus gauta pageidaujama informacija. Atsakymai skirsis priklausomai nuo API tipo. API atsakymai skirtingiems API tipams apra\u0161yti atitinkamuose skyriuose.<\/p>\n<p>Jei siun\u010diant u\u017eklaus\u0105 \u012fvyksta klaida, sistema pateiks atsakym\u0105 su b\u016bsenos kodu.\u00a0Da\u017eniausi klaid\u0173 kodai:<\/p>\n<ol start=\"3\">\n<li><strong>400 kodas \u2013 <\/strong>bloga u\u017eklausa, API u\u017eklausa neatpa\u017einta;<\/li>\n<li><strong>401 kodas \u2013 <\/strong>ne\u012fgaliota, tai rei\u0161kia, kad \u012fgaliojimo kredencial\u0173 n\u0117ra arba jie neteisingi;<\/li>\n<li><strong>403 kodas \u2013 <\/strong>neleid\u017eiama, tai rei\u0161kia, kad klientas neturi teis\u0117s pasiekti pageidaujamo \u0161altinio arba atlikti norimo veiksmo;<\/li>\n<li><strong>404 kodas \u2013 <\/strong>nerasta, tai rei\u0161kia, kad pageidautas \u0161altinis nerastas;<\/li>\n<li><strong>500 kodas \u2013 <\/strong>vidin\u0117 serverio klaida, susisiekite su savo tiek\u0117jo technin\u0117s prie\u017ei\u016bros skyriumi.<\/li>\n<\/ol>\n<p>Klaid\u0173 kodais pateikiama bendra informacija apie klaidos tip\u0105, tod\u0117l vartotojas gali nustatyti jos prie\u017east\u012f.<\/p>\n<p>Kai kuri\u0173 API atsakymuose yra pasirenkam\u0173 element\u0173 (parametr\u0173), juos sistema gali praleisti d\u0117l \u012fvairi\u0173 prie\u017eas\u010di\u0173 (n\u0117ra duomen\u0173, blogi duomenys, atsakymo laikas baig\u0117si ir pan.). Negalima manyti, kad tam tikri pasirenkamieji duomenys visuomet bus \u012ftraukti \u012f atsakym\u0105.<\/p>\n<h3>API apribojimai<\/h3>\n<p>Vis\u0173 API atveju galioja vienas apribojimas:<\/p>\n<ul>\n<li>Ne daugiau nei 1 000 u\u017eklaus\u0173 per minut\u0119.<\/li>\n<\/ul>\n<p>\u0160is apribojimas galioja visoms TPVS API.<\/p>\n<h3>API autentikavimas<\/h3>\n<p>API autentikavimas ir \u012fgaliojimas b\u016btinas, norint valdyti API naudojim\u0105 skirtingiems klientams ir j\u0173 integracijai su skirtingomis sistemomis. Norint pateikti \u012fgaliot\u0105 u\u017eklaus\u0105 sistemos API, klient\u0173 pra\u0161ym\u0173 programa pirmiausia sistemos vartotojo vardu turi gauti API rakt\u0105\u00a0(API_key).<\/p>\n<p>Klientai gali gauti API rakt\u0105 tik tiesiogiai susisiekdami su paslaug\u0173 teik\u0117jo technin\u0117s prie\u017ei\u016bros skyriumi. API raktas sudarytas i\u0161 atsitiktini\u0173 raid\u017ei\u0173, skai\u010di\u0173 ir simboli\u0173.<\/p>\n<p>U\u017eklausos pavyzdys naudojant API rakt\u0105:<\/p>\n<p><a href=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-589 size-full\" src=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/1.png\" alt=\"\" width=\"672\" height=\"92\" srcset=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/1.png 672w, https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/1-300x41.png 300w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/a><\/p>\n<p>Jei API rakto galiojimo laikas pasibaig\u0119s, raktas pa\u0161alinamas ar tiesiog i\u0161jungiamas, sistema pateiks tok\u012f atsakym\u0105:<\/p>\n<p><a href=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/2-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-590 size-full\" src=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/2-1.png\" alt=\"\" width=\"416\" height=\"72\" srcset=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/2-1.png 416w, https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/2-1-300x52.png 300w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/a><\/p>\n<p>API rezultatus, u\u017eklaus\u0173 parametrus ir atsakymus galima per\u017ei\u016br\u0117ti \u201eSwagger\u201c programoje, naudojantis \u0161ia nuoroda: <a href=\"https:\/\/api.fm-track.com\">https:\/\/api.fm-track.com<\/a><\/p>\n<p style=\"background-color: #2e67b1; color: #ffffff; padding-left: 10px; padding-right: 10px;\"><p class=\"note\">Pastaba<br \/>\nB\u016btina visuomet nurodyti API versij\u0105 vis\u0173 tip\u0173 API s\u0105sajose.<\/p><\/p>\n<p style=\"background-color: #2e67b1; color: #ffffff; padding-left: 10px; padding-right: 10px;\"><p class=\"note\">Svarbu!<br \/>\nKadangi API bei sistema, i\u0161 kurios gaunama informacija, yra nuolat tobulinamos, vartotojai kartais gali gauti parametrus, kurie n\u0117ra pateikti apra\u0161ymuose. Rekomenduojama tiesiog ignoruoti ne\u017einomus parametrus, kurie n\u0117ra pateikti API apra\u0161ymuose.<\/p><\/p>\n<hr \/>\n<h3>Versijavimas ir suderinamumas<\/h3>\n<p>Aplikacij\u0173 programavimo s\u0105sajos (toliau \u2013 API) sprendimas yra pastoviai atnaujinamas, tobulinamas bei kei\u010diamas. D\u0117l to reikia \u017einoti, k\u0105 rei\u0161kia suderinamumo terminas, kalbant apie API, ir koki\u0105 \u012ftak\u0105 jis daro vartotojui, besinaudojan\u010diam API sprendimu.<\/p>\n<p>Atnaujinus API yra galimi du scenarijai:<\/p>\n<ul>\n<li>API atgalinis suderinamumas yra u\u017etikrintas \u2013 tai rei\u0161kia, jog atlikti pakeitimai netur\u0117s jokios \u012ftakos API darbo eigai, tad nauja API versija nekuriama;<\/li>\n<li>API atgalinis suderinamumas neu\u017etikrintas \u2013 tai rei\u0161kia, jog kai kurie API komponentai po pakeitim\u0173 veikia nebe taip pat, kaip anks\u010diau. Tokiu atveju i\u0161leid\u017eiama nauja API versija.<\/li>\n<\/ul>\n<p>API atgalinis suderinamumas yra u\u017etikrintas, kuomet:<\/p>\n<ul>\n<li>Pridedamas naujas API resursas;<\/li>\n<li>Prie esamos API pridedami nauji papildomi u\u017eklausos parametrai;<\/li>\n<li>Prie esam\u0173 API atsakym\u0173 pridedami nauji parametrai;<\/li>\n<li>Pakei\u010diama parametr\u0173 tvarka esamuose API atsakymuose;<\/li>\n<li>Pakei\u010diamas objekt\u0173 ID ar kit\u0173 nepermatom\u0173 teksto eilu\u010di\u0173 ilgis arba formatas; Vartotojas gali daryti prielaid\u0105, kad sistemos generuojami objekt\u0173 ID niekada nebus ilgesni nei 255 \u017eenklai, ta\u010diau 255 \u017eenkl\u0173 ID taip pat tur\u0117t\u0173 b\u016bti apdorojami. Pavyzd\u017eiui, jei vartotojas naudoja MySQL, objekt\u0173 ID tur\u0117t\u0173 b\u016bti laikomi VARCHAR(255) COLLATE uft8_bin tipo stulpelyje (COLLATE konfig\u016bracija u\u017etikrina, kad paie\u0161kos metu b\u016bt\u0173 skiriamos did\u017eiosios ir ma\u017eosios raid\u0117s);<\/li>\n<li>Pridedami nauji ENUM tipo kintamieji \u2013 bet kuri sistema tur\u0117t\u0173 be keblum\u0173 susitvarkyti su neatpa\u017eintais ENUM tipo kintamaisiais. Pavyzd\u017eiui, kintamojo reik\u0161mi\u0173 rinkinio pasikeitimas i\u0161 [Privatus, Verslo] \u012f [Privatus, Darbo, Verslo] sistemai netur\u0117t\u0173 tur\u0117ti jokios \u012ftakos.<\/li>\n<\/ul>\n<hr \/>\n<p><div class=\"alignleft\"><a href=\"https:\/\/www.fmsdocumentation.com\/lt\/tachografo-meniu\/\" title=\"Tachografo meniu\"><span class=\"arrow\">\u2039 &nbsp <\/span> Tachografo meniu <\/a><\/div> <div class=\"alignright\"><a href=\"https:\/\/www.fmsdocumentation.com\/lt\/api\/objektu-koordinaciu-istorijos-api\/\" title=\"Objekt\u0173 koordina\u010di\u0173 istorijos API\">Objekt\u0173 koordina\u010di\u0173 istorijos API <span class=\"arrow\"> &nbsp\u203a <\/span> <\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>API (aplikacij\u0173 programavimo s\u0105saja) leid\u017eia klientams integruoti TPVS \u012f savo sistemas, \u012fkelti ir gauti duomenis apie \u012fvairius subjektus. Klientas pateikia HTTP u\u017eklaus\u0105 sistemai, pateikdamas informacij\u0105 apie ketinam\u0105 veiksm\u0105. HTTP komandos, \u012fprastai naudojamos API: GET \u2013 \u0161altinio nuskaitymas; POST \u2013 \u0161altinio b\u016bsenos keitimas. Pageidaujamas turinys teikiamas JSON formatu, taikant UFT-8 \u0161ifravim\u0105. Jei naudojamas kitas formatas, jis &hellip; <a href=\"https:\/\/www.fmsdocumentation.com\/lt\/api\/\" class=\"more-link\">Skaityti toliau: <span class=\"screen-reader-text\">API<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":116,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1582","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.fmsdocumentation.com\/lt\/wp-json\/wp\/v2\/pages\/1582","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fmsdocumentation.com\/lt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fmsdocumentation.com\/lt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/lt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/lt\/wp-json\/wp\/v2\/comments?post=1582"}],"version-history":[{"count":9,"href":"https:\/\/www.fmsdocumentation.com\/lt\/wp-json\/wp\/v2\/pages\/1582\/revisions"}],"predecessor-version":[{"id":7414,"href":"https:\/\/www.fmsdocumentation.com\/lt\/wp-json\/wp\/v2\/pages\/1582\/revisions\/7414"}],"wp:attachment":[{"href":"https:\/\/www.fmsdocumentation.com\/lt\/wp-json\/wp\/v2\/media?parent=1582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}