लाइव गेम को प्लेटफॉर्म से जोड़ ने के लिए एपीआई कैसे काम करता है
1) सामान्य वास्तुकला और घटक भूमिकाएँ
ऑपरेटर प्लेटफ़ॉर्म (कैसीनो प्लेटफ़ॉर्म): खाते, बटुआ, बोनस इंजन, सीमा, केवाईसी/एएमएल, लेनदेन लॉग।
लाइव गेम प्रदाता (स्टूडियो/प्रदाता): स्टूडियो, डीलर, वीडियो स्ट्रीम (WebRTC/लो-लेटेंसी HLS), गेम सर्वर राउंड।
एग्रीगेटर (कभी-कभी): दर्जनों प्रदाताओं के लिए एक एकल एपीआई, मुद्राओं/सीमाओं/घटनाओं का एकीकरण।
क्लाइंट फ्रंटेंड: सट्टेबाजी UI, वीडियो प्लेयर, चैट, स्थानीय संकेतों के साथ वेब/मोबाइल क्लाइंट।
सहायक सेवाएं: जोखिम/एंटी-फ्रॉड, लॉगिंग, एनालिटिक्स, संदेश कतारें (काफ्का/रैबिटएमक्यू), निगरानी।
विशिष्ट टोपोलॉजी: → क्लाइंट (JWT) → → प्लेटफॉर्म (सर्वर-टू-सर्वर) → प्रदाता, समानांतर में, क्लाइंट सीडीएन/मीडिया सर्वर पूल से एक वीडियो स्ट्रीम प्राप्त करता है।
2) खिलाड़ी जीवन चक्र और सत्र
2. 1. लॉगिन और "खेल टोकन"
1. खिलाड़ी प्लेटफॉर्म पर लॉग इन करता है।
2. प्लेटफ़ॉर्म प्रदाता (S2S) से CreateGameSression कहता है, जिम्मेदार गेम के झंडे 'प्लेयर _ id', 'मुद्रा', 'देश', 'शर्त _ लिमिट' प्रसारित करता है।
3. प्रदाता एक बार - और लौटाता है।
4. क्लाइंट 'launch _ url' in एक iframe/नया टैब खोलता है, 'game _ token' जोड़ ता है (या खेल के अंतिम URL में 302 मिलता है)।
S2S अनुरोध का उदाहरण:http
POST/api/v1/सत्र
सामग्री प्रकार: अनुप्रयोग/json
प्राधिकरण: वाहक <platform_api_key>
{
"player_id": "u-918273", "session_id": "sess-5f3b2", "मुद्रा": "EUR", "देश": "DE", "lang": "de", "bet_limits": {"मिनट": 0। 5, "अधिकतम": 2000} ", responsible_gaming": {"स्वयं _ बहिष्कृत": गलत, "deposit_limit_left": 150} ", callback_urls": {{
"संतुलन": "https ://प्लेटफ़ॉर्म। उदाहरण। com/वॉलेट/बैलेंस" "डेबिट": "https ://platform. उदाहरण। com/वॉलेट/डेबिट," "क्रेडिट": "https ://प्लेटफ़ॉर्म। उदाहरण। com/वॉलेट/क्रेडिट", "रोलबैक ": "https ://प्लेटफ़ॉर्म। उदाहरण। com/वॉलेट/रोलबैक," "घटनाएँ": "https ://प्लेटफ़ॉर्म। उदाहरण। कॉम/गेम/इवेंट्स"
}
}
प्रदाता अनुक्रिया:
json
{
"game_token":" gtkn_7f0...e2a "," launch_url": "https ://live। प्रदाता। com/lounch/roulette" ", expires_in": 900
}
2. 2. सामने सत्यापन
खेल अपने बैकएंड के माध्यम से 'गेम _ टोकन' को मान्य करता है।- दांव/घटनाओं के लिए वेब सॉकेट गेम सर्वर पर संस्थापित है।
- वीडियो स्ट्रीम WebRTC (कम विलंबता 0। 5-2 एस) या एलएल-एचएलएस (2-5 एस)।
3) धन और दांव: बटुआ एपीआई और पहचान
3. 1. शेष राशि और डेबिट/क्रेडिट
प्रदाता खिलाड़ी के "पैसे" को संग्रहीत नहीं करता है - यह प्लेटफ़ॉर्म वॉलेट एपीआई कहता है:- 'GET/वॉलेट/बैलेंस? वर्तमान उपलब्ध है।
- 'POST/वॉलेट/डेबिट' - शर्त को लिखें।
- 'POST/वॉलेट/क्रेडिट' → क्रेडिट जीत/रिटर्न।
- 'POST/वॉलेट/रोलबैक' - राउंड रद्द होने पर लेनदेन वापस करना।
महत्वपूर्ण: सभी मौद्रिक लेनदेन 'ट्रांसएक्शन _ आईडी '/' राउंड _ आईडी' हैं। एक ही क्वेरी को दोहराने से परिणाम नहीं बदलता है।
नामे का उदाहरण (दर):http
POST/बटुआ/डेबिट
Idempotency-Key: trx-7a2df-001
सामग्री प्रकार: अनुप्रयोग/json
{
"": "u-918273", " :" "": "trx-7a2df-001", "राशि": 25। 00, "मुद्रा": "EUR", " :" "मेटा": {"टेबल _ आईडी": "आरयू -11", "चयन": "17", "ऑड्स": 35}
}
3. 2. टाइमिंग और शर्त स्टेटस
। 'WINDOWE _ CUNCED' के बाद, प्रदाता नए डेबिट को प्रतिबंधित करता
देर से बोलियों को 'LET _ BET' कोड के साथ खारिज कर दिया जाता है।
यदि कनेक्शन टूट गया है, तो क्लाइंट शर्त को फिर से जमा कर सकता है - सर्वर को आइडेम्पोटेंसी-की द्वारा डुप्लिकेट को अलग करने में सक्षम होना चाहिए।
लेनदेन की स्थिति: 'PENDING', 'SUTED', 'ROLED _ BACK', 'RECENED'।
4) गोल घटनाएँ: मॉडल और आदेश
4. 1. वेबसॉकेट इवेंट स्कीमा
'राउंड। प्रारंभ 'आता है' गोल _ आईडी ', शर्त टाइमर।- 'bet। प्रत्येक बोली के लिए स्वीकृत/अस्वीकृत '→ पुष्टि
- 'राउंड। बंद '→ दांव अब स्वीकार नहीं किए जाते हैं।
- 'राउंड। परिणाम '→ परिणाम (रूले/कार्ड/हड्डी क्षेत्र)।
- 'payout। खिलाड़ी द्वारा जीती गई राशि का निर्
- 'राउंड। सेटलमेंट 'अंतिम स्थिति, चेकसम।
json
{
"टाइप": "राउंड। परिणाम "," ":" "" : "ru-11", "पेलोड": {
"रूलेट": {"संख्या": 17, "रंग ":" काला"}, "हैश": "sha256: 8a7b... d1c", " : "। 450Z ""
}
}
4. 2. स्थिरता और चेकसम
प्रत्येक घटना को 'seq' और 'हस्ताक्षर' (अनुरोध निकाय के mTLS + हस्ताक्षर) के साथ आपूर्ति की जाती है।
सामंजस्य के लिए, 'पेआउट _ चेकसम' निर्दिष्ट है - सभी 'राउंड _ आईडी' क्रेडिट का योग अभिसरण करना होगा।
5) वीडियो स्ट्रीम और विलंबता
लाइव हैंड सट्टेबाजी के लिए WebRTC (लाठी/बैकारैट/रूले) - ग्राहक के लिए सख्त विलंब बजट <2 s।
दर्शकों/स्केल के लिए LL-HLS/DASH, 2-5 c की अनुमति देता है।
समय तुल्यकालन: NTP/chrony, पेलोड में - 'video _ ts' रिप्ले और विवादों के लिए।
फोलबैक: जब WebRTC नीचा दिखाता है, तो देर से दांव को अवरुद्ध करने के साथ LL-HLS पर ऑटो-स्विच करना।
6) त्रुटियां, रेट्रास, टाइमआउट
सामान्य नियम:- सभी S2S 800-1500 ms के टाइमआउट के साथ कॉल करते हैं, घातीय ठहराव और जिटर के साथ पीछे हटते हैं, लेकिन पैसे (पहचान) को फिर से डेबिट किए बिना।
- 'INSFUFICIAL _ FUNDS', 'COMMINT _ EXCEEEDED', 'ACCED _ LOCKED', 'DUPLICATE _ TRAN','।
json
{
"त्रुटि": "INSUFFICIENT_FUNDS," "संदेश": "संतुलन 18। 00 <आवश्यक 25। 00" ", transaction_id": "trx-7a2df-001"
}
7) बोनस, फ्रीस्पिन, बीमा
8) जिम्मेदार खेल और सीमाएं
सत्र फ्लैग्स: 'स्वयं _ बहिष्कृत', 'cooldown _ जब तक', 'lass _ limited _ befe', 'time _ commint _ bex'.
प्रदाता प्रत्येक डेबिट से पहले 'वैलिडेट _ लिमिट' का अनुरोध कर सकता है।
प्लेटफ़ॉर्म शुरू कर सकता है : खिलाड़ी को बाहर रखा गया है/सीमा से अधिक है - प्रदाता सट्टेबाजी खिड़की को बंद कर देता है और अनपेक्षित दांव पर रिटर्न बनाता है।
9) सुरक्षा और अनुपालन
mTLS के लिए S2S, HSTS, सख्त IP-allowlist।
फ्रंट-एंड टोकन, दर्शकों/जारीकर्ता सत्यापन के लिए छोटे टीटीएल के साथ JWT/JWS।
प्रदाता के वेबहूक (शरीर के ऊपर) पर हस्ताक्षर।- डीलर गतिविधि लॉग, राउंड रीप्ले, अपरिवर्तनीय ऑडिट (WORM भंडारण)।
- व्यक्तिगत डेटा का भंडारण - पीआईआई न्यूनतम, 'प्लेयर _ आईडी' टोकन, क्षेत्राधिकार प्रतिधारण अवधि (जीडीपीआर और एनालॉग्स)।
- CreateGameSression स्तर पर अधिकार क्षेत्र द्वारा भू-अवरुद्ध और निषेध।
10) सुलह और वित्त
10. 1. प्रति घंटा/दैनिक रिपोर्ट
प्रदाता 'राउंड _ id, , फीस' पर एक रिपोर्ट देता है। मंच जोड़ ता है:- डेबिट्स = दांव, क्रेडिट = + जीत + रिटर्न, डेल्टा = जीजीआर (बोनस/जैकपॉट/कमीशन सहित)।
json
{
"तिथि": "2025-10-18", "मुद्रा": "ईयूआर", "टेबल": [{
"table_id": "ru-11", "राउंड्स": 1260, "total_bets": "45230। 00" ", total_payouts": "43012। 50" ", jackpot_contrib": "302। 00" ", provider_fee": "2। 5%"
}]
}
10. 2. रोलबैक-परिदृश्य
वीडियो/स्टोरीबोर्ड - राउंड असफल। रद्द: प्रदाता राउंड में सभी दांवों को एक 'रोलबैक' भेजता है।
प्लेटफॉर्म 'DUPLICATE _ TRANSACTION' पर डबल डेबिट प्रोसेसिंग पकड़ा गया और एक ही परिणाम के साथ 200 ओके।
11) चैट, मॉडरेशन और यूआई इवेंट्स
चैट इवेंट्स स्टॉपवर्ड फिल्टर के साथ एक अलग चैनल (WebSocket # 2) से गुजरते हैं।
सिस्टम घोषणाएं (करीबी दांव, विजेता सूची) - केवल एक विश्वसनीय प्रदाता स्रोत से, हस्ताक्षरित/समयबद्ध।
12) परीक्षण और प्रमाणन
सैंडबॉक्स प्रदाता: निश्चित परिणाम, बल देने की क्षमता। परिणाम '।
QA समोच्च: काटे गए सट्टेबाजी खिड़कियों (5-8 सी) और त्वरित प्रवाह के साथ परीक्षण तालिका।
लोड: 5-10 हजार एक साथ खिलाड़ियों का अनुकरण, पीक डेबिट प्रति सेकंड (टीपीएस) ≥ अनुसूचित × 1। 5.
एकीकरण प्रमाणन: निष्क्रियता, मुद्राओं, राउंडिंग, प्रसंस्करण आउटेज, सीमाओं के अनुपालन और आत्म-बहिष्करण के लिए चेकलिस्ट।
13) मेट्रिक्स और एसएलओ
वे: 'डेबिट/क्रेडिट' के लिए औसत/95p विलंबता, वेबसॉकेट राउंड-ट्रिप, टाइम सिंक्रनाइज़ेशन त्रुटि, ड्रॉप-रेट WebRTC।
Продукт: शर्त स्वीकृति दर, देर से शर्त दर, विवाद दर, चार्जबैक दर, सत्र अवधि, प्रतिधारण, ARPU/LTV।
एसएलओ उदाहरण:99. 5% 'डेबिट' ≤ 1। 2 एस, 99। 9% डिलीवरी 'राउंड। परिणाम '≤ 300 ms फिक्सेशन के बाद, वीडियो देरी ≤ 2। 95p WebRTC के लिए 5 s।
14) मल्टीक्यूरेंसी, करों, स्थानीयकरण
रूपांतरण - प्रदाता के बाहर: खेल सत्र मुद्रा में सख्ती से काम करता है।
कर/कटौती - 'क्रेडिट' (क्षेत्र 'रोक') के साथ मंच की तरफ।- स्थानीयकरण: 'लैंग', संख्या/मुद्रा प्रारूप, टाइमर और रिपोर्ट के लिए समय क्षेत्र।
15) एकीकरण विकल्प
1. डायरेक्ट-टू-प्रदाता: अधिकतम नियंत्रण और सुविधा, लेकिन अलग अनुबंध/प्रमाणपत्र।
2. एग्रीगेटर के माध्यम से: प्रदाताओं द्वारा तेजी से कवरेज, एकीकृत योजनाएं, कभी-कभी कम लचीलापन।
3. हाइब्रिड: शीर्ष तालिकाएं सीधे, बाकी एक एग्रीगेटर के माध्यम से।
16) मिनी-स्पेसिफिकेशन (कुल)
16. 1. वेबसॉकेट इनबाउंड (प्रदाता को क्लाइंट)
json
{"प्रकार ":" शर्त। जगह" ", शर्त": {
"राशि": 25, "चयन":" 17", "table_id":"ru-11"
} "," idempotency_key":"c3a2-...-001 "}
16. 2. WebSocket आउटबाउंड (क्लाइंट को प्रदाता)
json
{"प्रकार ":" शर्त। स्वीकार किया," "bet_id":"b-8821," "seq ": 12031}
{"प्रकार ":" गोल। बंद," "round_id":"r-...001," "seq ": 12050}
{"प्रकार ":" गोल। परिणाम," "परिणाम ": {"संख्या ": 17," रंग":" काला"}, "seq ": 12070}
{"प्रकार ":" भुगतान। निर्मित, "राशि": 875, "मुद्रा": "EUR", "seq": 12075}
16. 3. बटुआ S2S (प्लेटफ़ॉर्म ↔ प्रदाता)
'POST/बटुआ/डेबिट' (पहचान)- 'POST/वॉलेट/क्रेडिट' (पहचान)
- 'POST/वॉलेट/रोलबैक' (पहचान)
- HMAC हस्ताक्षर, 'Timestamp', 'Nonce', दोहराएं सुरक्षा (TTL ≤ 60 c)।
17) किनारे के मामले और उन्हें कैसे बंद करें
खिलाड़ी डिस्कनेक्शन: शर्त भेजी गई, कोई पुष्टि नहीं - एक ही 'आइडेम्पोटेंसी-की' के साथ दोहराएं; सर्वर एक ही स्थिति के साथ जवाब देगा।
राउंड में डीलर/डेक परिवर्तन: स्वचालित रद्द करना और पूर्ण 'रोलबैक'।
मुद्रा बेमेल: 'मुद्रा _ MISMATCH' + घटना लॉग; सत्र फिर से जारी होने तक खेल अवरुद्ध है।
खेल के समय स्व-बहिष्करण: तत्काल 'force _ couse _ session', अनपेक्षित वापसी।
वीडियो गुणवत्ता में बदलाव: ग्राहक केवल, टाइमर/दांव पर कोई प्रभाव नहीं।
वेबसॉकेट री-हैंडशेक: ऑर्डर के नुकसान के बिना - 'सेक' के साथ घटनाओं की कतार, "कैच अप" छूट गई।
18) प्रोडक्शन लॉन्च चेकलिस्ट
सुरक्षा
- mTLS + पिनिंग सर्टिफिकेट, IP-allowist।
- सभी वेबहुक पर हस्ताक्षर करें और 'Timestamp '/' Nonce' की जाँच करें।
- मिनी-पीआईआई: केवल 'प्लेयर _ आईडी' (टोकन)।
विश्वसनीयता
- सभी मौद्रिक लेनदेन की पहचान।
- राउंड रिप्ले और अपरिवर्तनीय ऑडिटिंग।
- WebRTC → LL-HLS ऑटो-फोलबैक।
उत्पाद
- वास्तविक समय में लागू सीमाएं/जिम्मेदार नाटक।
- मूल निवासी शर्त के समय संकेत देता है।
- डैशबोर्ड एसएलओ + 24/7 अलर्ट करता है।
लाइव गेम एकीकरण एपीआई संदेश आदेश, समय और सुरक्षा के लिए सख्त आवश्यकताओं के साथ लो-लेटेंसी स्ट्रीम, इवेंट बस और आइडेम्पोटेंट वॉलेट का एक बंडल है। सफल कार्यान्वयन इस पर निर्भर करता है: दांव और दौर का एक सख्त जीवन चक्र, सत्यापित स्थिरता (सामंजस्य), डेटा सुरक्षा और जिम्मेदार खेल सीमाएं - और "सुंदर प्रसारण" को एक विश्वसनीय, प्रमाणित वित उत्पाद में बदल देता है।