Quickstart Backend
Configura tu servidor backend en 5 minutos.1. Crear proyecto
2. Instalar dependencias
3. Configurar TypeScript
tsconfig.json:
Guía rápida para configurar el backend de Camarauth
mkdir camarauth-server
cd camarauth-server
npm init -y
npm install @camarauth/sdk express socket.io cors jsonwebtoken dotenv
npm install -D typescript ts-node @types/node @types/express @types/cors @types/jsonwebtoken
npx tsc --init
tsconfig.json:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true
}
}
mkdir src
touch src/index.ts
// src/index.ts
import { CamarauthBackend } from '@camarauth/sdk/server';
import dotenv from 'dotenv';
dotenv.config();
const backend = new CamarauthBackend({
port: 3001,
jwtSecret: 'cambia-esto-en-produccion',
evolutionApiUrl: 'https://tu-evolution-api.com',
evolutionApiKey: 'tu-api-key',
evolutionInstanceName: 'mi-instancia',
corsOrigins: ['http://localhost:5173']
});
backend.start();
touch .env
# .env
PORT=3001
JWT_SECRET=tu-secreto-muy-seguro
EVOLUTION_API_URL=https://tu-evolution-api.com
EVOLUTION_API_KEY=tu-api-key
EVOLUTION_INSTANCE_NAME=mi-instancia
CORS_ORIGINS=http://localhost:5173
npx ts-node src/index.ts
╔══════════════════════════════════════════════════════════╗
║ 🚀 Camarauth Backend Iniciado ║
╠══════════════════════════════════════════════════════════╣
║ Host: 0.0.0.0:3001 (Todas las interfaces) ║
║ Local: http://localhost:3001 ║
╠══════════════════════════════════════════════════════════╣
║ Evolution API: ║
║ URL: https://tu-evolution-api.com ║
║ Instance: mi-instancia ║
╚══════════════════════════════════════════════════════════╝
URL: http://TU-IP:3001/whatsapp-endpoint
Eventos: messages.upsert
curl http://localhost:3001/health
{
"status": "ok",
"timestamp": "2024-01-01T00:00:00.000Z",
"activePins": 0,
"instance": "mi-instancia"
}
import { CamarauthBackend } from '@camarauth/sdk/server';
import { Pool } from 'pg';
import dotenv from 'dotenv';
dotenv.config();
const db = new Pool({
connectionString: process.env.DATABASE_URL
});
const backend = new CamarauthBackend({
port: 3001,
jwtSecret: process.env.JWT_SECRET!,
evolutionApiUrl: process.env.EVOLUTION_API_URL!,
evolutionApiKey: process.env.EVOLUTION_API_KEY!,
evolutionInstanceName: process.env.EVOLUTION_INSTANCE_NAME!,
db // Opcional, para persistencia
});
backend.start();