Déroulement
1
Créer un identifiant de surveillance
Votre backend appelle
POST /v3/events/sdk-token/ avec votre clé API et le vendor_data de l’utilisateur.2
Envoyer depuis l'appareil
L’application envoie à
POST /v1/events/ (ou POST /v1/events/batch/) avec l’en-tête X-Monitoring-Token.3
Les règles s'appliquent normalement
L’événement est enrichi, agrégé et évalué par exactement les mêmes règles que pour un événement envoyé depuis le serveur.
Création d’un identifiant
La création requiert que l’ingestion d’événements soit activée pour l’application. Tant qu’elle est désactivée, cet endpoint répond
403 avec {"code": "event_monitoring_disabled"}, plutôt que de délivrer un identifiant qui ne pourrait jamais permettre d’écrire des événements.Envoi
Ce que le serveur applique
- Liaison au sujet. L’identifiant est limité à un seul
vendor_dataau moment de sa création. Un blocsubjectdans le corps de la requête est écrasé : un client modifié ne peut donc pas écrire dans la chronologie d’un autre utilisateur. - Contexte réseau. L’adresse IP, l’user agent, l’accept-language et l’origine sont déterminés à partir de la requête, et ces valeurs dérivées du serveur priment sur toute indication du client pour l’évaluation des règles. Les preuves de règle enregistrent la différence sous forme de source du champ.
- Périmètre des catégories. Un identifiant limité à
sessionne peut pas envoyer un événementpayment; il est rejeté avec400. - Budget d’utilisations. Un lot consomme une utilisation par événement : un lot de 500 événements ne peut donc pas passer pour une seule utilisation face à un identifiant limité à 10 utilisations.
- Liaison à l’origine. Si
bind_to_originest défini, une requête dont l’Originne correspond pas est refusée, y compris une requête sans aucunOrigin.
Envoi groupé
Ce qu’il faut écarter en cas de saturation
Si vous devez abandonner des événements, abandonnez les moins coûteux. Ceux-ci peuvent être écartés sans risque :session.page_view · session.sdk_heartbeat · session.sdk_loaded · session.device_seen · session.bot_signal_observed · bonus.promotion_viewed · affiliate.referral_clicked
Ceux-ci ne le peuvent pas, et doivent être envoyés en priorité :
tous les événements security, payment, dispute et responsible_gambling, ainsi que gameplay.bet_placed, gameplay.bet_settled et gameplay.p2p_settlement.
Les endpoints de liste renvoient la même classification par événement sous la forme is_droppable, afin qu’un client puisse s’appuyer dessus plutôt qu’une copie codée en dur.
Compatibilité des en-têtes
L’en-tête de référence estX-Monitoring-Token. X-Transaction-Token est accepté comme alias temporaire, afin qu’une application qui dispose déjà d’un parcours utilisant un identifiant de transaction puisse migrer progressivement.
Choisir un canal
Les deux canaux produisent des enregistrements d’événements identiques et exécutent les mêmes règles. Utilisez le canal serveur chaque fois qu’aucun utilisateur final n’est présent.
Pour aller plus loin
Ingestion d'événements
L’enveloppe, les catégories, la conservation et l’idempotence.
Règles sur les événements
Règles de vélocité, de ratio, de séquence et de corrélation.