Перейти до основного вмісту

Players

Translator note: machine-translated baseline. Needs human review by a native UK speaker. EN source is canonical.

Player — це один casino акаунт. casinocrm.io's player CDP обробляє identity merge, anonymous-to-identified promotion, multi-wallet, KYC + responsible-gaming state, і обчислені lifetime totals.

Ідентифікатори

Гравець може мати кілька ідентифікаторів — casinocrm.io resolve-ить ту саму особу через сигнали:

ІдентифікаторКоли з'являється
external_idВнутрішній player id казино. Надсилається на кожній події.
emailВстановлено під час реєстрації / через /identify
phoneE.164 — Twilio + Telegram вимагають це
telegram_idTelegram bot інтеграція
anonymous_ids[]Pre-signup tracking (web, mobile SDK)

Плюс 0..N wallets в player_wallets (network + address — використовується crypto-heavy операторами як сильний identity signal).

Identity merge

Коли надходить /identify, casinocrm.io:

  1. Шукає кандидатів по external_id → email → phone → telegram_id → wallet (у priority order)
  2. Якщо рівно один кандидат → merge traits + append anonymous_id
  3. Якщо нуль кандидатів → створює нового гравця
  4. Якщо 2+ кандидатів із конфліктними traits → позначає status conflict для admin resolution

Повний алгоритм задокументовано в POST /v1/players/identify.

Обчислені totals

stream-processor підтримує real-time totals на players row:

  • total_deposited (BIGINT subunit, у base валюті tenant)
  • total_withdrawn
  • total_wagered
  • total_won
  • ggr = wagered − won
  • bet_count, session_count
  • last_bet_at, last_deposit_at, last_seen_at

Денонімовані в base валюті tenant з FX заблокованим у event time (див. Multi-currency).

Status

active — нормальний гравець
self_excluded — RG-blocked (CRM ніколи не надсилає, незалежно від platform support)
banned — operator-banned
deleted — soft-deleted (deleted_at IS NOT NULL)
conflict — identity merge знайшов 2+ кандидатів → admin reviews

Player profile

Відкрийте гравця з Players → клацніть row. Detail page показує:

  • Identity strip: external_id + status pill + tier badge
  • AI summary placeholder (Phase 3 LLM-driven)
  • Predictive cards: lifetime value (sparkline), churn score, engagement
  • Identity таблиця: emails / phones / wallets / anon ids
  • Money & activity: deposits / wagered / GGR (у tenant base + native wallet валюті)
  • Segment memberships
  • Bonus grants
  • Messages timeline (останні 25)
  • Event timeline (останні 50)
  • Tier badge + history

Permissions

Player rows завжди tenant-scoped через RLS. Cross-tenant lookups вимагають SECURITY DEFINER helpers (використовується тільки webhook routing — ніколи не повертає sensitive payload).