Votre service détecte quelque chose d'utile ? Exposez un simple fichier JSON, La Bonne Alerte s'occupe des abonnés, des emails et de la vitrine.
Votre source expose une URL publique répondant en GET avec ce JSON décrivant son état courant. Pas d'auth, pas de webhook, pas de SDK.
{
"id": "exemple-stock-produit",
"name": "Exemple — Retour en stock d'un produit",
"state": "active",
"since": "2026-07-05T09:00:00.000Z",
"until": null,
"message": "Le produit est de nouveau disponible à l'achat",
"url": "https://exemple.com/produit",
"checked_at": "2026-07-05T17:32:36.606Z"
}
id (string, requis) — identifiant unique stable de la sourcename (string, requis) — nom lisiblestate (string, requis) — active | inactive | pendingsince (ISO 8601 ou null) — début de l'état actueluntil (ISO 8601 ou null) — fin prévue si connuemessage (string ou null) — description courte à afficherurl (string ou null) — lien vers la ressource concernéechecked_at (ISO 8601, requis) — horodatage de la dernière vérification par la sourceUne source peut déclarer un champ params : l'alerte est alors évaluée par abonnement (par exemple un département de vigilance). Sans params, votre manifeste reste une source broadcast classique — rien à changer.
{
"id": "vigilance-meteo",
"name": "Vigilance météo",
"params": [
{
"key": "departement",
"label": "Département",
"type": "enum",
"values": [ { "value": "05", "label": "Hautes-Alpes" } ],
"multiple": true,
"required": true
}
]
}
type ∈ enum | string | number — un seul paramètre (schéma plat) en v2enum → values non vide, chaque entrée { value, label }GET /alert.json?departement=05, et attend un manifeste v1 classique en réponse.Collez l'URL publique de votre alert.json. On le récupère et on le valide contre le standard OpenAlert.
Votre manifeste est valide ? Proposez votre source pour publication sur le kiosque.
Les sources sont examinées manuellement. Code public = badge verified possible.