# Producao Hoje

Este arquivo centraliza os valores que voce precisa preencher para subir o `Chegoou` hoje em ambiente real com:

- API no cPanel
- painel admin
- painel da loja
- app do cliente
- app do entregador
- PIX e cartao via Mercado Pago
- notificacoes e webhook via Wascript

Substitua apenas os valores entre `<...>`.

## 1. Dominios finais

Defina antes estes enderecos:

- `API_DOMAIN=https://api.<seu-dominio.com>`
- `ADMIN_DOMAIN=https://admin.<seu-dominio.com>`
- `STORE_DOMAIN=https://app.<seu-dominio.com>`

Exemplo real de uso:

- `API_DOMAIN=https://api.chegoou.com.br`
- `ADMIN_DOMAIN=https://admin.chegoou.com.br`
- `STORE_DOMAIN=https://app.chegoou.com.br`

## 2. Variaveis do cPanel

Use este bloco na aplicacao Node.js da API:

```env
NODE_ENV=production
APP_NAME=Chegoou
APP_URL=https://app.<seu-dominio.com>
API_PORT=<porta-da-aplicacao-no-cpanel>
DATABASE_URL=postgresql://<usuario>:<senha>@<host>:5432/<banco>?schema=public&sslmode=disable
DIRECT_URL=postgresql://<usuario>:<senha>@<host>:5432/<banco>?schema=public&sslmode=disable
REDIS_URL=redis://<host>:6379
ENABLE_QUEUES=false
JWT_ACCESS_SECRET=<segredo-forte-1>
JWT_REFRESH_SECRET=<segredo-forte-2>
JWT_ACCESS_EXPIRES_IN=15m
JWT_REFRESH_EXPIRES_IN=30d
MERCADO_PAGO_ACCESS_TOKEN=APP_USR-<token-real-de-producao>
MERCADO_PAGO_PUBLIC_KEY=APP_USR-<public-key-real-de-producao>
MERCADO_PAGO_WEBHOOK_SECRET=<secret-do-webhook-se-configurado>
WASCRIPT_BASE_URL=https://api-whatsapp.wascript.com.br
WASCRIPT_INSTANCE_TOKEN=<token-da-instancia-wascript>
WASCRIPT_WEBHOOK_SECRET=<segredo-do-webhook-wascript>
NEXT_PUBLIC_API_URL=https://api.<seu-dominio.com>/api
NEXT_PUBLIC_WS_URL=https://api.<seu-dominio.com>
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=<google-maps-se-usar>
```

Se o cPanel injetar `PORT`, respeite a porta da plataforma em vez de fixar manualmente.

## 3. Campos do admin para colar

Em `Configuracoes > Gateway/Pagamentos`, preencher:

### Mercado Pago

- `Habilitado`: `Sim`
- `Ambiente`: `production`
- `Access token`: `APP_USR-<token-real-de-producao>`
- `Public key`: `APP_USR-<public-key-real-de-producao>`
- `Webhook secret`: `<secret-do-webhook-se-configurado>`

### Pix/repasse

- `Chave Pix da plataforma`: `<sua-chave-pix>`
- `Nome do beneficiario`: `<nome-ou-razao-social>`
- `Documento do beneficiario`: `<cpf-ou-cnpj>`
- `Banco/agencia/conta`: preencher se seu fluxo operacional usar esses campos

### Wascript

- `Habilitado`: `Sim`
- `Base URL`: `https://api-whatsapp.wascript.com.br`
- `Instance token`: `<token-da-instancia-wascript>`
- `Fallback para web`: `Sim`
- `Webhook habilitado`: `Sim`
- `Webhook secret`: `<segredo-do-webhook-wascript>`
- `Callback URL`: `https://api.<seu-dominio.com>/api/messaging/webhooks/wascript`

## 4. Webhooks externos

Cadastre estes endpoints nos provedores:

### Mercado Pago

- URL: `https://api.<seu-dominio.com>/api/payments/webhooks/mercado-pago`
- Evento principal: pagamentos
- Se o painel do Mercado Pago pedir segredo/assinatura, usar o mesmo valor de `MERCADO_PAGO_WEBHOOK_SECRET`

### Wascript

- URL: `https://api.<seu-dominio.com>/api/messaging/webhooks/wascript`
- Segredo: o mesmo valor de `WASCRIPT_WEBHOOK_SECRET`

## 5. Frontend web

No painel admin e no painel da loja, as variaveis publicas precisam apontar para a API real:

```env
NEXT_PUBLIC_API_URL=https://api.<seu-dominio.com>/api
NEXT_PUBLIC_WS_URL=https://api.<seu-dominio.com>
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=<google-maps-se-usar>
```

## 6. Expo producao

Para testar o app do entregador e o app do cliente em ambiente real, nao deixe cair no fallback local.

### Cliente

```env
EXPO_PUBLIC_API_URL=https://api.<seu-dominio.com>/api
EXPO_PUBLIC_CUSTOMER_EMAIL=<usuario-de-teste>
EXPO_PUBLIC_CUSTOMER_PASSWORD=<senha-de-teste>
```

### Entregador

```env
EXPO_PUBLIC_API_URL=https://api.<seu-dominio.com>/api
EXPO_PUBLIC_WS_URL=https://api.<seu-dominio.com>
EXPO_PUBLIC_DRIVER_EMAIL=<entregador-de-teste>
EXPO_PUBLIC_DRIVER_PASSWORD=<senha-do-entregador>
EXPO_PUBLIC_DRIVER_PHONE=<telefone-opcional>
EXPO_PUBLIC_DRIVER_BEARER_TOKEN=
```

Se `EXPO_PUBLIC_API_URL` e `EXPO_PUBLIC_WS_URL` nao forem definidos, os apps tentam usar IP local da rede e o teste de producao falha.

## 7. Ordem de subida

1. Subir API no cPanel.
2. Rodar `prisma generate`.
3. Rodar migrations se houver mudancas pendentes.
4. Validar `https://api.<seu-dominio.com>/api/health`.
5. Subir painel admin.
6. Subir painel da loja.
7. Preencher Mercado Pago e Wascript no admin.
8. Cadastrar webhooks externos.
9. Subir Expo com variaveis apontando para producao.
10. Fazer pedido real PIX.
11. Fazer pedido real cartao.
12. Validar chegada do pedido no painel da loja e no app do entregador.

## 8. Teste minimo obrigatorio de hoje

Checklist curto para nao subir quebrado:

- `GET /api/health` respondendo
- login no admin funcionando
- login da loja funcionando
- loja publica criando pedido
- pedido PIX saindo de `WAITING_PAYMENT` para `SENT_TO_RESTAURANT` ou `PREPARING`
- checkout/cartao abrindo URL do Mercado Pago
- webhook Mercado Pago gravando pagamento
- webhook Wascript respondendo `200`
- pedido aparecendo no app do entregador em producao

## 9. O que falta voce me passar se quiser que eu feche tudo com valor real

Eu ainda nao tenho no repositorio:

- dominio final da API
- dominio final do admin
- dominio final da loja
- token real do Mercado Pago
- public key real do Mercado Pago
- token da instancia Wascript
- segredo real dos webhooks

Se voce me mandar esses valores, eu monto os blocos finais sem placeholder.
