{"id":15031,"date":"2025-05-29T13:27:50","date_gmt":"2025-05-29T10:27:50","guid":{"rendered":"https:\/\/www.fmsdocumentation.com\/api-za-strujanje-koordinata-objekata\/"},"modified":"2025-05-29T13:27:54","modified_gmt":"2025-05-29T10:27:54","slug":"api-za-strujanje-koordinata-objekata","status":"publish","type":"page","link":"https:\/\/www.fmsdocumentation.com\/hr\/apis\/api-za-strujanje-koordinata-objekata\/","title":{"rendered":"API za strujanje koordinata objekata"},"content":{"rendered":"\n<p>\n\nGlavna svrha API-ja za strujanje koordinata objekata je informiranje korisnika o promjenama objekata. Ovaj API radi kao strujanje informacija koriste\u0107i <a href=\"https:\/\/en.wikipedia.org\/wiki\/Server-sent_events\">SSE (server sent events &#8211; doga\u0111aji poslani od strane poslu\u017eitelja)<\/a> . Nakon \u0161to korisnik po\u0161alje API zahtjev, prvo se prikazuje posljednja poznata koordinata za svaki objekt, a nakon toga \u0107e se korisniku poslati novi podaci \u010dim do\u0111e do promjene. Nema potrebe za ponovnim slanjem API zahtjeva osim ako je strujna veza prekinuta.   \n\n<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/Streaming-API-234x300.png\" alt=\"Ova slika ima prazan atribut alt; naziv datoteke je Streaming-API-234x300.png\"\/><\/figure>\n\n<p style=\"background-color: #2e67b1; color: #ffffff; padding-left: 10px; padding-right: 10px;\"><p class=\"note\">Bilje\u0161ka<br\/> Budu\u0107i da API prvo vra\u0107a posljednju poznatu koordinatu, u slu\u010dajevima kada je API stream bio u tijeku i iz nekog razloga ponovno povezan, bez primljenih novih koordinata izme\u0111u tog vremena, korisnik \u0107e primiti posljednju poznatu koordinatu, koja je ve\u0107 jednom primljena, \u010dime se duplicira zapis koordinata. To treba imati na umu, jer mo\u017ee uzrokovati probleme u raznim sustavima. <\/p><\/p>\n\n<p>Streaming API-ja za koordinate objekata mo\u017ee se pokrenuti za jedan odre\u0111eni objekt ili za sve korisniku dostupne objekte.<\/p>\n\n<p>Primjer zahtjeva za odre\u0111eni objekt:<\/p>\n\n<p style=\"background-color: #000000; color: #bbbdc0; font-family: Lucida Console; padding-left: 10px; padding-right: 10px;\">GET \/object-coordinates-stream?version=1&#038;object_id= <...>&#038;api_key= <...><br\/>DOMA\u0106IN: api.fm-track.com<br\/> Vrsta sadr\u017eaja: tekst\/tok doga\u0111aja; skup znakova=UTF-8<\/p>\n\n<p>\n\nPrimjer zahtjeva za sve klijentske objekte:\n\n<\/p>\n\n<p style=\"background-color: #000000; color: #bbbdc0; font-family: Lucida Console; padding-left: 10px; padding-right: 10px;\">GET \/object-coordinates-stream?version=1&#038;api_key= <...><br\/>DOMA\u0106IN: api.fm-track.com<br\/> Vrsta sadr\u017eaja: tekst\/tok doga\u0111aja; skup znakova=UTF-8<\/p>\n\n<p>Da bi ovaj API radio, obavezna su samo dva parametra:<\/p>\n\n<table id=\"tablepress-9\" class=\"tablepress tablepress-id-9\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Parameter<\/th><th class=\"column-2\">Type<\/th><th class=\"column-3\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">version<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">Version of the API, currently only version=1 is available<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">api_key<\/td><td class=\"column-2\">User identification key<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-9 from cache -->\n\n<p>I u zahtjevu se mo\u017ee uklju\u010diti samo jedan opcionalni parametar:<\/p>\n\n<table id=\"tablepress-10\" class=\"tablepress tablepress-id-10\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Parameter<\/th><th class=\"column-2\">Type<\/th><th class=\"column-3\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">object_id<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">External object ID<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-10 from cache -->\n\n<p>Odgovor s poslu\u017eitelja:<\/p>\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\">\n<pre class=\"CodeMirror cm-s-dracula\" data-setting=\"{\" mode=\"\">{\n    \"object_id\" : \"abc123\",\n    \"datetime\" : \"2017-04-13T06:58:48.090Z\",\n    \"ignition_status\" : \"UNKNOWN\",\n    \"position\" : {\n        \"altitude\" : 0,\n        \"direction\" : 0,\n        \"latitude\" : 0,\n        \"longitude\" : 0,\n        \"hdop\": 0,\n        \"satellites_count\" : 0,\n        \"speed\" : 0\n    },\n    \"device_inputs\" : {\n        \"digital_input_1\" : true,\n        \"digital_input_2\" : true,\n        \"digital_input_3\" : true,\n        \"digital_input_4\" : true,\n        \"power_supply_voltage\" : 0,\n        \"ibutton\" : \"xxxxxxxxxx\",\n        \"first_driver_id\" : \"xxxxxxxxxx\",\n        \"second_driver_id\" : \"xxxxxxxxxx\",\n         \"temperature_sensor_0\": 0,\n         \"temperature_sensor_1\": 0,\n         \"temperature_sensor_2\": 0,\n         \"temperature_sensor_3\": 0,\n         \"temperature_sensor_0_id\": \"xxxxxxxxxx\"\n    },\n    \"calculated_inputs\":{\n        \"mileage\" : 0\n    }\n}<\/pre>\n<\/div>\n<p>Sva polja odgovora koja se mogu primiti sa svakom vrstom parametra opisana su u sljede\u0107oj tablici:<\/p>\n\n<table id=\"tablepress-11\" class=\"tablepress tablepress-id-11\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Name<\/th><th class=\"column-2\">Type<\/th><th class=\"column-3\">Description<\/th><th class=\"column-4\">Units<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">object_id<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">Object identifier in our system<\/td><td class=\"column-4\">Text<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">datetime<\/td><td class=\"column-2\">Date<\/td><td class=\"column-3\">Date and time point of coordinate generated in hardware<br \/>\nFormat: \"yyyy-mm-ddThh:mm:ss.sssZ\"<br \/>\n<\/td><td class=\"column-4\">According ISO8601<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">ignition_status<\/td><td class=\"column-2\">Enum<\/td><td class=\"column-3\">Indicating if object has ignition on.<br \/>\n\"ON\" - Ignition on<br \/>\n\"OFF\" - Ignition off<br \/>\n\"UNKNOWN\" - No data about ignition<br \/>\n<\/td><td class=\"column-4\">ON - OFF<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">position<\/td><td class=\"column-2\">Array<\/td><td class=\"column-3\">Contains all record GPS parameters<\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">latitude<\/td><td class=\"column-2\">Float<\/td><td class=\"column-3\">GPS coordinate - latitude value<\/td><td class=\"column-4\">Degrees<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">longitude<\/td><td class=\"column-2\">Float<\/td><td class=\"column-3\">GPS coordinate - longitude value<\/td><td class=\"column-4\">Degrees<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">altitude<\/td><td class=\"column-2\">Integer<\/td><td class=\"column-3\">GPS coordinate - altitude value<\/td><td class=\"column-4\">Number<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">direction<\/td><td class=\"column-2\">Integer<\/td><td class=\"column-3\">Moving direction in degrees<\/td><td class=\"column-4\">0 = north, increasing clock-wise<\/td>\n<\/tr>\n<tr class=\"row-10\">\n\t<td class=\"column-1\">speed<\/td><td class=\"column-2\">Integer<\/td><td class=\"column-3\">Object moving speed<\/td><td class=\"column-4\">km\/h<\/td>\n<\/tr>\n<tr class=\"row-11\">\n\t<td class=\"column-1\">satellites_count<\/td><td class=\"column-2\">Integer<\/td><td class=\"column-3\">Number of visible GPS or GLONASS satellites(depends on device configuration) while generating record in device<\/td><td class=\"column-4\">Number<\/td>\n<\/tr>\n<tr class=\"row-12\">\n\t<td class=\"column-1\">device_inputs<\/td><td class=\"column-2\">Container for parameters received from hardware<\/td><td class=\"column-3\"><\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-13\">\n\t<td class=\"column-1\">power_supply_voltage<\/td><td class=\"column-2\">Integer<\/td><td class=\"column-3\">Object power supply voltage<\/td><td class=\"column-4\">mV<\/td>\n<\/tr>\n<tr class=\"row-14\">\n\t<td class=\"column-1\">ibutton<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">iButton or RFID card code of a driver assigned to a vehicle<\/td><td class=\"column-4\">Text<\/td>\n<\/tr>\n<tr class=\"row-15\">\n\t<td class=\"column-1\">hdop<\/td><td class=\"column-2\">Float<\/td><td class=\"column-3\">GPS precision<\/td><td class=\"column-4\">Number<\/td>\n<\/tr>\n<tr class=\"row-16\">\n\t<td class=\"column-1\">first_driver_id<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">TCO code of the first driver<\/td><td class=\"column-4\">Text<\/td>\n<\/tr>\n<tr class=\"row-17\">\n\t<td class=\"column-1\">second_driver_id<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">TCO code of the second driver<\/td><td class=\"column-4\">Text<\/td>\n<\/tr>\n<tr class=\"row-18\">\n\t<td class=\"column-1\">digital_input_1<\/td><td class=\"column-2\">Boolean<\/td><td class=\"column-3\">Configured object or its equipment status<br \/>\ntrue - status = active<br \/>\nfalse - status = inactive<br \/>\n<\/td><td class=\"column-4\">True - False<\/td>\n<\/tr>\n<tr class=\"row-19\">\n\t<td class=\"column-1\">digital_input_2<\/td><td class=\"column-2\">Boolean<\/td><td class=\"column-3\">Configured object or its equipment status<br \/>\ntrue - status = active<br \/>\nfalse - status = inactive<br \/>\n<\/td><td class=\"column-4\">True - False<\/td>\n<\/tr>\n<tr class=\"row-20\">\n\t<td class=\"column-1\">digital_input_3<\/td><td class=\"column-2\">Boolean<\/td><td class=\"column-3\">Configured object or its equipment status<br \/>\ntrue - status = active<br \/>\nfalse - status = inactive<br \/>\n<\/td><td class=\"column-4\">True - False<\/td>\n<\/tr>\n<tr class=\"row-21\">\n\t<td class=\"column-1\">digital_input_4<\/td><td class=\"column-2\">Boolean<\/td><td class=\"column-3\">Configured object or its equipment status<br \/>\ntrue - status = active<br \/>\nfalse - status = inactive<br \/>\n<\/td><td class=\"column-4\">True - False<\/td>\n<\/tr>\n<tr class=\"row-22\">\n\t<td class=\"column-1\">temperature_sensor_0<\/td><td class=\"column-2\">Float<\/td><td class=\"column-3\">Temperature sensor data<\/td><td class=\"column-4\">\u00b0C<\/td>\n<\/tr>\n<tr class=\"row-23\">\n\t<td class=\"column-1\">temperature_sensor_1<\/td><td class=\"column-2\">Float<\/td><td class=\"column-3\">Temperature sensor data<\/td><td class=\"column-4\">\u00b0C<\/td>\n<\/tr>\n<tr class=\"row-24\">\n\t<td class=\"column-1\">temperature_sensor_2<\/td><td class=\"column-2\">Float<\/td><td class=\"column-3\">Temperature sensor data<\/td><td class=\"column-4\">\u00b0C<\/td>\n<\/tr>\n<tr class=\"row-25\">\n\t<td class=\"column-1\">temperature_sensor_3<\/td><td class=\"column-2\">Float<\/td><td class=\"column-3\">Temperature sensor data<\/td><td class=\"column-4\">\u00b0C<\/td>\n<\/tr>\n<tr class=\"row-26\">\n\t<td class=\"column-1\">temperature_sensor_0_id<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">Temperature sensor ID<\/td><td class=\"column-4\">Text<\/td>\n<\/tr>\n<tr class=\"row-27\">\n\t<td class=\"column-1\">calculated_inputs<\/td><td class=\"column-2\">Array<\/td><td class=\"column-3\"><\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-28\">\n\t<td class=\"column-1\">mileage<\/td><td class=\"column-2\">float<\/td><td class=\"column-3\">Object driven distance (depends on object configuration)<\/td><td class=\"column-4\">km<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-11 from cache -->\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 \/> Imajte na umu da je odgovor poslu\u017eitelja tok podataka, isti podaci koji su primljeni s ure\u0111aja. Svi primljeni podaci pru\u017eaju se \u201ekakvi jesu\u201d. To zna\u010di da ure\u0111aj mo\u017ee periodi\u010dki slati koordinate prethodne pozicije izme\u0111u zapisa trenutne pozicije. API ne provjerava niti upravlja kontinuitetom primljenih podataka.   <\/p><\/p>\n<hr>\n<p><div class=\"alignleft\"><a href=\"https:\/\/www.fmsdocumentation.com\/hr\/apis\/api-za-povijest-koordinata-objekata-v2\/\" title=\"API za povijest koordinata objekata v2\"><span class=\"arrow\">\u2039 &nbsp <\/span> API za povijest koordinata objekata v2 <\/a><\/div> <div class=\"alignright\"><a href=\"https:\/\/www.fmsdocumentation.com\/hr\/apis\/api-za-strujanje-koordinata-objekata-v2\/\" title=\"API za strujanje koordinata objekata v2\">API za strujanje koordinata objekata v2 <span class=\"arrow\"> &nbsp\u203a <\/span> <\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Glavna svrha API-ja za strujanje koordinata objekata je informiranje korisnika o promjenama objekata. Ovaj API radi kao strujanje informacija koriste\u0107i SSE (server sent events &#8211; doga\u0111aji poslani od strane poslu\u017eitelja) . Nakon \u0161to korisnik po\u0161alje API zahtjev, prvo se prikazuje posljednja poznata koordinata za svaki objekt, a nakon toga \u0107e se korisniku poslati novi podaci &hellip; <a href=\"https:\/\/www.fmsdocumentation.com\/hr\/apis\/api-za-strujanje-koordinata-objekata\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">API za strujanje koordinata objekata<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":15069,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-15031","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/pages\/15031","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=15031"}],"version-history":[{"count":1,"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/pages\/15031\/revisions"}],"predecessor-version":[{"id":15043,"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/pages\/15031\/revisions\/15043"}],"up":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/pages\/15069"}],"wp:attachment":[{"href":"https:\/\/www.fmsdocumentation.com\/hr\/wp-json\/wp\/v2\/media?parent=15031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}