Περιγραφή

Επιστροφή λίστας συσκευών με δυνατότητες φιλτραρίσματος, ταξινόμησης και σελιδοποίησης στην πλατφόρμα Globismart Smart City Platform.

Χρησιμοποιήστε παραμέτρους limit και offset για αποδοτική σελιδοποίηση. Για σταθερή σειρά αποτελεσμάτων χρησιμοποιήστε επίσης sort_by και sort_dir.

Base URL

GET [base_url]/api/devices_list.php

Query Παράμετροι

ΠαράμετροςΤύποςΥποχρεωτικήΠεριγραφή
keyStringΝαιAPI key για εξουσιοδότηση
device_typeStringΌχιΦιλτράρισμα ανά τύπο (π.χ. sensor, relay, thermostat)
statusStringΌχιΚατάσταση συσκευής (π.χ. active, inactive)
searchStringΌχιΑναζήτηση σε όνομα/metadata
limitIntegerΌχιΠλήθος εγγραφών (προεπιλογή 50, μέγιστο 200)
offsetIntegerΌχιΜετατόπιση για σελιδοποίηση (π.χ. 0, 50, 100)
sort_byStringΌχιΠεδίο ταξινόμησης (π.χ. created_at, device_name)
sort_dirStringΌχιasc ή desc (προεπιλογή desc)

Παράδειγμα Απόκρισης

{
  "items": [
    {
      "device_id": 5021,
      "device_name": "Thermostat A1",
      "device_type": "thermostat",
     
      "status": "active",
      "protocol": "mqtt",
      "mqtt_topic": "schools/SCH-0032/thermostats/A1",
      "location": {"lat": 40.69097, "lng": 21.67802},
      "metadata": {"model":"T-200","firmware":"1.4.2","vendor":"Globiled"},
      "created_at": "2025-08-08 12:41:21",
      "updated_at": "2025-08-08 12:41:21"
    },
    {
      "device_id": 5022,
      "device_name": "Relay B4",
      "device_type": "relay",
     
      "status": "inactive",
      "protocol": "mqtt",
      "mqtt_topic": "schools/SCH-0032/relays/B4",
      "location": null,
      "metadata": {"model":"R-20","firmware":"2.0.0"},
      "created_at": "2025-08-07 09:00:00",
      "updated_at": "2025-08-08 10:00:00"
    }
  ],
  "count": 2,
  "total": 124,
  "limit": 50,
  "offset": 0
}

Περιγραφή Πεδίων

ΠεδίοΤύποςΠεριγραφή
itemsArrayΛίστα συσκευών
countIntegerΠλήθος εγγραφών που επιστράφηκαν
totalIntegerΣύνολο εγγραφών που ικανοποιούν τα φίλτρα
limitIntegerΌριο ανά σελίδα
offsetIntegerΜετατόπιση για σελιδοποίηση

Κωδικοί Σφαλμάτων

HTTP CodeΠεριγραφή
200Επιτυχία
401Μη εξουσιοδοτημένη πρόσβαση
400Μη έγκυρες παράμετροι
500Εσωτερικό σφάλμα συστήματος ή βάσης δεδομένων

Παράδειγμα curl

curl -G "[base_url]/api/devices_list.php" \
  --data-urlencode "key=MY_SECRET_API_KEY" \
  --data-urlencode "device_type=thermostat" \
  --data-urlencode "limit=50" \
  --data-urlencode "offset=0" \
  --data-urlencode "sort_by=created_at" \
  --data-urlencode "sort_dir=desc"