Nantel Flux / Workflow Repair Desk / Exemple de dossier
EXEMPLE DE DOSSIER DE RÉPARATION

Exemple de dossier de réparation · DEMO-001

Exemple : réparer un parcours n8n défaillant de routage des prospects

Le projet pilote à 99 $ CA (CAD 99) comprend le diagnostic, un correctif contrôlé s’il y a lieu, des éléments de validation, des notes de retour en arrière et une liste de vérification en préproduction.

Fichiers du fluxOriginal + correctif / 3 nœuds chacun
ProblèmeHTTP 200 + needs_input
Validation6 charges utiles fictives
Éléments de preuve6 / 6 cas de logique isolée réussis

01 / Problème

Une réponse HTTP 200 envoyait le flux de travail dans le mauvais parcours.

Comportement observé

Tous les retours HTTP 200 en amont étaient acheminés comme s’ils étaient acceptés, même lorsque le corps de la réponse JSON retournait needs_input ou failed.

Ce que la réparation doit faire

La logique corrigée doit suivre le résultat dans le corps de la réponse, relever les identifiants de prospect manquants, s’arrêter de façon sécuritaire devant un état inconnu et conserver l’identifiant d’événement entrant pour les vérifications de rejeu du client en préproduction.

02 / Diagnostic

Le flux vérifiait la livraison, et non le résultat dans la réponse.

Le flux traitait la réussite au niveau HTTP comme un prospect accepté sans lire le résultat opérationnel dans body.status. Un deuxième mappage attendait seulement lead_id; les charges utiles utilisant leadId perdaient donc leur identifiant avant l’étape de réponse.

avant : accepted = response.statusCode === 200
après : outcome = normalizeStatus(response.body?.status)
          leadId = input.leadId ?? input.lead_id ?? null

03 / Correctif sécuritaire

Lire d’abord le résultat, normaliser l’identifiant et échouer de façon sécuritaire.

  1. Normaliser leadId et lead_id dans un seul champ interne avant tout embranchement.
  2. Lire d’abord le corps de la réponse JSON; mapper uniquement accepted, needs_input et failed.
  3. Diriger les identifiants manquants vers une réponse de validation et les états inconnus vers une branche d’échec fermée.
  4. Conserver l’identifiant d’événement entrant pour la comparaison des rejeux par le client. La suppression des doublons n’est ni mise en œuvre ni revendiquée dans cet exemple.

04 / Validation

Six cas fictifs vérifient la logique de décision corrigée.

Cas synthétiques exécutés dans un banc d’essai Node.js isolé, et non dans n8n.
Cas d’essaiVariation d’entréeBranche attendueRésultat observé
F-01lead_id + acceptedacceptedRÉUSSI · LOGIQUE ISOLÉE
F-02leadId + acceptedacceptedRÉUSSI · LOGIQUE ISOLÉE
F-03HTTP 200 + needs_inputneeds_inputRÉUSSI · LOGIQUE ISOLÉE
F-04HTTP 200 + failedfailedRÉUSSI · LOGIQUE ISOLÉE
F-05identifiant de prospect manquantvalidation_errorRÉUSSI · LOGIQUE ISOLÉE
F-06état inconnu dans le corpsfailed_closedRÉUSSI · LOGIQUE ISOLÉE

05 / Plan de retour en arrière

Tester en préproduction, avec l’original intact prêt à être réactivé.

Liste de vérification en préproduction

Importer le fichier JSON corrigé dans un projet en préproduction, reconnecter les identifiants d’accès appartenant au client, rejouer F-01 à F-06 et confirmer que les écritures en aval utilisent l’identifiant de prospect normalisé. Les réussites hors ligne ne remplacent pas cette vérification d’exécution dans n8n.

Étapes de retour en arrière

Désactiver le flux de travail corrigé, réactiver l’exportation originale intacte, puis effectuer un rejeu seulement après que le client a vérifié que l’identifiant d’événement est absent du journal de destination. Aucune déduplication automatique n’est comprise.