Αυτοματοποιημένες εκδηλώσεις και ανταμοιβές - Κανόνες και Webhooks
Η gamification βασίζεται σε δύο «κινητήρες»: γεγονότα (τι έκανε ο χρήστης) και κανόνες (τι υποτίθεται ότι είναι για αυτό). Για να λειτουργήσει αυτό σε μεγάλη κλίμακα και χωρίς σφάλματα, χρειάζεστε ένα αξιόπιστο λεωφορείο γεγονότων, μια μηχανή κανόνων, έναν μηχανισμό παράδοσης/ανάθεσης και αυστηρή προστασία κατά της απάτης. Παρακάτω είναι η πρακτική αρχιτεκτονική, τα πρότυπα και οι λίστες ελέγχου.
1) Αρχιτεκτονική ροής γεγονότων κανόνας επιβράβευσης
1. Εισροή (εισαγωγή γεγονότων): SDK/web, server webhooks από payment/game provider → API Gateway → queue/bus (Kafka/Rabbit/Cloud Pub/Sub).
2. Κανονικοποιητής: επικύρωση, εμπλουτισμός (γεω, συσκευή, payer_flag), έκδοση σχήματος.
3. Κινητήρας κανόνων: βαθμολόγηση/XP, αποστολές/αναζητήσεις ελέγχου, ενεργοποιήσεις ανταμοιβής/ειδοποίησης.
4. Ανταμοιβή Orchestrator: υπολογισμός ανταμοιβών, έλεγχος προϋπολογισμού, πύλες RG/KYC, δημιουργία μιας «εργασίας έκδοσης», καταγραφή.
5. Payout/Bonus Service: cache/bonus cache/freespins/κουπόνια, εξωτερικά webhooks (πορτοφόλι, πάροχοι).
6. Ειδοποιητής: push/in-app/email/στιγμιαίοι αγγελιοφόροι με όρια συχνότητας.
7. Αποθήκευση/Ανάλυση: ακατέργαστες εκδηλώσεις, καταστήματα, A/B, προειδοποιήσεις.
8. Καταπολέμηση της απάτης/RG: στοματοφύλακες, εουριστικοί/ML, μεγάλα βραβεία συγκράτησης και επανεξέτασης.
2) Μοντέλο γεγονότος (ελάχιστο σύνολο)
json
{
"event_id": "d9e8-... -5c2", "event_name": "bet", "version": "1. 2. 0", "ts": "2025-10-24T11:37:21Z," "χρήστης": {
«i :» «» geo «:» TR «,» πλατφόρμα «:» android «,» : true «, « : [«vp _ nightly»]
}, «πλαίσιο»: {}
«session_id":» s_789, «» device_fp": «fp_...,» ip «:» 203. 0. 113. 24"
}, «ωφέλιμο φορτίο»: {}
"game_id": "slot_wolf," "στοίχημα": 0. 5, «win»: 1. 25, «νόμισμα»: «EUR», «πάροχος»: «GameCo»
}
}
Базовые: 'login', 'session _ start/en типы,' bet/spin ',' win ',' deposit ',' recaw _ request ',' kyc _ status _ changed ',' mission _ view/come/progress/comment ',' rg _ event '.
3) Κινητήρας κανόνων: πώς περιγράφεται η λογική
Έννοιες: κανόνες (αν/τότε), τμήματα, χρονικά παράθυρα, επιστόμια, προτεραιότητες, έκδοση.
Παράδειγμα δηλωτικού κανόνα (YAML style):yaml rule_id: r_points_winmult_v2 όταν:
: φίλτρα στοιχημάτων:
- ωφέλιμο φορτίο. στοίχημα> = 0. 2
- χρήστης. geo σε [«TR «, «BR»,» PE»]
- τώρα μεταξύ «2025-11-01» και «2025-11-30»
βαθμολογία:
τύπος: "δάπεδο ((ωφέλιμο φορτίο. νίκη/ωφέλιμο φορτίο. στοίχημα) 3) "
καλύμματα:
50 : 200 : 1500 :
:
κατώτατο όριο: [100, 300, 800]
ανταμοιβή: [{τύπος: "f , τιμή: 10}, {τύπος:" "τιμή: 2}, {τύπος:" loot ", σπανιότητα:" rare "}]
guardrails:
: 2 : αληθινή : « »
: 80000 meta:
έκδοση: "2. 0"
πείραμα: «scoring_ab_2025w45»
4) Webhooks: ενσωμάτωση εξυπηρετητή-εξυπηρετητή
4. 1. Εξερχόμενα webhooks (από εσάς στους παρόχους/πορτοφόλι)
Μέθοδος: 'POST https ://partner. παράδειγμα/πληρωμές "
: 'X-Υπογραφή: (μυστικό, σώμα)' + 'X-Request-Id' (ιδιοτέλεια).
Retrai: εκθετική backoff, 'max _ redries = 8', jitter, DLQ.
Ταυτότητα: επαναλάβετε το ίδιο «X-Request-Id» → ο εταίρος πρέπει να απαντήσει με το ίδιο «payout _ id/status».
Παράδειγμα ωφέλιμου φορτίου:json
{
«request_id": «rid_7f5...,» «user_id": «u_123,» «ανταμοιβή»: {«τύπος «: «μετρητά»,» ποσό»: 10. 00, «νόμισμα»:» EUR»}, «λόγος»: «milestone_300_points,» kyc_level": 2, «περιορισμοί «: {» στοιχηματισμός «: 0», «expiry_at": «2025-12-01T00: 00: 00Z»}
}
4. 2. Εισερχόμενα webhooks (σε εσάς)
Επιτρέπονται μόνο οι κατάλογοι IP/MTLS, ελέγχεται η διάρκεια ζωής του HMAC και της υπογραφής («X-Timestamp», ± 5 λεπτά).
Αποθηκεύεται το «ωμό» σώμα + κεφαλίδες στην Ελεγκτική Αποθήκη (WORM).
Οποιαδήποτε διπλή/επανάληψη → ελέγξτε το πλήκτρο ταυτότητας με το ημερολόγιο.
5) Αξιοπιστία: «άρτια» ροή χωρίς διπλές πληρωμές
Τουλάχιστον μία φορά για την κατάποση + idempotent χειριστές → το πρότυπο χρυσού.
Πλήκτρο idempotency: 'hash (event_id + user_id + rule_id)' για βαθμολόγηση; ξεχωριστό κλειδί για την έκδοση ανταμοιβής «ανταμοιβή _ task _ id».
Ακριβώς μία φορά η σημασιολογία είναι μόνο λογικά ρεαλιστική (μέσω της ιδεολογίας), όχι η μεταφορά.
Σειρά εκδηλώσεων: αποθήκευση 'event _ ts' και 'ingest _ t ; χρήση παραθύρου επαναταξινόμησης (για παράδειγμα, 60 δευτερόλεπτα) και επανάληψη από την ουρά από το πλήκτρο 'χρήστη _ id'.
Σειρά αναμονής νεκρών γραμμάτων (DLQ):- Γράφουμε εκεί μηνύματα με μόνιμο σφάλμα (το προσωρινό σύστημα δεν πέρασε, η υπογραφή είναι άκυρη, ο προϋπολογισμός είναι κλειστός).
- Υπηρεσία ανασκόπησης DLQ με πλήκτρα επανεπεξεργασίας/πτώσης/στερέωσης σχήματος.
6) Προϋπολογισμοί και προστασία περιθωρίου
Ομάδες προϋπολογισμού: 'nov _ season', 'daily _ sprin ,' vip _ weekend '.
Ποσοστώσεις: μαλακό/σκληρό ανώτατο όριο, «διακόπτης κυκλώματος» - όταν φτάνει το 90% του προϋπολογισμού, μεταφέρει μεγάλα βραβεία σε κατάσταση αναμονής.
Ενιαίο κόστος: «Κόστος Βραβείου & Μπόνους ανά Ενεργό/Πληρωμή», Καθαρή άνοδος.
Προτεραιότητες: Η RG και η συμμόρφωση είναι σημαντικότερες από την promo - σε περίπτωση σύγκρουσης, η ανταμοιβή αναβάλλεται.
Παράδειγμα ελέγχου του προϋπολογισμού (σχέδιο SQL):sql
ΕΠΙΛΕΓΕ pool_id, ΑΘΡΟΙΣΜΑ (ποσό) AS που δαπανήθηκε, όριο προϋπολογισμού AS, ΆΘΡΟΙΣΜΑ (ποσό )/πλήρωση προϋπολογισμού AS
ΑΠΟ ΤΟ reward_ledger
ΌΠΟΥ pool_id =: κοινοπραξία και ημερομηνία (t) = current_date
ΟΜΑΔΑ ΚΑΤΑ pool_id, προϋπολογισμός,
7) Πύλες RG/KYC/Geo (ασφάλεια και συμμόρφωση των παικτών)
KYC: L2 ελάχιστο για κρύπτες/μεγάλα βραβεία? Οι freespin ισχύουν με L1.
RG: έλεγχος των ορίων των καταθέσεων, αυτοαποκλεισμός, δροσερό → τα βραβεία παγώνουν έως ότου αρθούν οι περιορισμοί.
Geo: κατάλογος επιτρεπόμενων χωρών για κάθε κανόνα ανάθεσης/δεξαμενή.
Συναγερμοί κατωφλίου: απότομη ανάπτυξη «σχεδόν επιτυγχανόμενη» σε μεμονωμένους λογαριασμούς = λόγος διατήρησης και επανεξέτασης.
8) Κανόνες για την καταπολέμηση της απάτης και τηλεμετρία
Ανώτατα όρια σημείων με ρυθμό/λεπτό/ώρα/ημέρα, ελάχιστη διακύμανση στοιχημάτων, απαγόρευση «ιδανικών» προτύπων.
Τεχνικά σήματα: ακέφαλες, επαναλαμβανόμενες device_fp, υποκατηγορίες πληρεξουσίου.
Ανωμαλίες: «σημεία/στοιχήματα» και «σημεία/λεπτά» - μακριές «ουρές» στο 99 εκατοστημόριο.
Hold-and-review για κορυφαίους νικητές: αυτόματος έλεγχος KYC + χειροκίνητη αναθεώρηση.
9) Παρακολούθηση, μετρήσεις και προειδοποιήσεις
SLO/SLA:- Απορρόφηση p95 ≤ 250 ms. κανόνας επεξεργασίας p95 ≤ 150 ms· επικαιροποίηση του διοικητικού συμβουλίου ≤ 2 s· Έκδοση ανάθεσης ≤ 60 s.
- Σφάλμα προϋπολογισμού <0. 1% συμβάντα/ημέρα.
- SRM σε πειράματα (traffic skew), ανάπτυξη DLQ, πτώση υπογραφής επικύρωσης HMAC, υπέρβαση προϋπολογισμού, idempotent διπλή αύξηση.
- Γεγονότα/-α, υστέρηση, ανοχή βλάβης·
- Χωνί: γεγονός → κανόνας → reward_task → reward_issued
- Κόστος: Βραβείο/Πριμοδότηση ανά Ενεργό, Καθαρή Ανύψωση
- Ποιότητα: σημαίες απάτης, μπλοκ KYC, ενεργοποιήσεις RG.
10) Εκδόσεις και μεταναστεύσεις
Κάθε κανόνας έχει εκδοθεί ('κανόνες. έκδοση ").
Δεν μπορείτε να επεξεργαστείτε τον ενεργό κανόνα χωρίς νέα έκδοση. χρησιμοποιήστε το ficheflag και την «ομαλή θέρμανση» (10% → 50% → 100%).
Διάγραμμα γεγονότων μέσω μητρώου σχήματος· ασυμβίβαστες αλλαγές - σημαντική μόνο έκδοση.
11) Δοκιμές αυτοματοποίησης Α/Β (σύντομες)
Μονάδα - χρήστης· εμβολιασμός· διαστρωμάτωση (πληρωτής/γεω/πλατφόρμα).
Ξεχωριστοί πίνακες κεφαλών ή ομαλοποίηση σημείων για την εξάλειψη παρεμβολών.
Πρωτογενής: participation_net, ολοκλήρωση, καθαρή ARPPU. Guardrails: καταγγελίες/1k, σημαίες απάτης, συστήματα ενεργοποίησης της RG.
CUPED και συµµεταβλητές για τη µείωση της διακύµανσης.
12) Παραδείγματα: από κανόνα σε θέμα
12. 1. Ενεργοποίηση προόδου μικρής ανταμοιβής
json
{
"Τύπος": "reward_task. δημιουργήθηκε «,» reward_task_id": «rt_456,» «user_id":» u_123, «» καταγωγή «: {» κανόνας _ id «:» r _ points _ winmult _ v2 «,» κατώτατο όριο «: 300},» ανταμοιβή «: {» τύπος «:» bonus_cash, «ποσό»: 2, «νόμισμα»: «EUR», «στοιχηματισμός»: 15}, «pool_id":» nov_season, «» κατάσταση «:» εν αναμονή «,» created_at": «2025-10-24T11:38:30Z»
}
12. 2. Εξερχόμενο webhook για πορτοφόλι
POST/πορτοφόλι/πίστωση
X-Request-Id: rid_7f5...
X-Χρονοσφραγίδα: 1730061700
Υπογραφή X: sha256 = 7b9a...
{«user_id":"u_123,» «ποσό»: 2. 00, «νόμισμα»:» EUR», «λόγος «: «κανόνας: r _ points _ winmult _ v2»}
Επιτυχία → 'ανταμοιβή _ task' = 'επιτυχία' και γραφή στο 'ανταμοιβή _ ledger'.
Αποτυχία (5xx/timeout) → επανασυσκευασία με το ίδιο «X-Request-Id».
Dip (4xx) → DLQ + χειροκίνητη ανάλυση.
13) Θησαυροφυλάκια και πίνακες (σκίτσο)
sql
-- περιοδικό βραβείων
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ reward_ledger (
ΠΡΩΤΟΓΕΝΗΣ ΚΛΕΙΔΗ, ΚΕΙΜΕΝΟ ΜΟΝΑΔΙΚΟ, ΚΕΙΜΕΝΟ, ΚΕΙΜΕΝΟ, ΚΕΙΜΕΝΟ ΤΥΠΟΥ, ΑΡΙΘΜΗΤΙΚΟ ΤΙΜΟΥ (18,2), ΚΕΙΜΕΝΟ ΝΟΜΙΣΜΟΥ, ΑΡΙΘΜΟΣ ΜΟΥ ΚΟΣΤΟΥΣ ΩΝ (18,2) ΠΡΟΚΡΙΝΗ Η Η , -- Κ TZ, TIMESTAMPTZ
);
-- αδιαφορία
ΔΗΜΙΟΥΡΓΙΑ ΜΟΝΑΔΙΚΟΥ ΔΕΙΚΤΗ uniq_reward_task ΣΧΕΤΙΚΑ ΜΕ ΤΗΝ reward_ledger (reward_task_id)
-- προϋπολογισµός
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ reward_budget (
ΠΡΩΤΑΡΧΙΚΟ ΚΛΕΙΔΙ ΚΕΙΜΕΝΟΥ, ΑΡΙΘΜΗΤΙΚΟΣ ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ (18,2), δαπανάται NUMERIC (18,2), ΗΜΕΡΟΜΗΝΙΑ
);
14) Ασφάλεια και ιδιωτικότητα
Υπογραφές HMAC, MTLS, επιτρέπονται IP.
Κρυπτογράφηση κατά τη διαμετακόμιση/ανάπαυση, περιστροφή κλειδιού, μυστικά στο θησαυροφυλάκιο.
Ελαχιστοποίηση των δεδομένων σε ωφέλιμο φορτίο (PII ξεχωριστά, με συμβολική σύνδεση, TTL).
Αρχεία ελέγχου αμετάβλητα (WORM).
Πολιτική διατήρησης και διάθεσης (δικαίωμα στη λήθη, ασφάλεια της αφαίρεσης).
15) Κατάλογος ελέγχου εκτόξευσης
- Σχήματα γεγονότων και μητρώο, συμβάσεις webhook (υπογραφές, TTL).
- Ουρές αναμονής, retrays, DLQ, idempotent handlers.
- caps/guardrails στους κανόνες, πύλες KYC/RG.
- Ομάδες προϋπολογισμού, διακόπτες κυκλωμάτων, συναγερμοί υπερχείλισης.
- Ταμπλό SLO + χοάνη ανταμοιβής.
- Φίλτρα Α/Β και παρακολούθηση ΕΥΚ.
- Εγχειρίδιο περιστατικών (επανάληψη, πάγωμα, χειρωνακτική έκδοση).
16) Mini Case (συνθετικό)
συνδεδεμένα γεγονότα από παρόχους παιχνιδιών και πορτοφόλι· συμπεριλαμβάνεται η βαθμολογία «win/bet» με τους φρουρούς του στόματος.
Οι Webhooks υπέγραψαν HMAC, retrays έως 8 απόπειρες, DLQ με αναθεώρηση κάθε 2 ώρες.
Για 4 εβδομάδες: επεξεργασία της υστέρησης p95 180 ms. DLQ <0,06%· διπλές πληρωμές 0· Σημαίες απάτης − 0. 4 εκατοστιαίες μονάδες· + 6,3 . п.; ΔARPPU (καθαρό) Βραβείο & Πριμοδότηση/Ενεργός .
Συμπέρασμα: κλιμάκωση των κανόνων σε νέες γεωεπισκοπήσεις με κοινοπραξίες τοπικών προϋπολογισμών.
Η αυτόματη ανταμοιβή δεν είναι "αποστολή ώθησης με ελεύθερες καρφίτσες. "Πρόκειται για ένα μηχανικό σύστημα: αξιόπιστη παράδοση γεγονότων, αυστηρή έκδοση κανόνων, ιδεατότητα και υπογραφές, ιδιώτες του προϋπολογισμού, πύλες KYC/RG, καταπολέμηση της απάτης και παρακολούθηση. Οικοδόμηση αυτού του πλαισίου μια μέρα - και κάθε αποστολή, τουρνουά και «στιγμές λεηλασίας» θα λειτουργήσει προβλέψιμα, εγκαίρως και με θετικό καθαρό αποτέλεσμα.