UNPKG

skailan-contacts

Version:

Servicio de gestión de contactos para Skailan

135 lines (99 loc) 3.19 kB
# @skailan/contacts Servicio de gestión de contactos para la plataforma Skailan. ## Descripción Este módulo proporciona funcionalidades completas de gestión de contactos para la plataforma Skailan. Incluye: - Gestión de contactos individuales y empresas - Categorización y etiquetado de contactos - Integración con múltiples plataformas (WhatsApp, Telegram, Email) - Historial de interacciones - Gestión de información de contacto ## Instalación ```bash npm install @skailan/contacts ``` ## Uso ### Importación básica ```typescript import { ContactService } from '@skailan/contacts'; const contactService = new ContactService(); // Crear un nuevo contacto const contact = await contactService.createContact({ name: "Juan Pérez", email: "juan@ejemplo.com", phone: "+1234567890", organizationId: "org-123" }); ``` ### Configuración de variables de entorno ```env DATABASE_URL="postgresql://user:password@localhost:5432/skailan" ``` ## API Endpoints ### Contactos - `GET /contacts` - Listar contactos - `POST /contacts` - Crear contacto - `GET /contacts/:id` - Obtener contacto - `PUT /contacts/:id` - Actualizar contacto - `DELETE /contacts/:id` - Eliminar contacto ### Plataformas de contacto - `GET /contact-platforms` - Listar plataformas - `POST /contact-platforms` - Crear plataforma - `GET /contact-platforms/:id` - Obtener plataforma - `PUT /contact-platforms/:id` - Actualizar plataforma ### Etiquetas de contacto - `GET /contact-tags` - Listar etiquetas - `POST /contact-tags` - Crear etiqueta - `GET /contact-tags/:id` - Obtener etiqueta - `PUT /contact-tags/:id` - Actualizar etiqueta ## Características - **Gestión completa de contactos**: CRUD completo para contactos - **Plataformas múltiples**: Soporte para WhatsApp, Telegram, Email, etc. - **Sistema de etiquetas**: Categorización flexible de contactos - **Multitenancy**: Aislamiento de datos por organización - **Validación robusta**: Validación de datos de entrada - **Búsqueda avanzada**: Filtros y búsqueda por múltiples criterios ## Dependencias - Express.js para el servidor web - Prisma para ORM - UUID para generación de IDs - @skailan/core para autenticación ## 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 contacto con plataforma ```typescript import { ContactService } from '@skailan/contacts'; const contactService = new ContactService(); const contact = await contactService.createContact({ name: "María García", email: "maria@empresa.com", phone: "+1234567890", organizationId: "org-123", platforms: [ { type: "whatsapp", identifier: "+1234567890" }, { type: "telegram", identifier: "@mariagarcia" } ], tags: ["cliente", "vip"] }); ``` ### Buscar contactos por etiqueta ```typescript const contacts = await contactService.findByTag("vip", "org-123"); ``` ## Licencia MIT