{"id":4542,"date":"2017-04-21T08:34:44","date_gmt":"2017-04-21T08:34:44","guid":{"rendered":"http:\/\/www.fmsdocumentation.com\/status-api\/"},"modified":"2018-06-04T11:12:26","modified_gmt":"2018-06-04T11:12:26","slug":"status-api","status":"publish","type":"page","link":"https:\/\/www.fmsdocumentation.com\/pl\/apis\/status-api\/","title":{"rendered":"API wsp\u00f3\u0142rz\u0119p\u00f3\u0142rz\u0119dnych obiektu w czasie rzeczywistym"},"content":{"rendered":"<p>Interfejsy API wsp\u00f3\u0142rz\u0119dnych obiektu w czasie rzeczywistym (Object Coordinates Streaming API) w g\u0142\u00f3wnej mierze s\u0142u\u017c\u0105 do informowania u\u017cytkownika o zmianach dotycz\u0105cych obiektu. Ten interfejs API zapewnia strumieniowe przesy\u0142anie informacji. Po wys\u0142aniu przez u\u017cytkownika \u017c\u0105dania API najpierw wy\u015bwietlana jest ostatnia znana wsp\u00f3\u0142rz\u0119dna ka\u017cdego z obiekt\u00f3w, a nast\u0119pnie nowe dane s\u0105 wysy\u0142ane do u\u017cytkownika bezpo\u015brednio po wyst\u0105pieniu jakiejkolwiek zmiany.\u00a0 Wysy\u0142anie kolejnych \u017c\u0105da\u0144 API nie jest konieczne, chyba \u017ce po\u0142\u0105czenie strumieniowe zosta\u0142o zerwane.<a href=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/Streaming-API.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-769\" src=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/Streaming-API-234x300.png\" alt=\"\" width=\"300\" height=\"385\" srcset=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/Streaming-API-234x300.png 234w, https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/Streaming-API.png 261w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background-color: #2e67b1; color: #ffffff; padding-left: 10px; padding-right: 10px;\"><p class=\"note\">Uwaga<br \/>\nPoniewa\u017c API najpierw zwraca ostatni\u0105 znan\u0105 wsp\u00f3\u0142rz\u0119dn\u0105, w przypadkach, gdy po\u0142\u0105czenie ze strumieniem API zosta\u0142o zerwane i nawi\u0105zane ponownie bez nowych wsp\u00f3\u0142rz\u0119dnych odebranych w tym czasie, u\u017cytkownik otrzyma ostatni\u0105 znan\u0105 wsp\u00f3\u0142rz\u0119dn\u0105, kt\u00f3ra zosta\u0142a ju\u017c raz odebrana raz, a wi\u0119c duplikat rekordu. Nale\u017cy o tym pami\u0119ta\u0107, poniewa\u017c w niekt\u00f3rych systemach mo\u017ce to powodowa\u0107 komplikacje.<\/p><\/p>\n<p>Przesy\u0142anie strumieniowe API wsp\u00f3\u0142rz\u0119dnych obiektu w czasie rzeczywistym mo\u017ce zosta\u0107 zainicjowane dla okre\u015blonego obiektu albo dla wszystkich obiekt\u00f3w dost\u0119pnych dla u\u017cytkownika.<\/p>\n<p>Przyk\u0142ad \u017c\u0105dania dla wskazanego obiektu:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"background-color: #000000; color: #bbbdc0; font-family: Lucida Console; padding-left: 10px; padding-right: 10px;\">GET \/object-coordinates-stream?version=1&amp;object_id=&lt;&#8230;&gt;&amp;api_key=&lt;&#8230;&gt;<br \/>\nHOST:api.fm-track.com<br \/>\nContent-Type:text\/event-stream;charset=UTF-8<\/p>\n<p>Przyk\u0142ad \u017c\u0105dania API dla wszystkich obiekt\u00f3w klient\u00f3w:<\/p>\n<p style=\"background-color: #000000; color: #bbbdc0; font-family: Lucida Console; padding-left: 10px; padding-right: 10px;\">GET \/object-coordinates-stream?version=1&amp;api_key=&lt;&#8230;&gt;<br \/>\nHOST:api.fm-track.com<br \/>\nContent-Type:text\/event-stream;charset=UTF-8<\/p>\n<p>Ten interfejs API wymaga do dzia\u0142ania jedynie dw\u00f3ch parametr\u00f3w obowi\u0105zkowych:<\/p>\n\n<table id=\"tablepress-63\" class=\"tablepress tablepress-id-63\">\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-63 from cache -->\n<p>W \u017c\u0105daniu mo\u017cna umie\u015bci\u0107 jedynie jeden parametr opcjonalny:<\/p>\n\n<table id=\"tablepress-64\" class=\"tablepress tablepress-id-64\">\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-64 from cache -->\n<p>Odpowied\u017a z serwera:<\/p>\n<div class=\"codecolorer-container javascript blackboard\" style=\"overflow:auto;white-space:nowrap;width:500px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/><\/div><\/td><td><div class=\"javascript codecolorer\">data<span class=\"sy0\">:<\/span><span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"st0\">&quot;object_id&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;abc123&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;datetime&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;2017-04-13T06:58:48.090Z&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;ignition_status&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;UNKNOWN&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;position&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"st0\">&quot;altitude&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;direction&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;latitude&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;longitude&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;satellites_count&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;speed&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;device_inputs&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"st0\">&quot;digital_input_1&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;digital_input_2&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;digital_input_3&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;digital_input_4&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;power_supply_voltage&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;ibutton&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;xxxxxxxxxx&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;first_driver_id&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;xxxxxxxxxx&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;second_driver_id&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;xxxxxxxxxx&quot;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"sy0\">,<\/span><br \/>\n<span class=\"st0\">&quot;calculated_inputs&quot;<\/span><span class=\"sy0\">:<\/span><span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"st0\">&quot;mileage&quot;<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Poni\u017csza tabela przedstawia wszystkie pola odpowiedzi, kt\u00f3re mog\u0119 by\u0107 otrzymane dla ka\u017cdego rodzaju parametru:<\/p>\n\n<table id=\"tablepress-65\" class=\"tablepress tablepress-id-65\">\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\">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-4\">\n\t<td class=\"column-1\">calculated_inputs<\/td><td class=\"column-2\">Container for parameters calculated in system from other parameters according configuration<\/td><td class=\"column-3\"><\/td><td class=\"column-4\"><\/td>\n<\/tr>\n<tr class=\"row-5\">\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-6\">\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-7\">\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-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\">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-10\">\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-11\">\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-12\">\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-13\">\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-14\">\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-15\">\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-16\">\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-17\">\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-18\">\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-19\">\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-20\">\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<tr class=\"row-21\">\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<\/tbody>\n<\/table>\n<!-- #tablepress-65 from cache -->\n<p>Punkty ko\u0144cowe interfejsu API, parametry \u017c\u0105dania i komunikaty zwrotne mo\u017cna przegl\u0105da\u0107 przy pomocy edytora \u201eSwagger\u201d za po\u015brednictwem: <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\">Uwaga<br \/>\nNale\u017cy pami\u0119ta\u0107, \u017ce odpowied\u017a z serwera jest strumieniem danych, tych samych, kt\u00f3re s\u0105 odbierane z urz\u0105dzenia. Wszystkie otrzymane dane s\u0105 dostarczane \u201etak jak jest\u201d. Oznacza to, \u017ce urz\u0105dzenie mo\u017ce czasem mi\u0119dzy rekordami pozycji aktualnej wysy\u0142a\u0107 wsp\u00f3\u0142rz\u0119dne pozycji poprzedniej. Interfejs API nie sprawdza ani nie reguluje ci\u0105g\u0142o\u015bci odebranych danych.<\/p><\/p>\n<hr \/>\n<p><div class=\"alignleft\"><a href=\"https:\/\/www.fmsdocumentation.com\/pl\/apis\/history-api\/\" title=\"API historycznych wsp\u00f3\u0142p\u00f3\u0142rz\u0119z\u0119ddnych obiektu\"><span class=\"arrow\">\u2039 &nbsp <\/span> API historycznych wsp\u00f3\u0142p\u00f3\u0142rz\u0119z\u0119ddnych obiektu <\/a><\/div> <div class=\"alignright\"><a href=\"https:\/\/www.fmsdocumentation.com\/pl\/apis\/object-api\/\" title=\"API obiektu\">API obiektu <span class=\"arrow\"> &nbsp\u203a <\/span> <\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Interfejsy API wsp\u00f3\u0142rz\u0119dnych obiektu w czasie rzeczywistym (Object Coordinates Streaming API) w g\u0142\u00f3wnej mierze s\u0142u\u017c\u0105 do informowania u\u017cytkownika o zmianach dotycz\u0105cych obiektu. Ten interfejs API zapewnia strumieniowe przesy\u0142anie informacji. Po wys\u0142aniu przez u\u017cytkownika \u017c\u0105dania API najpierw wy\u015bwietlana jest ostatnia znana wsp\u00f3\u0142rz\u0119dna ka\u017cdego z obiekt\u00f3w, a nast\u0119pnie nowe dane s\u0105 wysy\u0142ane do u\u017cytkownika bezpo\u015brednio po wyst\u0105pieniu &hellip; <a href=\"https:\/\/www.fmsdocumentation.com\/pl\/apis\/status-api\/\" class=\"more-link\">Czytaj dalej <span class=\"screen-reader-text\">API wsp\u00f3\u0142rz\u0119p\u00f3\u0142rz\u0119dnych obiektu w czasie rzeczywistym<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4544,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4542","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/pages\/4542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/comments?post=4542"}],"version-history":[{"count":2,"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/pages\/4542\/revisions"}],"predecessor-version":[{"id":5214,"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/pages\/4542\/revisions\/5214"}],"up":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/pages\/4544"}],"wp:attachment":[{"href":"https:\/\/www.fmsdocumentation.com\/pl\/wp-json\/wp\/v2\/media?parent=4542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}