# Telegram Mini App Kurulumu

## 1. Public HTTPS

Telegram Mini App localhost üzerinde gerçek `initData` üretmez. Uygulamayı HTTPS alan adına yayınlayın.

## 2. Bot token

BotFather üzerinden bot oluşturup token'ı yalnızca server secret olarak saklayın.

```bash
TELEGRAM_BOT_TOKEN="..." \
PUBLIC_URL="https://onlycoin.example" \
node scripts/configure-telegram-bot.js
```

## 3. Sunucu

```bash
AUTH_SECRET="uzun-rastgele-secret" \
ADMIN_PASSWORD="uzun-admin-parolasi" \
TELEGRAM_BOT_TOKEN="..." \
APP_ORIGIN="https://onlycoin.example" \
NODE_ENV=production \
node server/src/server.js
```

## 4. Davet linki

```text
https://t.me/BOT_USERNAME?startapp=REFERRAL_CODE
```

Telegram SDK `start_param` değerini uygulamaya iletir. Uygulama bunu kayıt sırasında referral code olarak API'ye gönderir.

## Doğrulama

API:

1. Query string'i ayrıştırır.
2. `hash` dışındaki alanları alfabetik data-check-string'e çevirir.
3. Bot token'dan Telegram secret key üretir.
4. HMAC hash'i timing-safe biçimde karşılaştırır.
5. `auth_date` süresini kontrol eder.
