Files
traccar_animation/resurse vechi /test_traccar_trip.py
2025-06-05 13:25:19 +03:00

41 lines
1.5 KiB
Python

import requests
def get_device_route(server_url, token, device_id, from_time, to_time):
"""
Fetch all positions for a device in a time frame from Traccar server.
"""
url = f"{server_url}/reports/route"
headers = {
"Authorization": f"Bearer {token}",
"Accept": "application/json"
}
params = {
"deviceId": device_id,
"from": from_time,
"to": to_time
}
response = requests.get(url, headers=headers, params=params)
if response.status_code == 200:
try:
positions = response.json()
print(f"Retrieved {len(positions)} positions.")
return positions
except Exception as e:
print(f"Error parsing JSON: {e}")
print(response.text)
return []
else:
print(f"Failed to fetch positions: {response.status_code} - {response.text}")
return []
# Example usage:
if __name__ == "__main__":
# Use your actual Traccar API endpoint (not /reports/route)
server_url = "https://gps.moto-adv.com/api"
token = "SDBGAiEA4sNXvVhL8w_Jd-5oCiXAuS5La5yelCQemfNysZYItaMCIQDOkzaoWKHbNnbZJw9ruGlsvbp35d90x3EGOZLXW_Gls3sidSI6MSwiZSI6IjIwMjUtMDYtMDlUMjE6MDA6MDAuMDAwKzAwOjAwIn0"
device_id = 1 # Replace with your device ID
from_time = "2024-06-02T21:00:00Z"
to_time = "2025-06-03T20:59:00Z"
positions = get_device_route(server_url, token, device_id, from_time, to_time)
for pos in positions:
print(f"{pos['deviceTime']}: {pos['latitude']}, {pos['longitude']}")