GET Derniers signalements publics
GET https://signalnids.fr/api/reports_latest.php?limit=20
Public — renvoie les N derniers signalements visibles
avec ville, coordonnées approximatives, intensité, statut et date.
{
"ok": true,
"items": [
{
"id": 123,
"city": "Arras",
"latitude": 50.289650,
"longitude": 2.780573,
"intensity": 3,
"status": "a_verifier",
"created_at": "2025-10-24 10:56:00"
}
]
}
Les coordonnées sont volontairement décalées de quelques mètres
pour préserver la vie privée.
POST Créer un signalement
POST https://signalnids.fr/api/report_create.php (auth + CSRF)
Corps de requête :
multipart/form-data (recommandé, permet l’upload de photos) ou
application/x-www-form-urlencoded.
Champs principaux :
latitude, longitude, city
intensity (1 à 5)
species (ex. frelon_asiatique)
nest_location (arbre, toiture, ruche…)
status (souvent a_verifier à la création)
comment (texte libre)
photos[] (0 à N fichiers JPEG/PNG/WebP)
curl -X POST https://signalnids.fr/api/report_create.php \
-H "X-CSRF-Token: <csrf>" \
-F "latitude=50.28965" \
-F "longitude=2.780573" \
-F "city=Arras" \
-F "intensity=3" \
-F "species=frelon_asiatique" \
-F "nest_location=arbre" \
-F "status=a_verifier" \
-F "comment=Nid sous la toiture" \
-F "photos[]=@/chemin/photo1.jpg"
{"ok": true, "id": 456}
POST Voter (like / dislike)
POST https://signalnids.fr/api/report_vote.php (auth + CSRF)
Permet de voter pour un signalement (utile / peu utile). Champs :
report_id, value ∈ {-1, 0, 1} où 0 annule
le vote.
curl -X POST https://signalnids.fr/api/report_vote.php \
-H "X-CSRF-Token: <csrf>" \
-d "report_id=456" \
-d "value=1"
{"ok": true, "likes": 3, "dislikes": 0, "user_vote": 1}
GET Notifications (auth)
GET https://signalnids.fr/api/notifications_list.php
Retourne les notifications récentes (likes, validations, etc.) pour
l’utilisateur connecté.
{
"ok": true,
"items": [
{
"id": 12,
"type": "like",
"actor_name": "Alice",
"actor_avatar": "/uploads/avatars/a.png",
"report_id": 456,
"report_city": "Arras",
"link": "/signalement.php?id=456",
"created_at": "2025-10-24 11:10:00",
"read_at": null
}
]
}
Pour marquer comme lues, utiliser
POST https://signalnids.fr/api/notifications_read.php avec
ids=all ou une liste d’identifiants.