Traccar API - Node-Red Flows Examples
These flows can provide self explanatory examples of how to call the Traccar API in the "most possibly correct way"
Please note that the first node logs into Traccar with API and Basic Authentication (User & Pwd).
In the other function nodes, the Suffix "_T" stands for Token Authentication and "SC" Stands for Session Cookie authentication.
[{"id":"dcbc7ff599abe6a1","type":"inject","z":"2ef043f2d99e667c","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":120,"wires":[["171a192c389a5d18"]]},{"id":"f42cb0352b90b899","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":830,"y":120,"wires":[]},{"id":"2f319c89d985b3fb","type":"http request","z":"2ef043f2d99e667c","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":true,"proxy":"","authType":"","senderr":false,"x":610,"y":120,"wires":[["f42cb0352b90b899","83956e0bfa24e1e7"]]},{"id":"171a192c389a5d18","type":"function","z":"2ef043f2d99e667c","name":"Traccar_Login","func":"var time = msg.payload; \nvar url = \"http://10.9.0.1:8082/api/session\"\nvar _msg = {};\n_msg.url = url;\n_msg.method = \"POST\";\n_msg.payload = \"pickerfield-1012-inputEl=10.9.0.1:8082&email=[email protected]&password=#######=&undefined=true\"\n_msg.headers = {\"content-type\": \"application/x-www-form-urlencoded\"};\n//msg.headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\nreturn _msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":360,"y":120,"wires":[["2f319c89d985b3fb","4439e285c6289e96"]]},{"id":"4439e285c6289e96","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":830,"y":80,"wires":[]},{"id":"6b51511692b42cca","type":"inject","z":"2ef043f2d99e667c","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":200,"wires":[["83956e0bfa24e1e7"]]},{"id":"00231ad03ae7c04d","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":830,"y":200,"wires":[]},{"id":"4bfb808a833915a9","type":"http request","z":"2ef043f2d99e667c","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":true,"proxy":"","authType":"","senderr":false,"x":610,"y":200,"wires":[["00231ad03ae7c04d"]]},{"id":"83956e0bfa24e1e7","type":"function","z":"2ef043f2d99e667c","name":"Traccar_Session T","func":"var Login_msg = msg; \nvar url = \"http://10.9.0.1:8082/api/session\"+\"?token=\"+msg.payload.token;\nglobal.set(\"token\",msg.payload.token);\nglobal.set(\"s_cookie\",msg.responseCookies)\nvar _msg = {};\n_msg.url = url;\n_msg.method = \"GET\";\n//_msg.payload = \"token=\"+msg.payload.token\n//_msg.headers = {\"content-type\": \"application/x-www-form-urlencoded\"};\n//msg.headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\nreturn _msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":370,"y":200,"wires":[["4bfb808a833915a9","84bfa3ab08a37e5e"]]},{"id":"84bfa3ab08a37e5e","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":830,"y":160,"wires":[]},{"id":"1513128ebe670dcc","type":"inject","z":"2ef043f2d99e667c","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":280,"wires":[["3f66c51979a32b70"]]},{"id":"920903b8a7cf3d5f","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":830,"y":280,"wires":[]},{"id":"f29feed22755c358","type":"http request","z":"2ef043f2d99e667c","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":true,"proxy":"","authType":"","senderr":false,"x":610,"y":280,"wires":[["920903b8a7cf3d5f"]]},{"id":"3f66c51979a32b70","type":"function","z":"2ef043f2d99e667c","name":"Traccar_Devices SC","func":"var url = \"http://10.9.0.1:8082/api/devices\"+\"?token=\"+global.get(\"token\")\n//global.set(\"token\",msg.payload.token);\n//global.set(\"s_cookie\",msg.responseCookies)\nvar _msg = {};\n_msg.url = url;\n_msg.method = \"GET\";\n_msg.cookies = global.get(\"s_cookie\")\n//_msg.payload = \"token=\"+msg.payload.token\n//_msg.headers = {\"content-type\": \"application/x-www-form-urlencoded\"};\n//msg.headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\nreturn _msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":380,"y":280,"wires":[["f29feed22755c358","76093df8128dd153"]]},{"id":"76093df8128dd153","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":830,"y":240,"wires":[]},{"id":"eccfc12f6c1b8b85","type":"comment","z":"2ef043f2d99e667c","name":"To pass Token (T) & Session Cookie (SC)","info":"","x":520,"y":160,"wires":[]},{"id":"a487f7c33b2f16cf","type":"inject","z":"2ef043f2d99e667c","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":360,"wires":[["0ffd9a90e91ad4e8"]]},{"id":"deed4e7256ef6305","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":830,"y":360,"wires":[]},{"id":"73d8882a1de233f1","type":"http request","z":"2ef043f2d99e667c","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":true,"proxy":"","authType":"","senderr":false,"x":610,"y":360,"wires":[["deed4e7256ef6305"]]},{"id":"0ffd9a90e91ad4e8","type":"function","z":"2ef043f2d99e667c","name":"Traccar_Send_C_Cmd SC","func":"var url = \"http://10.9.0.1:8082/api/commands/send\";\n//global.set(\"token\",msg.payload.token);\n//global.set(\"s_cookie\",msg.responseCookies)\nvar _msg = {};\n_msg.url = url;\n_msg.method = \"POST\";\n_msg.cookies = global.get(\"s_cookie\")\n_msg.payload = JSON.stringify({ \n \"id\":0,\n \"description\":\"New\\u2026\",\n \"deviceId\":5,\n \"type\":\"custom\",\n \"textChannel\":false,\n \"attributes\":{\"data\":\"CETST_1_Msg\"}\n }) \n_msg.headers = {\"content-type\": \"application/json\"};\n//msg.headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\nreturn _msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":400,"y":360,"wires":[["73d8882a1de233f1","f1823fd9234874f3"]]},{"id":"f1823fd9234874f3","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":830,"y":320,"wires":[]},{"id":"19fb136f78c34d59","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":810,"y":520,"wires":[]},{"id":"ec57663a.45de48","type":"inject","z":"2ef043f2d99e667c","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":440,"wires":[["6fd102e1.118e9c"]]},{"id":"5c78850b.343cdc","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":830,"y":480,"wires":[]},{"id":"43e927e8.495078","type":"http request","z":"2ef043f2d99e667c","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","proxy":"","authType":"","x":610,"y":480,"wires":[["5c78850b.343cdc","19fb136f78c34d59"]]},{"id":"6fd102e1.118e9c","type":"function","z":"2ef043f2d99e667c","name":"Traccar_Send_Position_OSMAND","func":"var time = msg.payload;\nvar url = \"http://10.9.0.1:5055/?id=12345000&lat=45.46385&lon=9.1658×tamp=\"+time+\"&hdop=3&altitude=4&speed=5&test=1\";\n//global.set(\"token\",msg.payload.token);\n//global.set(\"s_cookie\",msg.responseCookies)\nvar _msg = {};\n_msg.url = url;\n_msg.method = \"GET\";\n//_msg.cookies = global.get(\"s_cookie\")\n//_msg.payload = JSON.stringify({ \n // \"deviceId\": 12345000,\n // \"description\": \"MSG\",\n // \"type\": \"custom\",\n // \"attributes\": {\n // \"data\": \"CETest\" \n // }\n // } ) \n//_msg.headers = {\"content-type\": \"application/json\"};\n//msg.headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\nreturn _msg;\n\n\n\n","outputs":1,"noerr":0,"x":380,"y":440,"wires":[["43e927e8.495078","1f5a2067.a4cca"]]},{"id":"1f5a2067.a4cca","type":"debug","z":"2ef043f2d99e667c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":830,"y":440,"wires":[]},{"id":"a35d83b6733145fc","type":"comment","z":"2ef043f2d99e667c","name":"Flow to send Custom Command to OSMAND Device","info":"","x":290,"y":480,"wires":[]}]