Variáveis de Ambiente¶
TL;DR (copie para .env)¶
# --- Core ---
DATABASE_URL="postgresql://<user>:<pass>@<host>:<port>/<db>?schema=public"
JWT_SECRET="<string-aleatoria-bem-grande>"
# --- Criptografia de segredos em repouso ---
ENCRYPTION_KEY="<base64-32-bytes>" # 32 bytes (256 bits) em Base64
CRYPTO_IV="<hex-16-bytes>" # 16 bytes (128 bits) em hex
# --- Integrações Saipos ---
SAIPOS_BASE="https://order-api.saipos.com" # ou https://homolog-order-api.saipos.com
SAIPOS_IDPARTNER="<id-partner>"
SAIPOS_SECRET="<secret-partner>"
LOG_SAIPOS_BODY="false" # true para logar payload do pedido
LOG_SAIPOS_CALLS="false" # true para logar chamadas HTTP
# --- Webhook Nayax ---
NAYAX_BEARER_TOKEN="<token-compartilhado-com-nayax>"
# --- Outbox / Jobs ---
PROCESSING_TTL_MS="120000" # 2 min: tempo máximo em PROCESSING antes do reaper
COD_STORE="<cod_loja_saipos_padrao>" # ex.: "123"
# --- App ---
NODE_ENV="development"
PORT="3000"
Campos e Regras de Negócio¶
| Variável | Obrigatório | Exemplo | Descrição |
|---|---|---|---|
DATABASE_URL | ✅ | postgresql://postgres:postgres@localhost:5432/restaurantes_db?schema=public | String de conexão do Postgres usada pelo Prisma. Inclua ?schema=public se usar schemas. |
JWT_SECRET | ✅ | 199ed65a5c97e5b6147f63d2dd2d57be | Secret para assinar tokens JWT de autenticação. Use 32+ chars. |
ENCRYPTION_KEY | ✅ | ExSuPUv0uQk8TXP2V2K01OAJKzC2DXn3Oako57/Ituw= | Chave 32 bytes (Base64) para criptografar segredos em repouso. |
CRYPTO_IV | ✅ | e4f8687a38a637c92399f909e701ec12 | Vetor de inicialização 16 bytes em hex. |
SAIPOS_BASE | ⛔ | https://order-api.saipos.com | Base URL da API Saipos. Em homolog: https://homolog-order-api.saipos.com. |
SAIPOS_IDPARTNER | ✅ | 9a9954c0... | Credencial do parceiro (Saipos). |
SAIPOS_SECRET | ✅ | e64bf327... | Secret do parceiro (Saipos). |
LOG_SAIPOS_BODY | ⛔ | true/false | Loga o body dos pedidos enviados (cuidado em prod). |
LOG_SAIPOS_CALLS | ⛔ | true/false | Loga cada chamada HTTP à Saipos. |
NAYAX_BEARER_TOKEN | ✅ | -ni5nCLy... | Token Bearer validado no guard do webhook Nayax. |
PROCESSING_TTL_MS | ⛔ | 120000 | TTL para jobs travados em PROCESSING antes do reaper reclassificar. |
COD_STORE | ⛔ | 123 | Código default de loja Saipos usado no Outbox (fallback). |
NODE_ENV | ⛔ | development/production | Ambiente Node. |
PORT | ⛔ | 3000 | Porta HTTP do app. |