Cette page documente le contrat de livraison côté Fluximmo : ce que votre endpoint doit renvoyer, combien de fois on retente, et comment sécuriser la réception.Documentation Index
Fetch the complete documentation index at: https://doc.fluximmo.io/llms.txt
Use this file to discover all available pages before exploring further.
Politique de retry
Quand votre endpoint ne répond pas avec un code 2xx valide (voir plus bas), Fluximmo retente la livraison selon le calendrier suivant :| Tentative | Délai depuis le précédent | Cumulé approx. |
|---|---|---|
| 1 (initiale) | — | T0 |
| 2 (retry immédiat) | quelques secondes | ~5 s |
| 3 (retry immédiat) | quelques secondes | ~10 s |
| 4 à 13 | 5 min | jusqu’à ~50 min |
| DROP | — | après ~50 min |
Codes considérés OK
| Code HTTP renvoyé | Interprétation Fluximmo |
|---|---|
200, 201, 202, 203, 204, 205 | Livraison acquittée — pas de retry |
| Tout le reste (3xx, 4xx, 5xx, timeout) | Échec — retry programmé selon la politique ci-dessus |
SLO côté client
- Ack < 1 seconde recommandé : au-delà, la requête peut être considérée comme un timeout côté Fluximmo et déclencher un retry.
- Pas de traitement métier dans le handler HTTP : pousser le payload dans une file (Redis, SQS, RabbitMQ…) et acquitter immédiatement.
- Idempotence requise : un même
flxIdpeut être livré plusieurs fois (retry sur ack lent, sur 5xx transitoire). Utilisez un UPSERT parflxIdcôté worker.
Validation du header x-webhook-key
Chaque webhook URL est associée à un secret partagé (généré à la création de l’alerte / abonnement). Fluximmo l’envoie dans le header HTTP x-webhook-key.
Utilisez
secrets.compare_digest (Python) ou crypto.timingSafeEqual (Node) pour éviter les attaques temporelles. Une comparaison == classique est exploitable.Idempotence
Les retries sont identiques (même payload, mêmeflxId). Côté persistance :
- UPSERT par
flxId:INSERT ... ON CONFLICT (flx_id) DO UPDATE(PostgreSQL) ou équivalent. - Tracker des
webhookIddéjà vus si vous avez besoin d’un dédoublonnage strict (rare). - Webhooks Properties : ne contiennent que des IDs — refetch via
GET /v2/protected/properties/{flxId}ou l’endpoint bulk.
Debug
Si vous suspectez des webhooks perdus :- Vérifier les logs côté client : codes HTTP renvoyés, latence de réponse, statut du worker.
- Tester manuellement votre endpoint avec un payload type (voir
/__samples/ou les exemples de l’API reference). - Vérifier que le header
x-webhook-keyn’est pas en conflit avec une couche réseau (proxy, WAF) qui le strip. - Contacter le support ([email protected]) avec : URL endpoint, période suspectée, alertId concernée. Le replay manuel n’est pas garanti une fois le DROP atteint.
Pour une architecture haut volume (file de message, idempotence, reprise sur crash), voir le playbook Architecture webhook haut volume.

