Ir al contenido

Variables de Entorno

Esta guía describe todas las variables de entorno necesarias para el sistema Te Afirmo.

TURSO_DATABASE_URL=libsql://tu-proyecto.aws-us-east-1.turso.io
TURSO_AUTH_TOKEN=tu-token-de-autenticacion

Descripción:

  • TURSO_DATABASE_URL: URL de conexión a la base de datos Turso
  • TURSO_AUTH_TOKEN: Token de autenticación para Turso

Cómo obtener:

  1. Ve a turso.tech
  2. Crea una base de datos
  3. Copia la URL y el token

BACKBLAZE_KEY_ID=tu-key-id
BACKBLAZE_APPLICATION_KEY=tu-application-key
BACKBLAZE_BUCKET=nombre-del-bucket

Descripción:

  • BACKBLAZE_KEY_ID: ID de la clave de aplicación
  • BACKBLAZE_APPLICATION_KEY: Clave secreta de aplicación
  • BACKBLAZE_BUCKET: Nombre del bucket donde se almacenan los documentos

Cómo obtener:

  1. Ve a backblaze.com
  2. Crea una cuenta y bucket
  3. Genera Application Keys en App Keys

RESEND_API_KEY=re_tu_api_key_aqui
RESEND_FROM_EMAIL=Te Afirmo <notificaciones@teafirmo.cl>

Descripción:

  • RESEND_API_KEY: API key de Resend para enviar emails
  • RESEND_FROM_EMAIL: Email y nombre del remitente

Cómo obtener:

  1. Ve a resend.com
  2. Crea una cuenta
  3. Genera una API key
  4. Verifica tu dominio

GHL_API_KEY=tu-api-key
GHL_LOCATION_ID=tu-location-id

Descripción:

  • GHL_API_KEY: API key de GoHighLevel
  • GHL_LOCATION_ID: ID de la ubicación en GHL

Cómo obtener:

  1. Ve a tu cuenta de GoHighLevel
  2. Settings → Integrations → API
  3. Genera una API key
  4. Obtén el Location ID

SENTRY_DSN=https://tu-dsn@sentry.io/proyecto-id
PUBLIC_ENV=production

Descripción:

  • SENTRY_DSN: DSN de Sentry para monitoreo de errores
  • PUBLIC_ENV: Entorno (development, staging, production)

Cómo obtener:

  1. Ve a sentry.io
  2. Crea un proyecto
  3. Copia el DSN

WEBHOOK_SECRET=tu-secreto-aleatorio

Descripción:

  • WEBHOOK_SECRET: Secreto para validar webhooks entrantes

Cómo generar:

Ventana de terminal
# Genera un secreto aleatorio
openssl rand -hex 32

MERCADOPUBLICO_TICKET=tu-ticket

Descripción:

  • MERCADOPUBLICO_TICKET: Ticket de autenticación para API de Mercado Público

Crea un archivo .env en la raíz del proyecto:

# Base de datos
TURSO_DATABASE_URL=libsql://...
TURSO_AUTH_TOKEN=...
# Almacenamiento
BACKBLAZE_KEY_ID=...
BACKBLAZE_APPLICATION_KEY=...
BACKBLAZE_BUCKET=...
# Email
RESEND_API_KEY=...
RESEND_FROM_EMAIL=Te Afirmo <notificaciones@teafirmo.cl>
# CRM
GHL_API_KEY=...
GHL_LOCATION_ID=...
# Monitoreo
SENTRY_DSN=...
PUBLIC_ENV=development
# Webhooks
WEBHOOK_SECRET=...
# Mercado Público
MERCADOPUBLICO_TICKET=...
  1. Ve a tu proyecto en Vercel
  2. Settings → Environment Variables
  3. Agrega cada variable
  4. Selecciona los entornos (Production, Preview, Development)
Ventana de terminal
# Verificar que todas las variables estén configuradas
curl http://localhost:4321/api/health
  1. Nunca commitees el archivo .env

    • Ya está en .gitignore
    • Verifica que no esté en el repositorio
  2. Usa valores diferentes por entorno

    • Desarrollo: valores de prueba
    • Producción: valores reales
  3. Rota las claves regularmente

    • Especialmente si hay una fuga de seguridad
  4. Usa secretos seguros

    • Genera tokens aleatorios largos
    • No uses valores predecibles
  1. Verifica que el nombre sea exacto (case-sensitive)
  2. Reinicia el servidor después de agregar variables
  3. Verifica que no haya espacios extra
  4. En Vercel, verifica que esté en el entorno correcto
  1. Verifica que las URLs y tokens sean correctos
  2. Verifica que los servicios externos estén activos
  3. Revisa los logs para ver el error específico