Logo GH

GambleHub 통합 가이드

1) 개요 및 상호 작용 모델

GambleHub는 iGaming 서비스 (게임 제공 업체, 결제 게이트웨이, KYC/AML, 보너스 엔진, 보고서) 를위한 집계 플랫폼입니다. 파트너 통합은 두 가지 모드로 가능합니다

API 제공 업체: GambleHub API (지갑, 보너스, 보고서) 라고합니다.
외부 제공 업체: 웹 후크/엔드 포인트 (잔액, 거래, KYC) 라고합니다.

레벨:

1. 가장자리/API (REST/gRPC, 웹 후크)

2. 이벤트 (이벤트 버스: 베팅/지불/지갑/ICC)

3. 보고 (API + S3/STP 내보내기)

4. 운영 (사고, SLO, SLA 크레딧)

2) 환경, 도메인 및 IP

수요일API베이스웹 후크 (우리에게서)우리의 아웃 바운드 IPSLA
샌드 박스'https ://sandbox. 아피. mble 블 허브. 요오 ''https ://< you _ domain >/webhooks/... '`203. 0. 113. 10/31`최선의 노력
준비'https ://staging. 아피. mble 블 허브. 요오 '위와 같이`198. 51. 100. 40/29`99. 5%
생산'https ://api. mble 블 허브. 요오 '위와 같이`192. 0. 2. 16/28`99. 9%

계약 SLA는 계약에서 수정됩니다. IP 업데이트는 사전에 게시됩니다. 할당량 목록을 허용하십시오

3) 인증 및 인증

우리는 세 가지 메커니즘을 지원합니다 (계약에 필요한 메커니즘을 선택)

OAuth2 클라이언트 자격 증명: 서버 간 서버 ('범위': '지갑: 읽기', '지갑: 쓰기', '내기: 쓰기', '보고서: 읽기').
JWT (issuer = GambleHub): RS256 서명, JWKS 엔드 포인트의 키.
mSL: 입력 레벨에서의 상호 SL 인증 (규정 준수 요청).

토큰 획득 예 (OAuth2):

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

스코프는 각 통화에서 확인됩니다. 고위험 운영 (지불) 의 경우 별도의 범위와 선택적으로 IP/ASN에 구속력있는 스텝 업이 사용됩니다.

4) 수정 및 호환성

경로: '/v1/... ', '/v2/...' (주요 버전은 호환되지 않습니다).
체계의 확장 (새로운 옵션 필드) 을 통해 약간의 변경 및 확장.
감소-통지 90 일.
웹 후크에는 제목 'X-GH-Event-Version: 1' 이 있습니다.

5) 한계, 할당량 및 demmpotency

속도 제한은 헤더에 의해 제공됩니다

'X-RateLimit-Limit', 'X-RateLimit-Remaining', 'X-RateLimit-Reatting'.
429는 'Redue-After' (초) 로 반환됩니다.
모든 안전하지 않은 방법에는 'Idempotency-Key' (TTL 24-72 h) 가 필요합니다. 동일한 쿼리를 반복하면 원래 결과 (충돌시 '409 IDEMP _ REPLAY') 가 반환됩니다.

6) 오류 표준

통합 RFC 7807 형식 ('응용 프로그램/문제 + 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"}]
}

검색 가능: 5xx/503/504/429 ('Redch-After'). 검색 불가: 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) 웹 후크 (GambleHub to Partner)

이벤트는 '컨텐츠 유형: 응용 프로그램/json', 헤더 순서대로 발송됩니다

'X-GH 이벤트': '플레이어. 세션을 만들었습니다. 내기를 시작했습니다. 배치. 정착 된 지갑. 'kyc. 업데이트 된 'rg. 깃발 '

'X-GH-Event-ID': 고유 한 UUI

'X-GH-Signature': 'sha256 = '

'X-GH 재시도': 시도 없음

'X-GH 이벤트 버전': '1'

'bet. 정착' 예:
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, 3, 10, 30, 2m, 10m, 30m; 최대 24 시간). 중복 제거를 위해 'X-GH-Event-ID' 를 사용하십시오.

서명 확인 (의사):
text expected = base64(hmac_sha256(request_body, SHARED_SECRET))
header  = split(X-GH-Signature, '=')[1]
assert header == expected

10) 현금 흐름 순서 (지갑 흐름)

1. 예금 (PSP → 지갑. 신용)

2. 내기 (и독점 자동 이체 보유/승인)

3. 결제 (릴리스 보류; '승리 '/' 잃어버린 '/' 공허')

4. 철수 (지갑. 직불 → PSP)

홀드 밸런스와 멀티 월렛 (실제/보너스) 이 지원됩니다.

11) 샌드 박스 및 테스트 시나리오

테스트 플레이어: 'p _ sbx _', 통화 'EUR' USD 'CAD'.
게임 제공 업체는 승리/손실/무효, 할인, 지연을 모방합니다.
KYC 샌드 박스: 여권 템플릿에서 '확인 된' 실패 '검토' 응답.
PSP 샌드 박스: стат계정 '승인 된' 캡처 된 '반전'.

필수 테스트 사례 세트:
  • 밸런스 시트 Stavka → vyplata → sverka
  • 풀백/보이드 라운드
  • 재 입찰시 이념성
  • 배설물 및 후속 중복 제거로 웹 후크 실패
  • 429 및 정확한 '재생 후'
  • 클라이언트 측 지수 백오프가있는 5xx

