GH GambleHub

API分析和指标

1)为什么单独的API层

KPI的统一真理:我们排除"SQL"动物园。
产品速度:前端、合作伙伴面板、移动客户无需直接访问DWH即可接收设备。
安全性和合规性:标记化,掩码,地理限制,RG/AML过滤器。
缩放:缓存、预渲染器、CDN、稳定合同。

2)分类法: 度量,测量,事实

事实:投注,获胜,存款,KYC事件,RG干预。
测量:日期/时间(日历),游戏/提供商,品牌/国家/地区,频道/恶作剧,玩家(代币)。
度量标准:GGR,NGR/NET,ARPPU,D1/D7/D30保留,存款频率,反亲和力,RG风险。
单位:货币(FX),时间(TZ),体积/计数器(idempotent!)。
KPI语义:BI合同中的定义,KPI版本是固定的。

3)API合同(数据和BI合同)

Schema: 字段,类型,nullable, enum,单位,货币.

语义指标: 公式,源,聚合窗口,过滤器.

兼容性(SEMVER): MAJOR断裂,MINOR添加字段,PATCH固定。
DQ/SLA:新鲜,完整,一致性,差异公差。
隐私:"pii:false","tokenized:true",禁止排毒。

示例(片段):
yaml api: analytics. v2 resource: /metrics/revenue kpi: GGR schema_version: 2. 1. 0 dimensions: [date, brand, country, provider, game]
metrics: [ggr, stakes, wins, bets_count]
sla: {freshness: PT15M, completeness: ">=99. 9%"}
privacy: {pii: false, tokenized: true}

4)体系结构

Query API(在"gold"/cubs/fichestor之上的在线聚合)。
Precompute API(时间表预渲染,材料化视图)。
事件API(流计数器/信号)。
Export API(签名的上载,用于审核的WORM)。
缓存:多层(内存→ Redis → CDN),键=请求哈希+版本。
一致性:阅读你的写作的最终记录,SLA新鲜的集合。

5)接口和查询

5.1过滤器/聚合/窗口

"过滤器":日期范围("from/to" UTC,timezone aware),国家/地区,品牌,游戏,频道,设备。
'group_by':测量。
"metrics":KPI列表。

`window`: `DAY|WEEK|MONTH|ROLLING_7D|ROLLING_28D`.

'currency':'reporting' native',FX策略:'eod'intraday'txn'。
"sampling":对于重请求(仅在允许的情况下)。

5.2查询示例

json
POST /v2/metrics/revenue
{
"range": {"from":"2025-10-01","to":"2025-10-31","tz":"Europe/Kyiv"},
"group_by": ["date","brand","country"],
"metrics": ["ggr","bets_count","net_revenue"],
"filters": {"country":["EE","LT","LV"],"brand":["alpha","beta"]},
"currency": "reporting",
"window": "DAY"
}

5.3响应示例

json
{
"schema_version":"2. 1. 0",
"kpi_definitions":["ggr@1. 7. 0","net_revenue@1. 3. 2"],
"range":{"from":"2025-10-01","to":"2025-10-31","tz":"Europe/Kyiv"},
"data":[
{"date":"2025-10-01","brand":"alpha","country":"EE","ggr":12450. 72,"bets_count":182342,"net_revenue":10732. 11},
{"date":"2025-10-01","brand":"beta","country":"EE","ggr":...}
],
"fx":{"strategy":"eod","rate_date":"2025-10-31"},
"dq":{"freshness_sec":420,"completeness":0. 9992},
"trace_id":"3d1a-...-c79"
}

6)分离,限制,分类

分割:"limit"(≤10k),"cursor"(opaque),按测量/日期排序。
时间/部分:仅针对非金融KPI的部分响应;金融-P200或P504。
利率限制:全局/按键/按特南特;答案包含"X-RateLimit-"。

7)相似性和缓存

带有"Idempotency-Key"的偶发GET/POST阅读(带身体)。
缓存键=哈希(选项+模式版本+角色/tenant/geo)。
TTL:依赖KPI(例如,"PT 15 M"用于复制,"PT5M"用于事件),重置为新的快照。

8)一致性和时间货币

回顾性报告(数据版本)的时间旅行标志。
切断规则(白天/周结束)。
FX:记录策略,回复中的课程日期。
时钟:所有时钟都是ISO-8601,TZ指示是必需的。

9)安全和隐私

mTLS/TLS1.3、HMAC签名请求/响应主体(MITM/replay保护)。
RBAC/ABAC/ReBAC:角色+国家/地区+品牌+目标;默认掩码。
多范围(multi-tenant):隔离电路/键/配额。
身份标记化;在答复中禁止PII。
审计:不可更改的查询逻辑(WORM),"trace_id"/"actor"/"purpose"。
Consent/DSAR:营销属性的过滤器;标志"主体已取消"。

10) RG/AML/Antifrod限制

RG政策:禁止为高风险细分市场发布"激进"指标;装置是安全的。
AML/Antifrod:对敏感的KPI的访问有限,按角色划分;单独的调查终端。
Explainability:札幌的KPI/信号解释词典。

11)可观察性和SLO API

SLO: p95 latency(例如,高速缓存命中≤ 300毫秒;重量为≤ 2 c),成功率≥ 99。5%.

DQ:新鲜/完整/完整性;答桉中的标签。
使用:QPS,高速缓存,热键,验证错误。
Alerts:新鲜度降解,4xx/5xx生长,KPI异常(未排除的zeros/peaks)。
跟踪:"trace_id"直通到DWH/fichestor。

