# KashTV Web V1 — integração da API

A versão web usa a API real em `https://api.kashtv.com.br` configurada em `config.js`.

## Sessão

A API atual usa `Authorization: Bearer <token>`. O navegador guarda o token KashTV localmente para manter a sessão em Smart TVs e computadores. Senhas nunca são armazenadas pelo frontend.

## Endpoints usados

- `POST /api/auth/register` — cria conta e inicia o teste.
- `POST /api/auth/login` — autentica e devolve token + conta.
- `GET /api/me` — perfil, plano e validade.
- `GET /api/plans` — catálogo de planos.
- `GET /api/app/bootstrap?platform=web&version_code=1` — Remote Config.
- `GET /api/starter-playlists` — Listas KashTV liberadas para o plano.
- `GET /api/starter-playlists/:id/content` — conteúdo M3U da lista oficial (API V1.3).
- `GET /api/playlists` — listas pessoais sincronizadas.
- `PUT /api/playlists/:id` — cria/atualiza lista pessoal.
- `DELETE /api/playlists/:id` — remove lista pessoal.
- `GET /api/state` — favoritos e histórico.
- `PUT /api/favorites/:id` — sincroniza favorito.
- `PUT /api/history/:id` — sincroniza progresso/última reprodução.
- `GET /api/devices` / `DELETE /api/devices/:id` — dispositivos da conta.
- `POST /api/auth/forgot-password` / `POST /api/auth/reset-password` — recuperação por código (API V1.3).

## Observações de Smart TV

A reprodução no navegador depende dos formatos aceitos pelo navegador da TV. HLS usa suporte nativo quando disponível e faz fallback para hls.js. Streams HTTP podem ser bloqueados quando a página KashTV usa HTTPS.

Listas oficiais do servidor devem conter conteúdo cuja distribuição esteja autorizada e streams compatíveis com navegador.

## Checkout Mercado Pago

`POST /api/checkout/create` — autenticado. Body: `{ "plan_id": "monthly|semiannual|annual", "phone": "..." }`. A API valida o plano e o preço no servidor e devolve `checkout_url` temporária.

O checkout público roda separado em `https://checkout.kashtv.com.br` e nunca recebe `MP_ACCESS_TOKEN` no navegador.
