Aller au contenu
NessFlow
Menu
    Sommaire de la documentation

    Idempotence

    Réessayer une écriture sans jamais la faire deux fois, grâce à l’en-tête Idempotency-Key.

    Un réseau perd des réponses. Sans précaution, réessayer une écriture peut lancer deux crawls, ou générer deux fois des recommandations, et consommer deux fois votre quota.

    Le principe

    Envoyez un en-tête Idempotency-Key unique par opération logique (un UUID suffit). Pendant 24 heures :

    • la même clé avec la même requête rejoue la première réponse, sans rien exécuter, avec l’en-tête Idempotent-Replayed: true ;
    • la même clé avec une autre requête répond 422 idempotency.key_reused ;
    • la même clé pendant que la première requête tourne encore répond 409 idempotency.in_progress.

    Exigée ou acceptée

    Les écritures facturées (lancer un crawl, générer des recommandations, suivre des mots-clés, vérifier un mot-clé) exigent la clé : sans elle, 400 idempotency.key_required. Les autres créations l’acceptent. La référence l’indique pour chaque opération.

    curl -X POST "https://api.nessflow.com/v1/campaigns/$CAMPAIGN_ID/crawls" \
      -H "Authorization: Bearer $NESSFLOW_TOKEN" \
      -H "Idempotency-Key: 6f1c2b0e-crawl-du-lundi"

    Rejouée avec la même clé, la requête rend la même réponse, et aucun second crawl :

    curl -X POST "https://api.nessflow.com/v1/campaigns/$CAMPAIGN_ID/crawls" \
      -H "Authorization: Bearer $NESSFLOW_TOKEN" \
      -H "Idempotency-Key: 6f1c2b0e-crawl-du-lundi"

    Une réponse 5xx n’est pas mémorisée : la clé reste libre, et la relance s’exécute vraiment.

    Cette page en Markdown