> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Surveillance des transactions : démarrage en 10 min

> Démarrez avec Didit en 10 min : soumettez une transaction, testez les règles, branchez les webhooks. 1,000 transactions/mois, puis $0.001 chacune.

Mettez en place la Surveillance des transactions en moins de 10 minutes. Vous allez soumettre une transaction de test, examiner son score, activer une règle prédéfinie, la soumettre à nouveau pour la déclencher, puis vérifier que le webhook est bien reçu.

## Prérequis

* Une application Didit avec la Surveillance des transactions activée (*Settings → Transaction Monitoring → Enable*).
* Une clé API.
* Un endpoint de webhook accessible depuis Internet.

## Étapes

**1. Soumettre une transaction de référence**

```bash theme={null}
curl -X POST https://verification.didit.me/v3/transactions/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_id": "baseline-0001",
    "transaction_category": "finance",
    "transaction_details": {
      "direction": "outbound",
      "amount": "500.00",
      "currency": "EUR"
    },
    "subject": { "entity_type": "person", "vendor_data": "user-42", "full_name": "Jane Doe" },
    "counterparty": { "entity_type": "company", "full_name": "Acme Supplier" }
  }'
```

La réponse contient :

* `status` – `APPROVED` si aucune règle n’a été déclenchée, `IN_REVIEW` ou `DECLINED` si au moins une l’a été.
* `score` – entier de 0 à 100+.
* `rule_runs` – tableau de toutes les règles qui ont évalué cette transaction.

**2. Activer une règle prédéfinie**

Accédez à *Transactions → Rules → Library* dans la Business Console. Choisissez un préréglage, par exemple **Structuring (outbound)** : déclenché lorsque le même utilisateur envoie 20+ virements sortants, inférieurs à €10,000, en 30 jours. Activez-le et enregistrez.

**3. Soumettre des transactions qui déclenchent la règle**

Soumettez rapidement 20 transactions pour le même utilisateur, chacune inférieure à €10,000 :

```bash theme={null}
for i in $(seq 1 20); do
  curl -X POST https://verification.didit.me/v3/transactions/ \
    -H "x-api-key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d "{
      \"transaction_id\": \"struct-$i\",
      \"transaction_category\": \"finance\",
      \"transaction_details\": {
        \"direction\": \"outbound\",
        \"amount\": \"9500.00\",
        \"currency\": \"EUR\"
      },
      \"subject\": { \"entity_type\": \"person\", \"vendor_data\": \"user-42\", \"full_name\": \"Jane Doe\" },
      \"counterparty\": { \"entity_type\": \"company\", \"full_name\": \"Shell Co $i\" }
    }"
done
```

À la 20e soumission, la règle Structuring se déclenche. La transaction renvoie `status: IN_REVIEW`, et `score` reflète le `score_delta` de la règle.

**4. S’abonner aux webhooks de transaction**

```bash theme={null}
curl -X POST https://verification.didit.me/v3/webhook/destinations/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "TM events",
    "url": "https://yourapp.com/webhooks/didit-tm",
    "subscribed_events": ["transaction.created", "transaction.status.updated"]
  }'
```

La réponse contient `secret_shared_key` : enregistrez-la immédiatement sous le nom `DIDIT_WEBHOOK_SECRET` dans votre `.env` :

```bash theme={null}
DIDIT_WEBHOOK_SECRET=whsec_...   # signing secret returned from webhook registration
```

Vérifiez ensuite le HMAC `X-Signature-V2` de chaque webhook reçu avant de lui faire confiance (recalculez le HMAC-SHA256 sur le corps canonique, comparez en temps constant, rejetez les horodatages périmés). Consultez les [Webhooks TM](https://docs.didit.me/fr/transaction-monitoring/webhooks.md) pour les payloads et le code de vérification complet.

Chaque transaction suivante est envoyée à votre endpoint en temps réel.

**5. Consulter la console**

Accédez à *Transactions* dans la console :

* Vue liste : transactions récentes, filtres, actions groupées.
* Détail d’une transaction : exécutions de règles, enrichissement IP, informations sur les parties, graphe de réseau (pour les crypto-actifs), alertes et dossiers liés.

**6. Récupérer une transaction via l’API**

```bash theme={null}
curl https://verification.didit.me/v3/transactions/{transaction_id}/ \
  -H "x-api-key: YOUR_API_KEY"
```

Renvoie le [schéma de réponse complet](https://docs.didit.me/fr/transaction-monitoring/response-schema.md) : score, règles correspondantes, enrichissement des parties, filtrage AML, et plus encore.

## Ce que vous venez de configurer

* **Notation en temps réel** – chaque transaction passe par toutes les règles actives.
* **Filtrage AML** – les contreparties font automatiquement l’objet d’un filtrage au regard des sanctions et de la presse négative.
* **Enrichissement IP** – chaque transaction est enrichie avec le pays associé à l’adresse IP, l’ASN et les indicateurs VPN/Tor.
* **Webhooks** – notification en temps réel pour chaque transaction.
* **Piste d’audit** – les exécutions de règles, les alertes et les transitions de statut sont interrogeables dans la console.

## Prochaines étapes courantes

> [card] [Guide d’intégration](https://docs.didit.me/fr/transaction-monitoring/integration-guide.md)
>
> Architecture complète et modèles d’intégration.

> [card] [Règles en détail](https://docs.didit.me/fr/transaction-monitoring/rules.md)
>
> Fonctionnement des règles, conditions, agrégations et actions.

> [card] [Notation des risques](https://docs.didit.me/fr/transaction-monitoring/risk-scoring.md)
>
> Comment les scores se combinent pour former les statuts.

> [card] [Payload des transactions](https://docs.didit.me/fr/transaction-monitoring/transactions.md)
>
> Le schéma complet de soumission des transactions.

> [card] [Statuts](https://docs.didit.me/fr/transaction-monitoring/statuses.md)
>
> États des transactions, des alertes et des dossiers.

> [card] [Dossiers](https://docs.didit.me/fr/transaction-monitoring/cases.md)
>
> Examiner et résoudre les dossiers.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.