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.Exemple de règlement P2P
Exemple de rétrofacturation
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 renvoie200avec"idempotent_replay": trueet l’événement stocké à l’origine. Réessayez autant de fois que vous le souhaitez. - Même
event_id, contenu différent renvoie409. 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é.
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.
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
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
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.