Logo GH

GambleHub集成指南

1)瀏覽和交互模型

GambleHub是iGaming服務(遊戲提供商,支付網關,KYC/AML,獎勵引擎,報告)的聚合平臺。合作夥伴集成可以通過兩種模式進行:
  • API提供商:您調用GambleHub API(錢包、獎金、報告)。
  • 外部供應商:我們調用您的webhook/enpoints(資產負債表、交易、KYC)。
級別:

1.Edge/API (REST/gRPC, Webhooks)

2.事件(活動巴士:費率/付款/錢包/CUS)

3.報告(API+導出S3/SFTP)

4.運營(事件,SLO,SLA貸款)

2)環境、域和IP

星期三API基地Webhuki(來自我們)我們的出站IPSLA
Sandbox`https://sandbox.api.gamblehub.io`「https://<您的域>/webhooks/……」`203.0.113.10/31`best-effort
Staging`https://staging.api.gamblehub.io`如上所述`198.51.100.40/29`99.5%
Production`https://api.gamblehub.io`如上所述`192.0.2.16/28`99.9%

合同SLA記錄在合同中。IP更新會提前發布。允許Allowlist。

3)認證和授權

支持三種機制(選擇合同要求的機制):
  • OAuth2 Client Credentials:服務器對服務器('scope'--"wallet: read", 'wallet: write", 'bet: write", 'report: read")。
  • JWT(issuer=GambleHub):標題,j RS256 WKS端點中的密鑰。
  • mTLS:相互的TLS身份驗證,在無損級別上(應合規要求)。
獲得令牌(OAuth2)的示例:

POST /oauth2/token grant_type=client_credentials&scope=wallet:write bet:write
→ { "access_token": "...", "token_type": "Bearer", "expires_in": 3600 }

每次呼叫都會檢查Scopes。對於高風險操作(付款),使用步進式:單獨的scope,以及可選的IP/ASN綁定。

4)轉化與兼容性

路徑:'/v1/……','/v2/……'(主要版本向後不兼容)。
次要和擴展更改-通過電路擴展(新的可選字段)。
撤銷-在90天內通知。
Webhooks的標題是「X-GH-Ivent-Version:1」。

5)限制,配額和平均水平

Rate limits的標題是:
  • `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`.
  • 429返回「Retry-After」(秒)。
  • 所有不安全的方法都需要「Idempotency-Key」(TTL 24-72小時)。重復相同的查詢將返回原始結果(沖突時為'409 IDEMP_REPLAY')。

6)錯誤標準

單個RFC 7807格式(「application/problem+json」):
json
{
"type": "https://docs. gamblehub. io/errors/validation_failed",
"title": "Validation failed",
"status": 422,
"error_code": "VAL_001",
"trace_id": "a1b2c3...",
"retriable": false,
"errors": [{"field":"amount","code":"min","message":"Must be >= 1"}]
}

Retriable: 5xx/503/504/429 (с `Retry-After`).Non-retriable: 400/401/403/404/409/422/410/415/412.

7)數據方案(內核)

7.1名玩家

json
{
"player_id": "p_123",
"country": "CA",
"currency": "CAD",
"rg_flags": {"self_excluded": false, "limits": {"daily_loss": 100}},
"kyc_status": "verified    pending    failed"
}

7.2屆會議

json
{
"session_id": "s_789",
"player_id": "p_123",
"started_at": "2025-11-03T17:55:00Z",
"ip": "203. 0. 113. 5",
"device": {"ua":"...", "os":"Android", "model":"..."}
}

7.3錢包/交易

json
{
"txn_id": "t_001",
"player_id": "p_123",
"type": "deposit    withdrawal    bet    win    bonus    adjustment",
"amount": "12. 34",
"currency": "EUR",
"balance_after": "123. 45",
"metadata": {"provider":"psp_x","request_id":"r_456"}
}

7.4費率/付款

json
{
"bet_id": "b_456",
"player_id": "p_123",
"game_id": "g_777",
"stake": "1. 50",
"currency": "EUR",
"placed_at": "2025-11-03T17:58:10Z",
"round_id": "rnd_aa1",
"provider": "StudioX"
}
json
{
"settlement_id": "st_456",
"bet_id": "b_456",
"win_amount": "3. 75",
"settled_at": "2025-11-03T17:59:02Z",
"outcome": "win    lose    void"
}

