{"id":15069,"date":"2025-05-29T13:27:53","date_gmt":"2025-05-29T10:27:53","guid":{"rendered":"https:\/\/www.fmsdocumentation.com\/apis\/"},"modified":"2025-05-29T13:27:53","modified_gmt":"2025-05-29T10:27:53","slug":"apis","status":"publish","type":"page","link":"https:\/\/www.fmsdocumentation.com\/hr\/apis\/","title":{"rendered":"Apis"},"content":{"rendered":"<p>API (su\u010delje za programiranje aplikacija) omogu\u0107uje klijentima integraciju FMS-a sa svojim sustavima, povla\u010denje i slanje podataka o razli\u010ditim entitetima.<\/p>\n<p>Klijent \u0161alje HTTP zahtjeve sustavu, pru\u017eaju\u0107i informacije o namjeravanoj radnji. HTTP naredbe koje se obi\u010dno koriste u API-ju: <\/p>\n<ul>\n<li><strong>GET<\/strong> \u2013 Pro\u010ditaj resurs;<\/li>\n<li><strong>POST<\/strong> \u2013 Promjena stanja resursa;<\/li>\n<\/ul>\n<p>Tra\u017eeni sadr\u017eaj se pru\u017ea u <strong>JSON<\/strong> formatu s UTF-8 kodiranjem. Ako se koristi neki drugi format, to je navedeno u opisu metode. <\/p>\n<p>HTTP statusni kod identificira status zahtjeva &#8211; za uspje\u0161ne zahtjeve vra\u0107a se statusni kod <strong>200.<\/strong> Uz ovaj odgovor bit \u0107e primljene i tra\u017eene informacije s poslu\u017eitelja. Odgovori \u0107e se razlikovati ovisno o vrsti kori\u0161tenog API-ja. API odgovori za razli\u010dite vrste API-ja opisani su u odgovaraju\u0107im odjeljcima.   <\/p>\n<p>Ako je do\u0161lo do pogre\u0161ke s poslanim zahtjevom, sustav \u0107e vratiti odgovornu poruku sa statusnim kodom. Uobi\u010dajeni kodovi pogre\u0161aka: <\/p>\n<ul>\n<li><strong>Kod 400<\/strong> \u2013 Lo\u0161 zahtjev &#8211; API zahtjev nije prepoznat.<\/li>\n<li><strong>Kod 401<\/strong> \u2013 Neovla\u0161teno \u2013 To zna\u010di da nedostaju ili su neto\u010dni podaci za autentifikaciju;<\/li>\n<li><strong>Kod 403<\/strong> \u2013 Zabranjeno \u2013 To zna\u010di da klijent nema pravo pristupa tra\u017eenom resursu ili izvr\u0161avanja tra\u017eene radnje;<\/li>\n<li><strong>Kod 404<\/strong> \u2013 Nije prona\u0111en \u2013 To zna\u010di da tra\u017eeni resurs nije prona\u0111en.<\/li>\n<li><strong>Kod 500<\/strong> \u2013 Interna pogre\u0161ka poslu\u017eitelja \u2013 obratite se tehni\u010dkoj podr\u0161ci svog davatelja usluga.<\/li>\n<\/ul>\n<p>Kodovi pogre\u0161aka pru\u017eaju neke op\u0107enite informacije o vrsti pogre\u0161ke, omogu\u0107uju\u0107i korisniku da identificira uzrok problema.<\/p>\n<p>Neki API-ji imaju opcionalne elemente (parametre) u svom odgovoru, a sustav mo\u017ee presko\u010diti opcionalne parametre iz razli\u010ditih razloga (nema podataka, lo\u0161i podaci, isteklo vrijeme odgovora itd.). Korisnik ne smije pretpostavljati da \u0107e odre\u0111eni opcionalni podaci uvijek biti uklju\u010deni u odgovor. <\/p>\n<hr>\n<h3>Ograni\u010denja API-ja<\/h3>\n<p>Svi API-ji imaju jedno jedino ograni\u010denje:<\/p>\n<ul>\n<li>Ne vi\u0161e od 1000 zahtjeva u minuti.<\/li>\n<\/ul>\n<p>Ovo ograni\u010denje vrijedi za sve postoje\u0107e FMS API-je.<\/p>\n<hr>\n<h3>API autentifikacija<\/h3>\n<p>API autentifikacija i autorizacija potrebna je za kontrolu kori\u0161tenja API-ja za razli\u010dite klijente i njihovu integraciju s razli\u010ditim sustavima. Kako bi se uputio ovla\u0161teni zahtjev sistemskim API-jima, aplikacija klijenta koja podnosi zahtjev prvo mora dobiti <strong>API_key<\/strong> u ime web korisnika sustava. <\/p>\n<p>Klijenti mogu dobiti API klju\u010d samo izravnim kontaktiranjem tehni\u010dke podr\u0161ke svojih pru\u017eatelja usluga. API klju\u010d sastoji se od nasumi\u010dno generiranih slova, brojeva i simbola. <\/p>\n<p>Primjer zahtjeva koji koristi API_key:<\/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>Ako je API_key istekao, uklonjen ili jednostavno onemogu\u0107en, sustav \u0107e vratiti sljede\u0107i odgovor:<\/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 krajnje to\u010dke, parametri zahtjeva i odgovori mogu se pregledati u \u201eSwaggeru\u201d putem ove poveznice: <a href=\"https:\/\/api.fm-track.com\/swagger-ui.html\">https:\/\/api.fm-track.com<\/a><\/p>\n<p style=\"background-color: #2e67b1; color: #ffffff; padding-left: 10px; padding-right: 10px;\"><p class=\"note\">Bilje\u0161ka<br \/>\n Uvijek je potrebno navesti verziju API-ja u svim vrstama API-ja.<\/p><\/p>\n<p style=\"background-color: #2e67b1; color: #ffffff; padding-left: 10px; padding-right: 10px;\"><p class=\"note\">Va\u017eno!<br \/>\nZbog stalnog razvoja i API-ja i sustava od kojeg tra\u017ei informacije, korisnici ponekad mogu primiti parametre koji nisu navedeni u opisima. Preporu\u010duje se jednostavno zanemariti nepoznate parametre koji nisu dokumentirani u svakom opisu API-ja. <\/p><\/p>\n<hr>\n<h3>Verziranje i kompatibilnost<\/h3>\n<p>API rje\u0161enje se stalno a\u017eurira, pobolj\u0161ava i na druge na\u010dine modificira, stoga je potrebno razumjeti \u0161to zna\u010di \u201ekompatibilnost\u201d i kako utje\u010de na korisnika prilikom kori\u0161tenja API rje\u0161enja.<\/p>\n<p>Kada se API a\u017eurira, doga\u0111a se jedna od sljede\u0107e dvije mogu\u0107nosti:<\/p>\n<ul>\n<li>API je unatrag kompatibilan \u2013 to zna\u010di da napravljene promjene ne\u0107e ni na koji na\u010din utjecati na tijek rada API-ja, stoga se ne stvara nova verzija.<\/li>\n<li>API nije unatrag kompatibilan \u2013 to zna\u010di da su neke API komponente promijenjene tako da vi\u0161e ne rade na isti na\u010din kao prije. U tom slu\u010daju, objavljuje se nova verzija API-ja. <\/li>\n<\/ul>\n<p>\u0160to se smatra unatrag kompatibilnom API verzijom:<\/p>\n<ul>\n<li>Dodan je novi API resurs;<\/li>\n<li>Postoje\u0107em API-ju dodani su novi opcionalni parametri zahtjeva<\/li>\n<li>Postoje\u0107im API odgovorima dodana su nova svojstva.<\/li>\n<li>Redoslijed svojstava je promijenjen u postoje\u0107im API odgovorima.<\/li>\n<li>Promjena duljine ili formata ID-ova objekata ili drugih neprozirnih nizova.<br \/>\n Korisnik mo\u017ee sa sigurno\u0161\u0107u pretpostaviti da ID-ovi objekata koje sustav generira nikada ne\u0107e prema\u0161iti 255 znakova, ali korisnik bi trebao biti u mogu\u0107nosti rukovati ID-ovima s potencijalnom duljinom od 255 znakova. Na primjer, ako korisnik koristi MySQL, ID-ovi bi trebali biti pohranjeni u stupcu VARCHAR(255) COLLATE utf8_bin (konfiguracija COLLATE osigurava razliku izme\u0111u velikih i malih slova u pretragama). <\/li>\n<li>Dodavanje novih ENUM tipova. &#8211; svaki sustav bi trebao elegantno obraditi sve nepoznate ENUM tipove. Ako se, na primjer, tip promijeni iz [Privatno, Poslovni] u [Privatno, Poslovni, Poslovni], to ne bi trebalo imati nikakvog u\u010dinka na sustav.  <\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<hr>\n<p><div class=\"alignleft\"><a href=\"https:\/\/www.fmsdocumentation.com\/hr\/izbornik-tahografa\/\" title=\"Izbornik tahografa\"><span class=\"arrow\">\u2039 &nbsp <\/span> Izbornik tahografa <\/a><\/div> <div class=\"alignright\"><a href=\"https:\/\/www.fmsdocumentation.com\/hr\/apis\/api-za-povijest-koordinata-objekata\/\" title=\"API za povijest koordinata objekata\">API za povijest koordinata objekata <span class=\"arrow\"> &nbsp\u203a <\/span> <\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>API (su\u010delje za programiranje aplikacija) omogu\u0107uje klijentima integraciju FMS-a sa svojim sustavima, povla\u010denje i slanje podataka o razli\u010ditim entitetima. Klijent \u0161alje HTTP zahtjeve sustavu, pru\u017eaju\u0107i informacije o namjeravanoj radnji. HTTP naredbe koje se obi\u010dno koriste u API-ju: GET \u2013 Pro\u010ditaj resurs; POST \u2013 Promjena stanja resursa; Tra\u017eeni sadr\u017eaj se pru\u017ea u JSON formatu s UTF-8 &hellip; <a href=\"https:\/\/www.fmsdocumentation.com\/hr\/apis\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Apis<\/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-15069","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/pages\/15069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/comments?post=15069"}],"version-history":[{"count":0,"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/pages\/15069\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/media?parent=15069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}