UNPKG

skailan-crm

Version:

Servicio de CRM y gestión de ventas para Skailan

166 lines (128 loc) 3.89 kB
# @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 ```bash npm install @skailan/crm ``` ## Uso ### Importación básica ```typescript 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 ```env DATABASE_URL="postgresql://user:password@localhost:5432/skailan" ``` ## API Endpoints ### Leads - `GET /leads` - Listar leads - `POST /leads` - Crear lead - `GET /leads/:id` - Obtener lead - `PUT /leads/:id` - Actualizar lead - `DELETE /leads/:id` - Eliminar lead ### Oportunidades - `GET /opportunities` - Listar oportunidades - `POST /opportunities` - Crear oportunidad - `GET /opportunities/:id` - Obtener oportunidad - `PUT /opportunities/:id` - Actualizar oportunidad - `DELETE /opportunities/:id` - Eliminar oportunidad ### Actividades - `GET /activities` - Listar actividades - `POST /activities` - Crear actividad - `GET /activities/:id` - Obtener actividad - `PUT /activities/:id` - Actualizar actividad ### Cotizaciones - `GET /quotes` - Listar cotizaciones - `POST /quotes` - Crear cotización - `GET /quotes/:id` - Obtener cotización - `PUT /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 ```bash # Instalar dependencias npm install # Ejecutar en modo desarrollo npm run dev # Construir para producción npm run build # Generar cliente Prisma npm run prisma:generate ``` ## Ejemplos de uso ### Crear oportunidad desde lead ```typescript 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 ```typescript 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 ```typescript 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