Cartes en état terminal (perdues, volées, expirées, annulées)
Explique pourquoi les cartes perdues, volées, expirées ou annulées n'apparaissent jamais dans la liste des cartes, et comment lire une carte précise.
77/100·📆 Mensuel·IntermédiaireControllerFinance Analyst
CartesConformitélist_cards
🎯 But du skill
Explique pourquoi les cartes perdues, volées, expirées ou annulées n'apparaissent jamais dans la liste des cartes, et comment lire une carte précise.
📊 Ce que ça produit
Liste des cartes hors service avec statut, propriétaire et date de dernière activité.
⚡ Bénéfice
Avant
Pas de vue consolidée des cartes inactives — plusieurs filtres manuels nécessaires.
Après
Tableau complet des cartes hors service en une requête, prêt pour le reporting sécurité.
# Instructions
## Use case
Identifier les cartes en état terminal pour les workflows de sécurité (blocage de cartes perdues/volées) ou de nettoyage (cartes expirées ou annulées).
## Cycle de vie complet des cartes
```
PRE (pre-active)
↓
ACT (active) ←→ BLO (blocked)
↓
REA (reactivated) → ACT
États terminaux — IRRÉVERSIBLES :
LOS — Lost (perdue)
STO — Stolen (volée)
DAM — Damaged (endommagée)
EXP — Expired (expirée à la date d'échéance)
CAN — Cancelled (annulée manuellement)
ABO — Aborted (abandonnée)
Autre code : CMD — ancien code, retourné avec le libellé "Unknown" (non listé comme terminal)
CBL — Hidden (désactivée ; non listée parmi les états terminaux par le serveur)
```
## Piège — un seul statut par appel
`list_cards.status` est une **string simple** (pas un tableau). Attention : `list_cards` ne retourne JAMAIS les cartes Lost, Stolen, Damaged, Expired ou Cancelled — filtrer sur ces statuts renvoie une liste vide, à ne pas interpréter comme « aucune carte ». Ces cartes ne se lisent que par ID avec `get_card`. Les appels ci-dessous renvoient donc une liste vide pour LOS, STO, EXP et CAN :
```json
// Seuls ces filtres peuvent renvoyer des cartes via list_cards
{ "companyId": "<COMPANY_ID>", "status": "Blocked", "pageSize": 100 }
{ "companyId": "<COMPANY_ID>", "status": "Hidden", "pageSize": 100 }
```
→ Pour une carte perdue, volée, endommagée, expirée ou annulée, il faut connaître son identifiant et appeler `get_card` : il n'existe aucun moyen de les lister. Une liste vide sur ces statuts ne veut jamais dire « aucune carte de ce type ».
## Distinguer terminal vs non-terminal
| Statut | Terminal ? | Peut revenir ACT ? | Use case |
|--------|-----------|-------------------|----------|
| ACT | Non | — | Actuelle |
| BLO | Non | Oui (via REA) | Temporairement bloquée |
| REA | Non | — | Réactivée après BLO |
| PRE | Non | Oui | En attente d'activation |
| LOS | **Oui** | ❌ Non | Déclaration de perte |
| STO | **Oui** | ❌ Non | Déclaration de vol |
| DAM | **Oui** | ❌ Non | Carte endommagée physiquement |
| EXP | **Oui** | ❌ Non | Date d'expiration atteinte |
| CAN | **Oui** | ❌ Non | Annulation manuelle |
| CMD | **Oui** | ❌ Non | Compromission détectée |
| CBL | **Oui** | ❌ Non | Désactivée/cachée |
## Données disponibles sur une carte terminale
Les cartes en état terminal retournent les mêmes champs que les cartes ACT :
```json
{
"id": "...",
"type": "Subscription card",
"status": "Cancelled",
"lastFourDigits": "1234",
"expiryDate": "2025-12-31T23:59:59.000Z",
"owner": { "id": "<userId>", "label": "<nom>" },
"currency": "EUR",
"availableBalance": { ... }, // solde résiduel potentiel
"spendingLimit": { ... }
}
```
Si `availableBalance > 0` sur une carte annulée ou expirée, un remboursement peut être en attente.
## Limitations observées sur ce compte
- `status: "EXP"` → 0 résultats — comportement normal : `list_cards` ne retourne jamais les cartes Lost, Stolen, Damaged, Expired ou Cancelled ; les lire par ID avec `get_card`
- `status: "CAN"`, `status: "BLO"`, etc. → non testés sur ce compte en raison d'une instabilité de connexion MCP
## PAN et CVV jamais retournés
Le numéro complet de la carte (PAN) et le CVV ne sont jamais retournés par le MCP — uniquement les 4 derniers chiffres (`lastFourDigits`). C'est une limitation de sécurité par conception.
## Exemples de prompts utilisateurs
- "Y a-t-il des cartes perdues ou volées actives sur le compte ?"
- "Montre-moi toutes les cartes annulées ce trimestre"
- "Quelles cartes expirées ont encore un solde positif ?"
Comment installer ce skill
/
- 1Télécharger le fichier
s30-cartes-statuts-terminaux.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s30-cartes-statuts-terminaux.md .claude/s30-cartes-statuts-terminaux.md - 3Utiliser dans Claude Code — le skill est automatiquement découvert. Décrivez votre besoin en langage naturel et Claude appliquera les instructions du skill.
💡 Assurez-vous que le MCP Spendesk est configuré dans votre
.claude/settings.json avec les outils list_cards.Skills similaires
★ Top