7.5獎金

json
{
"bonus_id": "bo_900",
"player_id": "p_123",
"type": "freespin    cash    wagered",
"state": "issued    active    expired    consumed",
"wagering": {"target": "100. 00","progress":"45. 20","currency":"EUR"}
}

8)REST API(OpenAPI片段)

yaml paths:
/v1/wallet/balance/{player_id}:
get:
summary: Get wallet balance security: [{ oauth2: [wallet:read] }]
responses:
'200': { description: OK }
'401': { $ref: '#/components/responses/Problem' }
'404': { $ref: '#/components/responses/Problem' }

/v1/wallet/transactions:
post:
summary: Create wallet transaction security: [{ oauth2: [wallet:write] }]
parameters:
- name: Idempotency-Key in: header required: true schema: { type: string }
responses:
'201': { description: Created }
'409': { $ref: '#/components/responses/Problem' }
'422': { $ref: '#/components/responses/Problem' }

/v1/bets:
post:
summary: Register bet security: [{ oauth2: [bet:write] }]
responses:
'201': { description: Created }
'422': { $ref: '#/components/responses/Problem' }

9)Webhooks(從GambleHub到合作夥伴)

事件按以下順序發送:「Content-Type: application/json」標題:
  • `X-GH-Event`: `player.created|session.started|bet.placed|bet.settled|wallet.changed|kyc.updated|rg.flagged`
  • 「X-GH-Ivent-Id」:獨特的UUID
  • `X-GH-Signature`: `sha256=`
  • 「X-GH-Retry」:嘗試No
  • `X-GH-Event-Version`: `1`

示例'bet。settled`:

json
{
"event": "bet. settled",
"occurred_at": "2025-11-03T18:00:12Z",
"data": {
"settlement_id": "st_456",
"bet_id": "b_456",
"player_id": "p_123",
"win_amount": "3. 75",
"currency": "EUR",
"outcome": "win"
}
}

主機響應-只有2xx被認為是成功的。否則-retrai:指數後端(1 s,3 s,10 s,30 s,2 m,10 m,30 m;最多24小時)。要重復數據消除,請使用「X-GH-Invent-Id」。

簽名驗證(偽版):
text expected = base64(hmac_sha256(request_body, SHARED_SECRET))
header  = split(X-GH-Signature, '=')[1]
assert header == expected

10)現金流量順序(錢包流)

1.deposit (PSP → wallet.credit)

2.bet (hold/authorize или direct debit)

3.settlement (release hold; `win`/`lose`/`void`)

4.withdrawal (wallet.debit → PSP)

支持固定資產負債表和多錢包(真實/獎金)。

11)沙盒和測試場景

測試玩家:「p_sbx_」,貨幣為「EUR」 USD 「CAD」。
遊戲提供商模擬:win/lose/void,折扣,延遲。
KYC sandbox:對護照模板的「驗證」失敗的「評論」的回應。

PSP sandbox: статусы `authorized|captured|declined|reversed`.

強制性測試案例集:
  • Stavka→vyplata→sverka資產負債表
  • 回滾/void回合
  • 重復投註時的Idempotency
  • 通過轉發和隨後的重復數據消除來運行webhook
  • 429和正確的「Retry-After」
  • 5xx在客戶端具有指數後端

12)核對和報告

Reconciliation API

yaml
GET /v1/reports/reconciliation? from=...&to=...&scope=wallet    bets
→ CSV/JSON: { player_id, bet_id, stake, win, currency, balance_delta, provider }

每日摘要:營業額,GGR/NGP,提供商,地理/貨幣削減。
導出:帶有簽名清單和文件哈希的S3/SFTP (SHA 256)。
報告時間:UTC(除非合同另有規定)。

13)可觀察性和SLO

