🔰 Quickstart
Per testare velocemente le API pubbliche (no-auth) puoi usare direttamente /rifiuti/no-auth o altri endpoint GET.
curl -X GET "https://api.citylog.cloud/rifiuti/no-auth?city=Brescia"
curl -X POST "https://api.citylog.cloud/api/reports/" \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":45.46421,"longitude":9.19001,"type":"rifiuti","image_url":"https://..."}'
🔐 Autenticazione
Alcuni endpoint (creazione, modifiche, cancellazioni) richiedono un token di autenticazione.
L'autenticazione attuale utilizza token in header: Authorization: Token YOUR_API_KEY.
-H "Authorization: Token YOUR_API_KEY"
Richiedi la chiave via pannello amministrativo dell'associazione o endpoint dedicato (se abilitato).
🔗 Endpoint Principali
| Metodo | Endpoint | Descrizione |
|---|---|---|
| GET | /rifiuti/no-auth?city=NAME |
Restituisce segnalazioni pubbliche di rifiuti per città. |
| GET | /piantumazioni/no-auth?city=NAME |
Elenco piantumazioni segnalate. |
| GET | /tronchi/no-auth?city=NAME |
Tronchi e ceppaie registrati. |
| GET | /censimento/no-auth?city=NAME |
Censimento alberi e patrimonio verde. |
| POST | /api/reports/ |
Crea una nuova segnalazione (richiede token). |
city (string), lat, lon, radius (metri), limit, offset.
📡 Esempi (curl | Python | JavaScript)
curl -X GET "https://api.citylog.cloud/rifiuti/no-auth?city=Brescia&limit=50"
curl -X POST "https://api.citylog.cloud/api/reports/" \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":45.521,"longitude":10.212,"address":"Via Trieste 10","type":"rifiuti","image_url":"https://..."}'
▶️ Try it (GET pubblico)
Esegui rapidamente una richiesta GET pubblica (NO AUTH). Inserisci la città (es. Brescia) e premi Invia.
Risultato...
📦 Strutture di risposta (JSON)
Esempio di oggetto segnalazione restituito da /rifiuti/no-auth e endpoint analoghi:
{
"id": 1022,
"latitude": 45.521002,
"longitude": 10.212443,
"address": "Via Trieste, Brescia",
"type": "rifiuti",
"image_url": "https://citylog.cloud/img/abc123.jpg",
"timestamp": "2025-01-22T13:20:10Z",
"tags": ["ingombrante","tessili"],
"zone": "Centro"
}
verified (bool), accuracy (metri), source (app/web).❗ Errori & Rate limits
| 400 | Bad Request — parametri mancanti o invalidi. |
| 401 | Unauthorized — token mancante o non valido. |
| 404 | Not Found — risorsa inesistente. |
| 429 | Too Many Requests — superati i limiti. Attendere e riprovare. |
| 500 | Internal Server Error — problema lato server. |
📘 Best Practices
- Usa sempre HTTPS per tutte le chiamate.
- Evita polling intensivo: usa caching e query con
limiteoffset. - Per integrazioni, richiedi una API key e usa header di autorizzazione.
- Filtra per bounding box o radius per ridurre payload.
- Rispetta la privacy: non esporre dati personali; le immagini devono rispettare le policy del progetto.