# Fase 18 - Implementação

## 18.5 Cielo

- **Backend:** CreditoService::gerarCieloCheckout integrado com developercielo/api-3.0-php
- **Variáveis:** CIELO_MERCHANT_ID, CIELO_MERCHANT_KEY, CIELO_SANDBOX (opcional)
- **Frontend:** Formulário de cartão em /conta/creditos quando gateway Cielo habilitado
- **Tokenização:** Backend tokeniza quando card_token não enviado (sandbox; produção prefira client-side)

## 18.6 Chat online

- **Componente:** ChatWidget (Tawk.to)
- **Variáveis:** NEXT_PUBLIC_CHAT_WIDGET_ID (formato: property_id/widget_id)
- **Layout:** Injetado em layout.tsx

## 18.7 Push notifications

- **Tabela:** cliente_push_subscription (migration em db/migrations/add_cliente_push_subscription.sql)
- **API:** GET/POST /api/v2/conta/push-subscribe
- **Variáveis:** VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY
- **Biblioteca:** minishlink/web-push (composer require minishlink/web-push)
- **Integração:** ConferenciaService::notificarPremiados envia push além de e-mail
- **Frontend:** PushSubscribeButton em /conta/saldo

## 18.8 LOTOGOL

- **Regra:** .cursor/rules/loterias/lotogol.mdc
- **Status:** Documentado; implementação completa pendente (portar v1)

## 18.9 A/B test

- **Hook:** useABTest(experimentId, variants)
- **Exemplo:** ABTestHero na home (variantes A/B para ordem dos CTAs)
- **Persistência:** localStorage

## 18.10 Instantâneas (raspadinha)

- **Migration:** db/migrations/add_instantaneas.sql (instantanea_tipo, instantanea_bilhete)
- **API:** GET /instantaneas/tipos, POST /instantaneas/comprar, GET /instantaneas/bilhetes, POST /instantaneas/bilhete/{id}/revelar
- **Frontend:** /instantaneas com RaspadinhaCard (efeito de raspar em canvas)
- **Fluxo:** Compra com créditos → bilhete com resultado pré-definido → raspar ou clicar para revelar → prêmio creditado
- **Nota:** Protótipo/demo. Lotex oficial é operada pela Caixa; integração futura requer licenciamento