SLI: API ≥ 99的成功。95% (28d), p95 latency用於關鍵技術,成功交付webhook。
Burn-alerts(快速/慢),預算錯誤。
跟蹤相關性:答案/邏輯中的「trace_id」,drilldown到軌道。
狀態頁面:Edge、Wallet、Bets、Webhooks、PSP、KYC組件。

14)安全和合規性

PII最小化;禁用PAN/博客/網絡中的秘密。
秘密管理和密鑰輪換。
RG (Responsible Gambling):自我排序/限制標誌應導致自動拒絕利率/付款。
AML/KYC:kyc事件。updated`, `aml.警告"可通過訂閱獲得;在您的系統中或通過我們的模塊做出決定。
GDPR/DSAR:根據法律要求卸載/刪除玩家個人數據的終端。
mTLS和HSTS默認包含在prod環境中。

15)生產力和配額

推薦的合作夥伴預算(默認值):
  • RPS: 50 (burst 100)
  • Concurrent webhooks: 10
  • 體型:≤ 256 KB(遊戲賽事),≤ 64 KB(錢包)

通過帳戶經理請求計劃升級,指定RPS/卷預測。

16)變更和發行管理

Change windows:計劃工作-按計劃,通知≥ 5個工作日。
Version migration:過渡時期的雙寫作/雙讀。
CI中的合同測試:JSON電路,強制字段,穩定的「error_code」。
金絲雀:逐步納入流量以適應新的景象。

17)集成認證(檢查列表)

功能性:
  • 註冊費率/付款/void
  • 所有write-enpoint的冪等
  • 正確處理429/5xx+backoff
  • Webhook簽名驗證、「X-GH-Invent-Id」重復數據消除'
  • 在一系列事件之後核對資產負債表(win/lose)
  • reconciliation報告與您的數據趨同
可靠性:
  • webhook retrai實現
  • 客戶Taymauts ≤ 10 c,一般嘗試≤ 30 c
  • 成癮巡回賽決勝局
安全/合規性:
  • 秘密管理器中的秘密
  • Logs中的PII修訂版
  • RG/AML標誌實時計入

18)常用腳本

18.1以等效性註冊投註


POST /v1/bets
Idempotency-Key: bet-p_123-rnd_aa1-1

{ "player_id":"p_123","game_id":"g_777","stake":"1. 50","currency":"EUR","round_id":"rnd_aa1" }
→ 201 Created { "bet_id":"b_456" }

18.2 Fail webhook,隨後成功

1.5 xx →後端→服務器不可用。
2.恢復後-接受相同的「X-GH-Ivent-Id」 →必須忽略重復。

18.3部分供應商降解

我們將返回503;與backoff重復。
長期降解-提供商的停止標記和智能路由插件(如果合同中有)。

19) DevEx和支持

門戶:keys, usage, webhooks,交付日誌,SLO dashboards,導出報告。
Webhooks replay: 按日期/ID範圍重新交付。
事件:自動創建tiket,戰爭室,驗屍室≤ SEV-1 48小時。
通訊:#partners-status頻道/呼叫郵件24 × 7(企業)。

20)劃船計劃(2-4周)

1.第1周:發行鑰匙,sandbox連接,基本方案(投註/付款/錢包)。
2.第二周:webhooks和對賬,RG/KYC標誌,負載測試,429/5xx行為。
3.第3周:報告(重組,卸載),安全(簽名,保密),合同測試。
4.第4周:認證,金絲雀包括在銷售中,監視,接觸矩陣。

21) Mini-FAQ

gRPC可以嗎?
是的,應要求;規格中提供了對HTTP錯誤代碼的映射。

如何獲取復古數據?

通過「reconciliation」報告(「from/to」日期)或卸載S3/SFTP。

如何提高限制?
通過門戶/帳戶管理器指示預測的RPS/競爭力。

什麼是平衡真理的來源?
交易錢包雜誌GambleHub+每日對賬(reconciliation)。

底線

與GambleHub的集成建立在一個明確的合同基礎上:穩定的API和電路,簽名的webhooks,等效性和轉發,透明的限制和報告以及安全和合規性要求。按照本指南和認證單,您將通過提供可靠的現金流量和一致的報表而迅速進入計劃。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

Telegram
@Gamble_GC
開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。