Logo GH

راهنمای ادغام گمبل هاب

1) مدل بررسی و تعامل

GambleHub یک پلت فرم جمع آوری برای خدمات iGaming (ارائه دهندگان بازی، دروازه های پرداخت، KYC/AML، موتور پاداش، گزارش) است. ادغام شریک در دو حالت امکان پذیر است:
  • ارائه دهنده API: شما با GambleHub API تماس می گیرید (کیف پول، پاداش، گزارش).
  • ارائه دهنده خارجی: ما وب سایت ها/نقاط پایانی خود را (تعادل، معاملات، KYC) می نامیم.
سطوح:

1. لبه/API (REST/gRPC، وب سایت ها)

2. رویدادها (اتوبوس رویداد: شرط/پرداخت/کیف پول/ICC)

3. گزارش (API + S3/SFTP صادرات)

4. عملیات (حوادث، SLO، اعتبارات SLA)

2) محیط ها، دامنه ها و IP

چهارشنبهپایگاه APIوب سایت ها (از ما)IP خروجی مااس ال ای
جعبه شن و ماسه'https ://sandbox. API. قمارهاب. من..'https ://< your _ domain >/webhooks/... '`203. 0. 113. 10/31`بهترین تلاش
مرحله بندی'https ://staging. API. قمارهاب. من..همانطور که در بالا`198. 51. 100. 40/29`99. 5%
تولید کنندگان'https ://api. قمارهاب. من..همانطور که در بالا`192. 0. 2. 16/28`99. 9%

SLA قراردادی در قرارداد ثابت شده است. به روز رسانی IP در پیش منتشر شده است. اجازه دهید Allowlist.

3) احراز هویت و مجوز

ما از سه مکانیسم پشتیبانی می کنیم (یکی از موارد مورد نیاز تحت قرارداد را انتخاب کنید):
  • OAuth2 اعتبار مشتری: سرور به سرور («دامنه»: «کیف پول: خواندن»، «کیف پول: نوشتن»، «شرط بندی: نوشتن»، «گزارش: خواندن»).
  • JWT (صادر کننده = GambleHub): امضای RS256، کلید در نقطه پایانی JWKS.
  • mTLS: احراز هویت متقابل TLS در سطح ورودی (به درخواست انطباق).
نمونه ای از به دست آوردن یک نشانه (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) محدودیت ها، سهمیه ها و idemotency

محدودیت های نرخ توسط هدر ها داده می شود:
  • 'X-RateLimit-Limit', 'X-RateLimit-Remaining', 'X-RateLimit-Reset'.
  • ۴۲۹ با «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"}]
}

قابل بازیابی: 5xx/ 503/504/429 (с 'Retry-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) Webhooks (گمبل هاب به شریک)

رویدادها به ترتیب، 'Content-Type: application/json'، هدر ها ارسال می شوند:
  • 'X-GH-Event': 'بازیکن. ایجاد شده است. شروع شد. قرار داده است. سر و سامان گرفت. تغییر کرد. به روز شد. دست و پا میزد
  • «X-GH-Event-Id»: UUID منحصر به فرد
  • 'X-GH-Signature': 'sha256 = '
  • «X-GH-Retry»: تلاش بدون
  • «X-GH-Event-Version»: «1»
مثال «حل و فصل»:
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: عقب نشینی نمایشی (1s، 3s، 10s، 30s، 2m، 10m، 30m ؛ (حداکثر 24 ساعت) از «X-GH-Event-Id» برای deduplication استفاده کنید.

تأیید امضا (شبه):
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) Sandbox و سناریوهای تست

بازیکنان تست: 'p _ sbx _'، ارزهای' EUR 'USD' CAD '.
ارائه دهندگان بازی تقلید: برنده/از دست دادن/از درجه اعتبار ساقط, تخفیف, تاخیر.
سندباکس KYC: پاسخهای "بازبینی" ناموفق "تأیید شده در الگوهای گذرنامه.
PSP sandbox: статусы 'مجاز' ضبط شده 'جمع آوری شده'.

مجموعه ای از موارد آزمون اجباری:
  • ترازنامه استاوکا → vyplata → sverka
  • دور عقب/خالی
  • عدم توانایی در پیشنهاد مجدد
  • شکست webhook با retrays و deduplication پس از آن
  • 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 با مانیفست های امضا شده و هش فایل (SHA256).
گزارش منطقه زمانی: UTC (مگر اینکه در قرارداد مشخص شده باشد).

13) قابلیت مشاهده و SLO

SLI: موفقیت API ≥ 99. 95٪ (28d)، تاخیر p95 برای روش های بحرانی، موفقیت تحویل وب سایت.
سوزاندن هشدار (سریع/آهسته) در بودجه اشتباه است.
همبستگی ردیابی: 'trace _ id' در پاسخ/سیاهههای مربوط، drilldown به ردیابی.
صفحه وضعیت: Edge، Wallet، Bets، Webhooks، PSP، اجزای KYC.

14) ایمنی و انطباق

به حداقل رساندن PII ؛ PAN/اسرار در سیاهههای مربوط/webhooks ممنوع است.

مدیریت مخفی و چرخش کلید

