Introduction à l'API Wast-o
L'API publique Wast-o permet d'accéder aux données de collecte de déchets, calendriers, challenges et contenus éditoriaux de manière programmatique.
Base URL
https://api.wast-o.org
Tous les endpoints de l'API publique sont préfixés par /public.
Authentification
L'API publique Wast-o ne nécessite pas d'authentification pour la plupart des endpoints. Tous les endpoints sont accessibles publiquement.
Pour les fonctionnalités nécessitant un identifiant utilisateur (comme le suivi de progression), un deviceId unique est utilisé. Ce deviceId peut être généré côté client et stocké localement.
Format des données
L'API utilise JSON pour toutes les requêtes et réponses. Les en-têtes HTTP suivants sont utilisés :
Content-Type: application/jsonpour les requêtes POSTAccept: application/jsonpour toutes les requêtes
Versioning
Actuellement, l'API est en version 1.0. La version future sera indiquée dans l'URL de base si nécessaire.
Rate Limiting
Des limites de taux peuvent être appliquées pour éviter les abus. En cas de dépassement, vous recevrez une réponse HTTP 429 (Too Many Requests).
Les limites exactes seront communiquées dans les en-têtes de réponse :
X-RateLimit-Limit: Nombre maximum de requêtes autoriséesX-RateLimit-Remaining: Nombre de requêtes restantesX-RateLimit-Reset: Timestamp de réinitialisation
Codes de statut HTTP
L'API utilise les codes de statut HTTP standards :
200 OK: Requête réussie201 Created: Ressource créée avec succès400 Bad Request: Requête invalide404 Not Found: Ressource non trouvée429 Too Many Requests: Trop de requêtes500 Internal Server Error: Erreur serveur
Gestion des erreurs
En cas d'erreur, l'API retourne un objet JSON avec les informations suivantes :
{
"statusCode": 404,
"message": "Ville avec l'ID abc123 non trouvée",
"error": "Not Found"
}
Exemples de requêtes
JavaScript (fetch)
const response = await fetch('https://api.wast-o.org/public/cities');
const cities = await response.json();
console.log(cities);
TypeScript (avec types)
interface City {
id: string;
name: string;
country: string;
// ...
}
const response = await fetch('https://api.wast-o.org/public/cities');
const cities: City[] = await response.json();
cURL
curl https://api.wast-o.org/public/cities