# Platform CRM (MVP completo)

Catalogo multi-bot, login Telegram (o demo locale), checkout con promo, abbonamenti, admin back office, bridge entitlement verso il bot verify.

Vedi anche [`../docs/PLATFORM_BLUEPRINT.md`](../docs/PLATFORM_BLUEPRINT.md).

## Setup

```bash
cd /Applications/MAMP/htdocs/bot/platform
cp config.example.php config.php   # già compilato se hai lanciato l’install
php bin/install.php                # solo la prima volta
```

In `config.php` verifica:
- `base_url` (URL MAMP della cartella `public`)
- `platform_admin_ids` (il tuo Telegram ID)
- `telegram_login.bot_username` + `bot_token` (stesso bot)
- `dev_login_enabled` = true in locale
- `payments.demo_mode` = true finché non colleghi Stripe

BotFather (produzione): `/setdomain` → dominio del sito (per il Login Widget).

## URL

| Path | Cosa |
|------|------|
| `/platform/public/` | Catalogo |
| `/platform/public/login.php` | Login Telegram / demo |
| `/platform/public/app/` | I miei bot + gruppi |
| `/platform/public/app/checkout.php?plan=verify_pro` | Acquisto + promo |
| `/platform/public/admin/` | Prezzi, promo, ordini, clienti |

## Multi-bot runtime

Ogni prodotto in catalogo può avere un **token BotFather** (scheda bot) e gira sullo stesso codice `BotApp` con:

- SQLite isolato: `storage/bots/{slug}/bot.sqlite`
- Entitlement `product_slug` = slug del prodotto
- Webhook: `/platform/public/hooks/bot.php?slug={slug}`

```bash
# Locale — tutti i bot con token
php poll_multi.php

# Solo verify
php poll_multi.php verify

# Produzione HTTPS
php set_webhook_multi.php
```

Il bot singolo classico resta: `php poll.php` + `config.php`.


I **super-admin** del bot (`admin_ids`) non sono bloccati dal paywall nel pannello Telegram.

## Aggiungere un altro bot in vendita

1. INSERT in `products` + `plans`  
2. Cartella codice separata  
3. Stesso login/checkout/admin  

## Produzione

- `dev_login_enabled` → false  
- `payments.demo_mode` → false  
- Stripe: in `config.php` metti `stripe.enabled=true`, `secret_key`, `webhook_secret`  
  Endpoint webhook: `/platform/public/hooks/stripe.php`  
- Oppure conferma manuale ordini `pending` da Admin → “Segna pagato”  

## Admin extra

- Crea nuovo bot in catalogo (Free+Pro automatici)  
- Assegna abbonamento a un Telegram ID  
- Pubblica/nascondi prodotti  