RG (قمار مسئول): خود حذفی/پرچم حد باید در انکار خودکار شرط/پرداخت شود.
AML/KYC: رویدادهای «kyc». به روز شده، aml. هشدار 'با اشتراک در دسترس هستند ؛ تصمیم گیری در سیستم خود و یا از طریق ماژول ما.
GDPR/DSAR: نقاط پایانی برای آپلود/حذف اطلاعات شخصی بازیکن برای درخواست های قانونی.
mTLS و HSTS به طور پیش فرض در محیط تولید فعال می شوند.

15) عملکرد و سهمیه

بودجه توصیه شده برای هر شریک (پیش فرض):
  • RPS: 50 (پشت سر هم 100)
  • صفحات وب همزمان: 10
  • اندازه بدن: ≤ 256 کیلوبایت (رویدادهای بازی)، ≤ 64 کیلوبایت (کیف پول)

درخواست ارتقاء طرح از طریق مدیر حساب، مشخص کردن پیش بینی/حجم RPS.

16) مدیریت تغییر و انتشار

تغییر ویندوز: کار برنامه ریزی شده - در برنامه، اطلاع رسانی ≥ 5 روز کاری.
مهاجرت نسخه: دوگانه نوشتن/دوگانه خواندن در طول دوره انتقال.
آزمون قرارداد CI: طرح JSON، فیلدهای مورد نیاز، stable 'error _ code'.
Canary: شامل تدریجی ترافیک برای ویژگی های جدید.

17) صدور گواهینامه ادغام (چک لیست)

عملکرد:
  • پیشنهاد/پرداخت ثبت نام/از درجه اعتبار ساقط
  • Idempotency در تمام نقاط نوشتن پایان
  • درست 429/5xx + پردازش برگشت
  • Webhook تأیید امضا، X-GH-Event-Id Deduplication
  • آشتی تعادل پس از سری از حوادث (برنده/از دست دادن)
  • گزارش های آشتی با داده های شما موافق است
قابلیت اطمینان:
  • عقب نشینی Webhook اجرا می شود
  • زمان بندی مشتری ≤ 10c، تلاش کل ≤ 30c
  • قطع کننده مدار در وابستگی ها
امنیت/انطباق:
  • ذخیره اسرار در مدیر مخفی
  • نسخه PII در سیاهههای مربوط
  • پرچم RG/AML در زمان واقعی در نظر گرفته

18) سناریوهای اغلب استفاده شده

18. 1 ثبت نام نرخ با idemotency


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 شکست webhook به دنبال موفقیت

1. سرور شما در دسترس نیست → 5xx → backoff retro.
2. پس از بهبودی - همان «X-GH-Event-Id» را بگیرید → موظف به نادیده گرفتن موارد تکراری هستند.

18. 3 تخریب جزئی ارائه دهنده

ما 503 را بازپرداخت خواهیم کرد تکرار با عقب نشینی

با تخریب طولانی - توقف مارک ارائه دهنده و شامل مسیریابی هوشمند (اگر در قرارداد).

19) DevEx و پشتیبانی

پورتال: کلید، استفاده، webhooks، سیاهههای مربوط تحویل، داشبورد SLO، گزارش صادرات.
Webhooks پخش: redelivery با محدوده تاریخ/ID.
حوادث: ایجاد خودکار بلیط، اتاق جنگ، پس از مرگ ≤ 48 ساعت در SEV-1.
ارتباطات: # partners-status channel/mail on-call 24 × 7 (Enterprise).

20) برنامه ریزی (2-4 هفته)

1. هفته 1: صدور کلید، اتصال sandbox، سناریوهای پایه (شرط/پرداخت/کیف پول).
2. هفته 2: Webhooks و آشتی، پرچم RG/KYC، تست بار، رفتار 429/5xx.
3. هفته 3: گزارش (آشتی، آپلود)، امنیت (امضا، اسرار)، تست قرارداد.
4. هفته 4: صدور گواهینامه، canary-inclusion در فروش، نظارت، ماتریس تماس.

21) مینی سوالات متداول

آیا می توانم gRPC داشته باشم ؟

بله، بنا به درخواست ؛ نقشه برداری کد خطای HTTP در مشخصات ارائه شده است.

چگونه می توان داده های یکپارچهسازی با سیستمعامل را دریافت کرد ؟

از طریق گزارش های «آشتی» (از/به تاریخ) و یا آپلود S3/SFTP.

چگونه محدودیت هایم را برطرف کنم ؟

از طریق مدیر پورتال/حساب نشان می دهد پیش بینی RPS/رقابت.

چه چیزی منبع حقیقت تعادل محسوب می شود ؟

گزارش تراکنش کیف پول GambleHub + آشتی روزانه.

مجموع

ادغام با GambleHub بر اساس یک قرارداد واضح ساخته شده است: API های پایدار و طرح ها، وب سایت های امضا شده، idempotency و retrays، محدودیت های شفاف و گزارش، و همچنین الزامات امنیتی و انطباق. با پیروی از این راهنما و چک لیست های صدور گواهینامه، شما به سرعت به بازار می رسید، جریان های نقدی قابل اعتماد و گزارش های سازگار بدون اختلاف را ارائه می دهید.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.