Kazino Telegram WebApp-y nädip birleşdirýär
Näme üçin Telegram WebApp kazinosy
Pes sürtünme: "saýt gözlemezden" bot bilen gepleşikden 1-2 tapa girmek.
Derrew eltip bermek: frontend, CDN arkaly goýberilen domeniňizde ýaşaýar.
Telegram profiline baglanyşyk: ulanyjynyň düşnükli şahsyýeti we aragatnaşygyň taýýar kanallary (toplaryň ýerine bot habarlary).
Marketing-gurşaw: salgylanmalar 't. me/... 'we kanallarda/söhbetdeşliklerde düwmeler.
Arhitektura: integrasiýa näme
Komponentler:1. Bot API gatlak (webhook/long-polling): buýruklary kabul edýär, menýuny iberýär, WebApp-y işe girizýär.
2. WebApp (SPA/PWA) domeniňizde: lobbi, profil, mahabat, ýeňil oýun sahnalary, kassa marşrutizatory.
3. Platforma Casino API: autentifikasiýa, balans/stawkalar, bonuslar, kassa, hekaýalar.
4. Sessiýalary/linkowkalary saklamak: baglanyşyk 'telegram _ user _ id account_id'.
5. CDN + anti-bot/frod: mini-programmanyň assetlerini goramak we paýlamak.
Başlamak akymy:- Ulanyjy boty ýazýar → "Aç" düwmesini basýar (web_app).
- Telegram WebApp-ny müşderi hökmünde birleşdirýär we size 'initData' (ulanyjynyň gol çekilen parametrleri/söhbetdeşlik) berýär.
- WebApp arka tarapdaky goly barlaýar → kazinoda sessiýany döredýär/dowam etdirýär → UI berýär.
WebApp: düwmeler we deep-link
Wariantlar:- Кнопка в ReplyKeyboard/InlineKeyboard c `web_app: {url: "https://your. app/tg"}' - Telegramyň içinde kiçi programmany açýar.
- Main Menu (BotFather → Menu Button) - "Aç" hemişelik düwmesi.
- Deep-link `https://t. me/< bot>? startapp =
'- başlangyç kontekstini goýuň (mysal üçin, promo/referal/oýun).
Maslahat: "niýeti" howpsuz geçirmek üçin 'startapp' ulanyň (haýsy ekrany açmak). Goluň barlanylandan soň mazmuny we hukuklary kesgitläň.
Hasaby tassyklamak we baglanyşdyrmak
WebApp-a gelenler
Telegram müşderisi JS-obýekti "Telegram" penjiresine goşýar. WebApp 'we' initData '/' initDataUnsafe 'setiri - ulanyjy/söhbetdeşlik, wagt we gol barada maglumat.
Ulanyjyny nädip tassyklamaly
1. Öň tarapda 'Telegramy alyň. WebApp. initData 'we ony bolşy ýaly yzyna iberiň.
2. Arka tarapda, Telegram algoritmi boýunça goly barlaň (bot tokeninden alnan açar bilen maglumatlar setirinde HMAC-SHA256; takyk algoritm - Telegramyň resmi resminamalarynda).
3. Barlamak üstünlikli bolsa, 'user' -i çykaryň. id ',' username 'we metadata → tapyň ýa-da bir baglanyşyk dörediň' telegram _ user _ id account_id'.
4. Öň tarapa gysga ömürli JWT/casino platformasynyň sessiýa belligini beriň (mysal üçin, TTL 10-30 min + howpsuz API-de refresh).
WebApp bot maglumatlary alyş-çalyş
WebApp-dan bota: 'Telegram. WebApp. sendData(JSON. stringify (payload) '- bot' web _ app _ data 'alar we habar/düwme bilen jogap berip biler.
Pattern: çylşyrymly amallary (kassa, barlamak) WebApp-da amala aşyrýarys; bot - triggerler/habarnamalar üçin ("bonus işjeňleşdirildi", "KYC tassyklandy").
Platformalaryň kassa we çäklendirmeleri
Telegramdaky tölegler: Platformada içerki töleg mehanikleri we kategoriýalar boýunça aýratyn düzgünler bar. Gambling üçin ýerli kanunlary we Telegram syýasatyny ulanyň.
Amaly çemeleşme:- Çek-aut daşarky brauzerde (deeplink 'target = _ blank') doly hukukly KYC/AML/KYT kontury we idempotency-açarlary bilen açyň.
- Doldurmak/çykarmak üçin diňe ulanyjynyň ýurdy üçin rugsat berilýän usullary görkeziň (geo-fensing).
- Bot söhbetdeşligine elmydama tassyklamalary köpeldiň (pulary çalyşmak hökmünde).
UX: nädip "ýerli" we çalt etmeli
Tema/Reňkler: 'Telegramy ulanyň. WebApp. themeParams 'we' colorScheme '(light/dark),' themeChanged '-den kärendesine alyň.
Nawigasiýa: 'MainButton. setText ('Dowam et'). show()`; `BackButton. show () 'we prosessor' onEvent ('backButtonClicked',...) '.
Viewport: `Telegram. WebApp. expand()`; 'viewportHeight' -ni yzarlaň (esasanam iOS-da).
Lokalizasiýa: 'initDataUnsafe' -den dil alyň. user. language_code' + öz i18n.
Öndürijiligi: PWA + Service Worker, CDN hash-assets, lazy-chunks. Ilkinji ekran ≤ 150-200 KB br.
Mikro-mysal (öň):html
<script>
const tg = window. Telegram. WebApp;
tg. expand();
tg. MainButton. setText ('Lobbi aç'). show(). onClick(() => {
//bota signal ibereliň (hökman däl) ýa-da diňe SPA tg-iň içinde. HapticFeedback. impactOccurred('medium');
});
//initData-ny fetch ('/api/tg/auth ', {method:' POST ', headers: {' Content-Type ':' application/json '}, body: JSON barlamak üçin serwere geçirýäris. stringify({ initData: tg. initData })});
</script>
Howpsuzlyk: hökmany çäreler
Serwerde 'initData' goluny barlamak. "Täze penjire" saklaň (mysal üçin, 1-5 minut) - köne gollary ret ediň.
Şahsyýet baglanyşygy: 'telegram _ user _ id' - profil atributy, ýöne elmydama belgi/sessiýa arkaly pul elýeterliligi.
Botyň webhuklary: gizlin ýol ('/bot
Anti-bot: device-fingerprint we WebApp-da özüni alyp baryş signallary, rate-limit 'telegram _ user _ id' we IP.
Mazmun howpsuzlygy: Mini-app domeni üçin CSP, 'X-Frame-Options' Telegrama goşulmagyna päsgel bermeýär, API-e berk CORS.
Girişler we PII: GDPR/ýerli kadalara laýyklykda gizläň, saklaň, töleg/oýun çäreleri üçin WORM ulanyň.
Telemetriýa we analitika
RUM: WebApp içindäki TTFB/LCP/TTI; события «open_from_deeplink», «auth_ok», «deposit_start/success», «bet_place».
Kanal bellikleri :/utm-i 'startapp' → arkaly atyň kazino sessiýasy bilen baglanyşdyryň.
SLO: p95 'auth _ via _ initData' ≤ 200-300 ms, p95 "birinji ekran" ≤ 2 s, goly barlamak hatasy <0. 1%.
Frod-signallar: ýurtlar/sagatlar/enjamlar boýunça anomaliýalar, hereketsiz köpçülikleýin açyşlar, gaýtalanýan 'startapp'.
Görnüş backend-kontury (psevdokod)
pseudo
POST /api/tg/auth { initData }
assert verifyTelegramSignature (initData )//berk Telegram dock let tgUser = parse (initData)
let account = findOrCreateByTelegram(tgUser. id)
let session = issueJWT(account_id, ttl=20m, scope='webapp')
return { token: session. jwt, account }
POST /api/cashier/deposit { token, method, amount }
assert auth(token)
assert geoAllowed(account. country)
createIdempotencyKey()
redirectToPSP (... )//daşarky brauzere
POST /api/bot/webhook verifyTelegramSignatureOrSecret()
handle commands, web_app_data, callbacks reply with messages/buttons
Kazino üçin Telegram WebApp-yň barlama sanawy
Hukuk we syýasat
- Ýurisdiksiýalar, geo-bloking, ýerli RG/KYC tekstleri.
- Kategoriýaňyz üçin Telegram syýasaty, ýurtlaryň/kanallaryň ak sanawlary.
Tassyklamak
- 'initData' goluny serwer barlagy (täzelik penjiresini goşmak bilen).
- Linkowka 'telegram _ user _ id account_id', gysga JWT.
Kassa
- Çekiň daşarky brauzere çykarylmagy (zerur ýerlerde), idempotency, KYC/KYT.
- Geo-garaşly usullar, bot habarlary bilen statuslaryň gaýtalanmagy.
Frontend
- 'themeParams', 'MainButton/BackButton', 'expand ()' -den mowzuk/reňkler.
- PWA/SW, CDN hash-assets, LCP ≤ 2 s.
Howpsuzlyk
- Webhuklar: syr/allowlist/wagt.
- Rate-limits, anti-bot, CSP/CORS.
- Pul/oýunlar üçin WORM ýazgylary; PII-maskalanma.
Analitika
- RUM metrikleri, onbording/kassa/stawka wakalary.
- 'startapp' arkaly kanal atributy.
Anti-patternler
Serwer barlagy bolmazdan frontda 'initData' -a ynanmak.
Syýasaty/ýurisdiksiýany äsgermezlik edip, doly barlagy WebApp-a "gysmaga" synanyşyň.
Temany/reňkleri hardcodit → Telegram-yň garaňky/açyk temasynda okalmaýar.
Kassada we botyň webhuklarynda idempotency ýoklugy.
Aýlawsyz we yzyna alynmazdan uzak wagtlap dowam edýän sessiýalar.
Monolit bandl 5-10 MB → sessiýanyň haýal birinji ekrany we zibili.
Telegram WebApp integrasiýasy kazinolara çalt girişi, amatly aragatnaşygy we "ýeňil" müşderini gurmazdan berýär. Üstünlik - 'initData' arkaly dogry tassyklamakda, hasaby seresaplylyk bilen dolandyrmakda we töleg/mazmun syýasatlaryny berjaý etmekde. Içerki UX (mowzuk, düwme, dermanhana), CDN asset üpjünçiligi, berk howpsuzlyk we ölçeg analitikasyny goşuň we kiçi programma agyrysyz ulalýan täsirli acquisition- we retention kanalyna öwrüler.