Passer au contenu principal
Les transactions, c’est l’argent. Les événements, c’est tout le reste de ce que votre plateforme sait : la connexion qui a précédé le retrait, la main qui a déplacé des jetons entre deux comptes, le bonus réclamé deux fois, le chargeback reçu une semaine plus tard. Les événements utilisent une seule enveloppe pour toutes les catégories, sont idempotents par conception et sont évalués par le même moteur de règles que celui qui note vos transactions.
L’ingestion d’événements est facultative. Activez-la dans Transactions → Settings → Event monitoring. Tant qu’elle n’est pas activée, rien ne change : vos règles de transaction existantes continuent de s’appliquer uniquement aux transactions, et une règle d’événement ne peut pas être créée par accident, car une règle s’applique aux transactions sauf si vous y incluez explicitement les événements.Tant qu’elle n’est pas activée, chaque canal d’écriture (POST /v3/events/, POST /v3/events/batch/, POST /v3/events/sdk-token/ et le canal d’appareil /v1/events/) renvoie 403 avec {"code": "event_monitoring_disabled"}, et rien n’est stocké, enrichi ni évalué. Les lectures ne sont pas affectées.

Endpoints

Le canal /v3/ est le canal serveur et utilise la même authentification x-api-key que le reste de l’API de transactions. Le canal /v1/events/ est le canal de l’appareil : voir Envoi d’événements depuis le SDK.

L’enveloppe

Catégories

Dix catégories de première classe, chacune avec une validation typée et des champs de règle gérés. auth est la catégorie produit générale ; security est le sous-ensemble axé sur le risque, avec le cycle de vie ordonné qu’utilisent les règles de prise de contrôle de compte.

Clés de payload requises

Certaines actions ne peuvent pas être corrélées sans clés spécifiques ; la validation les rejette plutôt que de stocker des preuves que personne ne pourra relier.
Envoyez des références et des hachages, jamais de secrets en clair. Les instruments de paiement, les destinations de retrait et les changements de contrôle de compte sont stockés sous la forme de la référence hachée que vous envoyez. N’envoyez jamais de numéro de carte, d’adresse de retrait complète, de hachage de mot de passe ni de secret MFA.

Exemple de règlement P2P

Exemple de rétrofacturation

Les cycles de vie des litiges ne peuvent être modifiés que par ajout : une correction est un nouvel événement dispute, jamais une modification du premier.

Idempotence

event_id est unique par application et constitue l’ensemble du contrat d’idempotence.
  • Même event_id, même contenu renvoie 200 avec "idempotent_replay": true et l’événement stocké à l’origine. Réessayez autant de fois que vous le souhaitez.
  • Même event_id, contenu différent renvoie 409. Vous avez réutilisé un identifiant par erreur.

Lots

POST /v3/events/batch/ accepte jusqu’à 500 événements. Un lot est partiellement réussi par conception : une consultation de page mal formée ne doit jamais faire échouer la rétrofacturation juste à côté.
La réponse est 207 Multi-Status si un élément a été rejeté et 201 Created si tout a été enregistré.

Statuts

correlation_pending: true signifie qu’une règle inter-sujets doit encore être exécutée ; la corrélation est résolue en quelques minutes et le statut et le score de l’événement sont mis à jour sur place. Voir règles asynchrones.

Conservation

Le volume des événements est beaucoup plus élevé que celui des transactions, donc chacun est classé dans une classe de conservation à son arrivée. Deux règles découlent du tableau :
  • Un événement qui correspond à une règle constitue une preuve : il passe automatiquement dans risk_relevant.
  • Les événements de paiement et de litige conservent la durée de conservation des transactions. Ils n’expirent jamais selon le calendrier des événements, et les remplacements par classe ne peuvent pas la raccourcir.
Configurez, par application, des durées personnalisées pour les trois classes expirables dans Transactions → Paramètres → Surveillance des événements (1 à 730 jours chacune).

Enrichissement IP

Les événements portent le même enrichissement IP que les transactions (pays, ASN, indicateurs VPN/proxy et de centre de données), et l’enrichissement est résolu par adresse IP unique, jamais par événement. Une session qui génère 200 consultations de pages depuis une même adresse ne résout cette adresse qu’une seule fois. La télémétrie à faible valeur va plus loin : elle ne lit l’enrichissement que si un autre événement a déjà résolu cette adresse. Elle ne déclenche jamais de recherche par elle-même. GET /v3/events/enrichment-metrics/ renvoie le résultat, et la console affiche les mêmes chiffres au-dessus de la liste des événements :

Relire les événements

Filtres : event_category, action_type, status, retention_class, subject_vendor_data, business_vendor_data, session_id, device_fingerprint, ip_address, game_id, round_id, affiliate_code, payment_reference_id, counterparty_vendor_data, matched_only, occurred_from, occurred_to, search. Les filtres à valeurs multiples répètent le paramètre (?status=A&status=B).

Chronologie d’un sujet

Un vendor_data n’est unique qu’au sein d’un type d’entité : le même identifiant peut désigner un utilisateur et une entreprise, et Didit les traite comme deux sujets distincts. entity_type indique celui que vous demandez : individual (valeur par défaut) ou company. Si vous omettez ce paramètre pour un identifiant d’entreprise, vous obtenez la chronologie de la personne physique, et non les deux. Les mêmes filtres de liste s’appliquent. GET /v3/events/{event_uuid}/ ajoute le payload, le contexte de l’appareil, l’enrichissement IP, les signaux de risque du sujet mis en cache et chaque correspondance de règle avec ses preuves, y compris si chaque champ concerné était dérivé côté serveur, dérivé du SDK ou fourni par le client. DELETE /v3/events/{event_uuid}/delete/ supprime un événement. Il n’est plus renvoyé par aucune lecture, et la suppression est irréversible.

Suite

Règles sur les événements

Règles de vélocité, de ratio, de séquence et de corrélation sur les données d’événements.

Envoi d'événements via le SDK

Capturez les événements directement depuis l’appareil avec des informations d’identification à portée limitée.
Dernière modification le 7 novembre 2026