12)转化与兼容性

路径:'/v1','/v2';带有迁移窗口的递解。
模式:答案中的"schema_version";MAJOR →双读,迁移海德。
KPI版本:在目录引用的"kpi_definitions"响应中;禁止对公式进行隐藏更改。

13)错误和状态

'400'验证(不存在的度量/测量/过滤器组合)。
"401/403"身份验证/授权。
"409"版本不兼容/策略。
"422"侵犯隐私/同意。
"429"配额。

"5xx"平台故障(trace_id和retry-i.).

错误格式:
json
{
"error":"VALIDATION_FAILED",
"message":"Unknown metric: ngrx",
"hint":"metrics allowed: ggr, net_revenue,...",
"trace_id":"..."
}

14)集成和接口

BI:预先描述的半模型,连接器(Looker/Power BI/Tableau)→ API作为源。
ML: Fich聚合物的轻量级终结(点对点时间,没有PII)。
合作伙伴:有限密钥/配额,地理过滤器,仅通过聚合单元报告。
Webhook/Push:"snapshot goot"符号化,"SLO/KPI范围中断"。

15)资源结束的例子

15.1收入/收益

"POST/v2/metrics/revenue" → GGR/NGR,投注/获胜,按"日期,品牌,国家,提供者,游戏"衡量。

15.2保持和漏斗

`POST /v2/metrics/retention` → когорты D1/D7/D30, `group_by=[cohort_week, brand, country]`.

15.3付款

"POST/v2/metrics/payments" →存款/结算,平均支票,收费率。

15.4 Responsible Gaming

"POST/v2/metrics/rg" →干预次数,高风险比例,平均反应时间。

15.5 Antifrod

"POST/v2/metrics/antifraud" → FPR/TPR,案例,防止丢失。

16)测试和质量

合同测试:enum/nullable/类型,货币/时区一致性。
DQ测试:控制范围、单调性和完整性。
倒退:根据tolerans比较v1/v2。
负载:峰值配置文件(锦标赛/提供商)。
安全性:签名,反重播,fuzzing查询,Zero-PII在日志中。

17)默认隐私性

具有"最低N记录"阈值的单元(k匿名)。
没有raw ID;仅限令牌/类别。
DSAR:用于通过特权环路通过令牌卸载/卸载的API。

18)成功指标(KPI API)

Adoption:使用API而非直接SQL的报告/小部件的比例。
一致性:BI和API ≤公差之间的差异。
SLO:遵守latency/success/freshness。
安全:响应/逻辑中的零PII实例。
成本:高速缓存的命中率,请求成本,预渲染器的百分比。

19) RACI(示例)

产品/分析(A)-KPI定义、需求。
数据平台(R)-实现,缓存,SLA,观察能力。
域所有者(R)-来源/合同。
安全/DPO(A/R)-隐私,可用性,审核。
SRE(R)-配额,汽车轨道,事件。
财务(C)是GGR/NGR/NET的财务语义。

20)实施路线图

0-30天(MVP)

1.选择3-5 KPI (GGR、存款、D7保留)。
2.描述合同和KPI语义;启用DQ/SLA。
3.实现'/v1' Query API+缓存+mTLS/HMAC。
4.SLO(latency/success/freshness),审计/trace_id。

30-90天

1.流行店面的预渲染(Precompute),CDN缓存。
2.转化"/v2",双读,迁移海德。
3.导出带有签名上载和WORM的API。
4.与BI/ML的集成;配额/tenant/地理隔离器。

3-6个月

1.完整的KPI分类法和小部件库。
2.智能提示/自动滤波器,linter查询。
3.自动发行注释KPI,tolerans v1/v2控制。
4.具有有限密钥和RG策略的外部合作伙伴环路。

21)反模式

KPI公式的隐藏更改,没有新版本和发行说明。
回收PII/原材料而不是单元/令牌。
缺乏缓存/预渲染器→昂贵且缓慢。
硬绑定到特定的DB(没有图层抽象)。
不一致的TZ/FX →不可比数字。
"DDOS自己的"→没有等级限制/配额。

22)模板(准备使用)

22.1 SLO API策略(片段)

yaml api: analytics. v2 slo:
p95_latency_ms: 300 success_rate: 0. 995 freshness_sec_max: 900 quotas:
per_key_qps: 50 burst: 200 privacy:
min_group_size: 25 pii_in_response: false

22.2个OpenAPI(片段)

yaml paths:
/v2/metrics/revenue:
post:
requestBody:
content:
application/json:
schema: {$ref: '#/components/schemas/RevenueQuery'}
responses:
'200': {description: 'OK', content: {application/json: {schema: {$ref:'#/components/schemas/RevenueResponse'}}}}
'422': {description:'Privacy/Consent violation'}

22.3张发行支票清单

  • 更新了KPI语义并升级了版本
  • 目录中的合同/计划;DQ/回归测试绿色
  • 缓存密钥/TTL、预渲染器配置
  • 文件和请求/答复实例
  • Alerta的SLO和配额包括
  • RG/AML限制验证

23)相关部分

DataOps实践,审核和验证,安全和加密,访问控制,数据令牌化,存储策略,数据来源和路径,MLOps:模型操作,数据伦理。

底线

分析和度量API是对"黄金"数据和KPI的合同,安全和快速访问层。它保证了单一语义,稳定版本,默认隐私和产品级性能-从内部行车记录仪到合作伙伴面板和ML。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

Telegram
@Gamble_GC
开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。