skailan-crm
v1.0.0
Published
Servicio de CRM y gestión de ventas para Skailan
Downloads
18
Maintainers
Readme
@skailan/crm
Servicio de CRM y gestión de ventas para la plataforma Skailan.
Descripción
Este módulo proporciona funcionalidades completas de CRM (Customer Relationship Management) para la plataforma Skailan. Incluye:
- Gestión de leads y oportunidades
- Pipeline de ventas personalizable
- Seguimiento de actividades comerciales
- Gestión de cotizaciones y propuestas
- Análisis de rendimiento de ventas
- Integración con contactos y conversaciones
Instalación
npm install @skailan/crmUso
Importación básica
import { CRMService } from '@skailan/crm';
const crmService = new CRMService();
// Crear un nuevo lead
const lead = await crmService.createLead({
name: "Empresa ABC",
contactId: "contact-123",
source: "website",
value: 50000,
organizationId: "org-123"
});Configuración de variables de entorno
DATABASE_URL="postgresql://user:password@localhost:5432/skailan"API Endpoints
Leads
GET /leads- Listar leadsPOST /leads- Crear leadGET /leads/:id- Obtener leadPUT /leads/:id- Actualizar leadDELETE /leads/:id- Eliminar lead
Oportunidades
GET /opportunities- Listar oportunidadesPOST /opportunities- Crear oportunidadGET /opportunities/:id- Obtener oportunidadPUT /opportunities/:id- Actualizar oportunidadDELETE /opportunities/:id- Eliminar oportunidad
Actividades
GET /activities- Listar actividadesPOST /activities- Crear actividadGET /activities/:id- Obtener actividadPUT /activities/:id- Actualizar actividad
Cotizaciones
GET /quotes- Listar cotizacionesPOST /quotes- Crear cotizaciónGET /quotes/:id- Obtener cotizaciónPUT /quotes/:id- Actualizar cotización
Características
- Pipeline de ventas: Gestión completa del proceso de ventas
- Seguimiento de actividades: Registro de todas las interacciones
- Gestión de leads: Captura y seguimiento de prospectos
- Cotizaciones: Creación y gestión de propuestas comerciales
- Análisis: Reportes y métricas de ventas
- Integración: Conecta con contactos y conversaciones
Dependencias
- Express.js para el servidor web
- Prisma para ORM
- UUID para generación de IDs
- @skailan/core para autenticación
- @skailan/contacts para gestión de contactos
Desarrollo
# Instalar dependencias
npm install
# Ejecutar en modo desarrollo
npm run dev
# Construir para producción
npm run build
# Generar cliente Prisma
npm run prisma:generateEjemplos de uso
Crear oportunidad desde lead
import { CRMService } from '@skailan/crm';
const crmService = new CRMService();
const opportunity = await crmService.createOpportunity({
leadId: "lead-123",
name: "Proyecto de desarrollo web",
value: 25000,
stage: "proposal",
probability: 0.7,
organizationId: "org-123"
});Registrar actividad comercial
const activity = await crmService.createActivity({
type: "meeting",
subject: "Reunión de presentación",
description: "Presentación de propuesta comercial",
contactId: "contact-123",
opportunityId: "opp-123",
scheduledAt: new Date("2024-01-15T10:00:00Z"),
organizationId: "org-123"
});Generar cotización
const quote = await crmService.createQuote({
opportunityId: "opp-123",
contactId: "contact-123",
items: [
{
description: "Desarrollo de sitio web",
quantity: 1,
unitPrice: 15000
},
{
description: "Hosting por 1 año",
quantity: 12,
unitPrice: 50
}
],
validUntil: new Date("2024-02-15"),
organizationId: "org-123"
});Licencia
MIT
