Thème
Diagnostiquer un échec de transmission
Objectif
Identifier la cause racine d'un échec signalé, déterminer si le problème vient de la plateforme, d'une organisation source ou d'une organisation destinataire, et savoir à qui le passer.
Durée estimée : 5 à 10 minutes • Rôle requis : transaction-viewer ou audit-viewer
Trois points d'entrée
Un échec peut vous être signalé de trois manières. Chacune a son point de départ :
| Signal | Point de départ | Rôle |
|---|---|---|
| Un correlationId dans un ticket | Transmissions — barre de recherche | Le plus direct. |
| Une baisse du taux de succès sur le tableau de bord | Tableau de bord → Transmissions | Vue d'ensemble. |
| Une plainte d'un partenaire (« mon flux ne passe plus ») | Transmissions filtrées par organisation | Approche par partenaire. |
Étape 1 — Localiser la transmission
Avec un correlationId
Menu Suivi des activités ▸ Transmissions, collez l'identifiant dans la barre Rechercher un CorrelationId.

Sans correlationId
- Ajustez la période (filtre en haut à droite) à l'intervalle suspect.
- Cliquez sur Filtres pour restreindre sur :
- Source et/ou Destination — le code de l'organisation concernée.
- Statut — cochez les statuts d'échec :
ERROR,TIMEOUT,CIRCUIT_OPEN,DENIED,PARTNER_ERROR,REJECTED. - Type — limite au module concerné (
mi-adjudication,mi-consultation-droits,mi-transmission).
- Triez par Capturé à décroissant pour voir les plus récentes en premier.
Étape 2 — Lire le statut d'échec
La valeur de la colonne Statut raconte déjà une partie de l'histoire :
| Statut | Que s'est-il passé ? | Où chercher ensuite ? |
|---|---|---|
ERROR | Erreur technique côté plateforme (parsing, mapping, format). | Détail → metadata.reason. |
TIMEOUT | Le partenaire n'a pas répondu dans le délai du service. | Côté partenaire (disponibilité, latence). |
CIRCUIT_OPEN | Le circuit breaker est ouvert — la plateforme refuse d'appeler le partenaire pour lui laisser récupérer. | Plusieurs échecs consécutifs sur la même destination. |
DENIED | Accès refusé (401/403). Credential invalide, expiré, ou révoqué. | Onglet Credentials de l'organisation. |
PARTNER_ERROR | Le partenaire a répondu par une erreur applicative (4xx/5xx côté métier). | metadata.partnerResponseCode + corps de la réponse. |
REJECTED | La plateforme a rejeté la requête avant envoi (règle de validation). | Détail → metadata.reason. |
Étape 3 — Ouvrir le détail
Cliquez sur l'icône 👁️ à droite de la ligne pour ouvrir le volet de détail.

Le volet est organisé en plusieurs blocs.
Résumé
eventType,classificationstatus,exportStatussource→destinationlatencyMs,capturedAt
Payload request
Le corps du message envoyé. Commencez par vérifier :
correlationId— confirmation que c'est bien la transmission que vous cherchez ;resourceCode— le type de donnée (POPULATION,CDO,INVOICE…) ;emitterId/destinations— émetteur et destinataires ;- Le
payloadapplicatif lui-même (données métier).
Payload response (si présent)
Présent si le partenaire a répondu. Cherchez :
- un code d'erreur métier (ex.
ERR_BENEFICIARY_NOT_FOUND) ; - un message d'erreur lisible ;
- d'éventuels codes HTTP (401, 403, 409, 500).
Metadata
Champs techniques décisifs :
| Champ | Lecture |
|---|---|
status | Identique à la colonne de la liste. |
latencyMs | Durée totale. Si proche du timeout du service, l'échec peut être dû à une lenteur partenaire. |
partnerResponseCode | Code HTTP retourné par le partenaire. |
circuitBreakerState | CLOSED, HALF_OPEN, OPEN. Si OPEN, le partenaire est considéré défaillant. |
decision | Verdict final de la plateforme. |
processingDurationMs | Temps de traitement interne ASACI. |
reason | Texte libre expliquant l'échec (le plus utile pour le support). |
Étape 4 — Identifier la cause racine
Voici les causes les plus fréquentes, avec le signal qui permet de les reconnaître :
| Symptôme | Cause probable | Action |
|---|---|---|
DENIED + code 401/403 | Credential invalide ou révoqué. | Rotation du credential. |
TIMEOUT répété sur la même destination | Partenaire saturé ou injoignable. | Contacter le partenaire. Surveiller le circuit breaker. |
CIRCUIT_OPEN massif | Conséquence du précédent — la plateforme protège le partenaire. | Patientez que le circuit se referme ; pas d'action manuelle. |
ERROR avec reason mentionnant un mapping | Règle de transformation cassée par un changement de format. | Éditeur de mapping. |
ERROR avec reason mentionnant un parsing | Le partenaire émet un format inattendu. | Contacter l'émetteur pour aligner le format. |
PARTNER_ERROR + code métier récurrent | Règle fonctionnelle (ex. droit fermé, fournisseur inconnu). | Informer le partenaire — pas un bug plateforme. |
REJECTED avec reason = "validation" | Donnée d'entrée hors contrat. | Corriger la source. |
Étape 5 — Vérifier le contexte
Avant de clôturer, vérifiez que l'incident est isolé ou systémique :
- Revenez sur la liste filtrée sur la même destination ou le même type.
- Comptez les échecs sur les dernières 24 h.
- Si c'est un cas isolé → communiquez le
correlationIdà qui de droit. - Si c'est systémique → escaladez (voir Et ensuite).
Étape 6 — Recouper avec l'audit
Si vous suspectez une action humaine (changement de configuration juste avant l'incident), ouvrez Suivi des activités ▸ Pistes d'audit et filtrez sur :
- Organisation cible = l'organisation concernée
- Période = la fenêtre qui précède le premier échec
Cherchez un partner.service_config_updated, partner.credentials_updated ou partner.mappings_updated qui aurait coïncidé.
Checklist de fin de parcours
- [ ] Cause racine identifiée (plateforme, organisation source, organisation cible).
- [ ]
correlationIdconservé dans le ticket. - [ ] Interlocuteur à contacter identifié.
- [ ] Si action corrective menée côté plateforme (rotation, mapping), vérification sur une nouvelle transmission.
Points d'attention
- Ne modifiez rien "pour voir". Un échec apporte plus d'information qu'un correctif appliqué à chaud. Comprenez d'abord, corrigez ensuite.
- Le
correlationIdest votre seul ticket universel. Donnez-le systématiquement au support — avec, l'investigation prend 1 minute ; sans, elle peut prendre 1 heure. - Ne supprimez jamais une transmission. Elles sont conservées à des fins d'audit et de statistiques.
- Un
TIMEOUTisolé n'est pas forcément un bug. Les partenaires ont des pics de charge. C'est la répétition qui fait la tendance.
Et ensuite ?
- Si le souci vient d'un credential → Rotation d'un credential.
- Pour escalader un incident récurrent → Support.
- Pour consulter l'ensemble des statuts et leurs significations → Statuts et enums.