12) 조정 및보고

조정 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 (SH256).
보고 시간대: UTC (계약서에 달리 명시되지 않는 한).

13) 관찰 및 SLO

SLI: API의 성공 95% (28d), 중요한 방법에 대한 p95 대기 시간, 웹 후크 전달 성공.
잘못된 예산으로 번 알림 (빠른/느린).
추적 상관 관계: 응답/로그에서 'trace _ id', 추적으로 드릴 다운.
상태 페이지: Edge, Wallet, Bets, Webhooks, PSP, KYC 구성 요소.

14) 안전 및 준수

PII 최소화; 로그/웹 후크에서는 PAN/비밀이 금지됩니다.
비밀 관리 및 키 교체.
RG (Responsible Gambling): 자체 제외/제한 플래그는 베팅/지불을 자동으로 거부해야합니다.
AML/KYC: 'kyc' 이벤트. ',' aml 업데이트되었습니다. 경고 '는 구독으로 제공됩니다. 시스템이나 모듈을 통해 결정을 내립니다.
GDPR/DSAR: 법적 요청을 위해 플레이어의 개인 데이터를 업로드/삭제하기위한 종점입니다.
mTLS 및 HSTS는 기본적으로 생산 환경에서 활성화됩니다.

15) 성능 및 할당량

파트너 당 권장 예산 (기본값):
  • RPS: 50 (버스트 100)
  • 동시 웹 후크: 10
바디 크기:
  • RPS 예측/볼륨을 지정하여 계정 관리자를 통해 계획 업그레이드를 요청하십시오.

16) 변경 및 릴리스 관리

창 변경: 예약 된 작업-일정에 따라 알림 5 일 이상 영업일.
버전 마이그레이션: 전환 기간 동안 이중 쓰기/이중 읽기.
CI 계약 테스트: JSON 스키마, 필요한 필드, 안정적인 '오류 _ 코드'.
카나리아: 새로운 기능에 대한 트래픽의 점진적인 포함.

17) 통합 인증 (체크리스트)

기능:
  • 입찰/지불 등록/무효
  • 모든 쓰기 끝점에 대한 이념성
  • 수정 429/5xx + 백오프 처리
  • 웹후크 시그니처 검증, X-GH-Event-ID 중복 제거
  • 일련의 이벤트 후 균형 조정 (승리/손실)
  • 조정 보고서는 귀하의 데이터에 동의합니다
신뢰성:
  • 웹훅 퇴각이 구현됩니다
  • 클라이언트 타임 아웃
  • 종속성에 대한 회로 차단기
보안/준수:
  • 비밀 관리자에 비밀 보관
  • 통나무의 PII 판
  • RG/AML 플래그는 실시간으로 고려됩니다

18) 자주 사용되는 시나리오

18. dempotency를 사용한 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 실패한 웹 후크 다음 성공

1. 서버를 사용할 수 없습니다 → 5xx → 백오프 복고풍.
2. 복구 후-동일한 'X-GH-Event-ID' → 복제본을 무시해야합니다.

18. 3 공급자의 부분 저하

503을 환불합니다. 백오프로 반복하십시오.
성능 저하가 길면 공급자의 표시를 중지하고 경사합니다. 스마트 라우팅 (계약에있는 경우).

19) DevEx 및 지원

포털: 키, 사용량, 웹 후크, 배송 로그, SLO 대시 보드, 수출 보고서.
웹 후크 재생: 날짜 범위/ID 별 재배송.
사건: SEV-1에서 티켓의 자동 생성, 전쟁 실, 사후에 48 시간.
통신: # 파트너 상태 채널/메일 온 콜 24 × 7 (엔터프라이즈).

20) 온 보딩 계획 (2-4 주)

1. 1 주차: 주요 발행, 샌드 박스 연결, 기본 시나리오 (베팅/지불/지갑).
2. 2 주차: 웹 후크 및 화해, RG/KYC 플래그, 로드 테스트, 429/5xx 동작.
3. 3 주차: 보고 (조정, 업로드), 보안 (서명, 비밀), 계약 테스트.
4. 4 주차: 인증, 판매, 모니터링, 접촉 매트릭스에 카나리아 포함.

21) 미니 -FAQ

gRPC를 가질 수 있습니까?
예, 요청시; HTP 오류 코드 매핑은 사양에 제공됩니다.

복고풍 데이터를 얻는 방법?
'조정' 보고서 (날짜/날짜) 를 통해 S3/SFTP를 업로드하십시오.

한계를 어떻게 해제합니까?
예측 RPS/경쟁력을 나타내는 포털/계정 관리자를 통해.

균형의 진실의 근원으로 간주되는 것은 무엇입니까?
GambleHub 지갑 거래 로그 + 일일 조정.

합계

GambleHub와의 통합은 안정적인 API 및 체계, 서명 된 웹 후크, demempotency 및 배상, 투명한 한계 및보고, 보안 및 규정 준수 요구 사항과 같은 명확한 계약을 기반으로합니다. 이 안내서 및 인증 체크리스트를 따르면 신속하게 시장에 출시되어 안정적인 현금 흐름과 불일치없이 일관된 보고서를 제공합니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.