Backend de Aplicación CRM
Esquema, API y Agente de AI
Un esquema de backend de CRM listo para producción y un Kit de Inicio en Back4app: Contacto, Empresa, Negocio, Actividad, pipeline, diagrama ER, diccionario de datos, esquema JSON, playground de API, y un prompt de Agente de AI con un clic para desplegar en minutos. Elige entre 13+ tecnologías para guías de integración paso a paso.
Puntos Clave
En esta página obtienes un esquema de CRM listo para producción, un prompt de AI con un clic, y enlaces a guías paso a paso para 13+ tecnologías — para que puedas lanzar una app CRM sin construir el backend.
- Despliega en minutos — pega el aviso del Agente de IA y obtén una aplicación en funcionamiento con frontend, backend y base de datos.
- Seguro por defecto — ACLs y asignados para que los usuarios vean solo sus tratos y datos asignados.
- Guías tecnológicas 13+ — integración paso a paso del SDK para Flutter, React, Next.js, Android, iOS, Vue, Angular, y más.
- REST + GraphQL — ambas APIs son auto-generadas; no hay puntos finales personalizados que escribir.
- Cinco clases — _Usuario, Empresa, Contacto, Trato (pipeline), Actividad (tareas/eventos).
¿Qué es la plantilla de backend de la aplicación CRM?
Back4app es un backend como servicio (BaaS) ideal para aplicaciones CRM: base de datos gestionada, sincronización en tiempo real, acceso basado en roles y SDKs para más de 13 tecnologías. La plantilla de backend de la aplicación CRM es un esquema de backend preconstruido y listo para producción en Back4app. Te proporciona cinco clases (_User, Company, Contact, Deal, Activity), etapas de pipeline, APIs REST y GraphQL, y un aviso de agente de IA con un solo clic, para que puedas conectar cualquier frontend y lanzar una aplicación CRM funcional en minutos. Elige tu tecnología a continuación para la integración del SDK paso a paso.
Mejor para:
Resumen
Una aplicación CRM ayuda a los equipos a gestionar contactos, empresas, ofertas y actividades en un pipeline. En el fondo, necesita registro de usuarios, CRUD para Contacto/Empresa/Oferta/Actividad, etapas del pipeline, sincronización en tiempo real opcional y soporte offline para móviles.
El esquema a continuación define cinco clases — _User (incorporada), Company, Contact, Deal, y Activity — con punteros que vinculan ofertas a contactos y empresas, y actividades a contactos u ofertas. Con el SDK de Back4app puedes interactuar con este backend desde cualquier aplicación — consultando por etapa, creando y actualizando ofertas, registrando actividades — sin escribir una capa de API personalizada.
Características principales del CRM
Esta plantilla de backend incluye las siguientes características de CRM listas para usar. Elige tu tecnología a continuación para una integración paso a paso.
Gestión de contactos
Almacena y gestiona contactos con nombre, correo electrónico, teléfono, empresa y notas. Ideal para aplicaciones CRM.
Gestión de empresas
Rastrea empresas con nombre, sitio web, industria y dirección. Enlaces a contactos y ofertas.
Tubería de ofertas
Tubería de ventas con etapas, monto, fecha de cierre esperada y asignación. Construido para backends de CRM.
Seguimiento de actividades
Registra llamadas, correos electrónicos, reuniones y notas vinculadas a contactos y negocios. Funciona con el SDK de CRM.
Usuario y permisos
Modelo de usuario integrado y punteros para propiedad y asignación. ACLs listos para usar para CRM.
¿Por qué construir tu CRM backend CRM con Back4app?
Back4app te proporciona un backend listo y un SDK tipado para que puedas construir tu aplicación CRM sin escribir código REST o gestionar la autenticación tú mismo.
- •SDKs para cada stack: Flutter, React, Android, iOS, Vue, Angular, .NET — o usa REST / GraphQL desde cualquier lenguaje.
- •Autenticación y ACLs listos para usar: registro de usuario, inicio de sesión, tokens de sesión y control de acceso a nivel de fila sin middleware personalizado.
- •Tiempo real y fuera de línea: Live Queries a través de WebSockets para actualizaciones instantáneas de la interfaz; los SDK compatibles ofrecen almacenamiento local para aplicaciones prioritarias en modo offline.
- •Esquema flexible: agrega campos desde el panel de control o API en cualquier momento — sin migraciones, sin tiempo de inactividad.
El mismo esquema y APIs para cada stack — cambia de clientes más tarde sin cambiar el backend.
Beneficios principales
Un backend CRM listo para producción para que puedas enviar más rápido y concentrarte en tu aplicación.
Envía más rápido, sin código de backend
APIs REST y GraphQL y un esquema listo para usar — conecta tu aplicación y listo.
Seguro por defecto
ACLs y permisos a nivel de clase; restringir por assignedTo y createdBy.
Pipeline en Tiempo Real
Live Queries sobre WebSockets para actualizaciones instantáneas de ofertas y actividades.
Autenticación Integrada
Registro de usuario, inicio de sesión y manejo de sesiones listos para usar.
Funciona Sin Conexión
El anclaje local mantiene contactos y ofertas disponibles sin conexión y se sincroniza cuando te reconectas.
Despliega en Minutos
Usa el Agente de IA para crear y desplegar tu aplicación CRM a partir de esta plantilla.
¿Listo para probarlo?
Deja que el agente de IA de Back4app cree el backend de tu aplicación CRM, conecte el frontend tu tecnología elegida y despliegue — todo desde un solo aviso.
Gratis para comenzar — 50 avisos de agente de IA/mes, no se requiere tarjeta de crédito
Pila técnica
Todo lo que impulsa esta plantilla de aplicación CRM de un vistazo.
Diagrama ER
Diagrama de entidad-relación para el modelo de datos de la aplicación CRM CRM.
Esquema CRM: _Usuario, Empresa, Contacto, Negocio, Actividad con punteros para empresa, contacto, negocio, asignado a, relacionado con, creado por.
Ver fuente del diagrama
erDiagram
_User {
String objectId PK
String username
String email
String password
Date createdAt
Date updatedAt
}
Company {
String objectId PK
String name
String website
String industry
String address
String notes
Pointer createdBy FK
Date createdAt
Date updatedAt
}
Contact {
String objectId PK
String name
String email
String phone
Pointer company FK
String notes
Pointer createdBy FK
Date createdAt
Date updatedAt
}
Deal {
String objectId PK
String title
Number amount
String stage
Pointer contact FK
Pointer company FK
Date expectedCloseDate
String notes
Pointer assignedTo FK
Date createdAt
Date updatedAt
}
Activity {
String objectId PK
String type
String subject
String description
Date dueDate
Date completedAt
Pointer relatedTo FK
Pointer createdBy FK
Date createdAt
Date updatedAt
}
Company ||--o{ Contact : "has"
Company ||--o{ Deal : "has"
Contact ||--o{ Deal : "has"
_User ||--o{ Deal : "assignedTo"
_User ||--o{ Activity : "createdBy"
Contact ||--o{ Activity : "relatedTo"
Deal ||--o{ Activity : "relatedTo"
_User ||--o{ Company : "createdBy"
_User ||--o{ Contact : "createdBy"
Flujo de integración
Secuencia de Auth-to-CRUD: cómo tu aplicación {tech} se comunica con Back4app — iniciar sesión, luego consultar contactos y negocios, actualizar el pipeline.
Ver fuente del diagrama
sequenceDiagram
participant User
participant App as Your App
participant Back4app as Back4app Cloud
User->>App: Login
App->>Back4app: POST /login (username, password)
Back4app-->>App: Session token
App-->>User: Logged in
User->>App: Load contacts and deals
App->>Back4app: GET /classes/Contact, GET /classes/Deal
Back4app-->>App: List of Contact and Deal objects
App-->>User: Show pipeline
User->>App: Create deal or contact
App->>Back4app: POST /classes/Deal or POST /classes/Contact
Back4app-->>App: Deal or Contact (objectId)
App-->>User: Updated listDiccionario de datos
Referencia completa de campos para cada clase en el esquema.
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | automático |
| name | String | Full name of the contact | |
| String | Email address | — | |
| phone | String | Phone number | — |
| company | Pointer<Company> | Company this contact belongs to | — |
| notes | String | Free-form notes | — |
| createdBy | Pointer<_User> | User who created this contact | — |
| createdAt | Date | Auto-generated creation timestamp | automático |
| updatedAt | Date | Auto-generated last-update timestamp | automático |
9 campos en Contact
Seguridad y permisos
Cómo la propiedad, ACLs y permisos a nivel de clase protegen los datos en este esquema de CRM.
ACLs a Nivel de Fila
Usa ACLs y punteros (assignedTo, createdBy) para que los usuarios solo vean y editen sus tratos asignados y datos relacionados.
Permisos a Nivel de Clase
Los CLPs restringen qué roles o usuarios pueden crear, leer, actualizar o eliminar objetos a nivel de clase.
Propiedad Basada en Punteros
Deal.assignedTo y Activity.createdBy se vinculan a _User; Cloud Code puede hacer cumplir la visibilidad y las ediciones por rol.
Esquema (JSON)
Definición de esquema JSON en bruto — copia y usa en tu aplicación Back4app o importa a través de la API.
{
"classes": [
{
"className": "Contact",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"name": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": false
},
"phone": {
"type": "String",
"required": false
},
"company": {
"type": "Pointer",
"targetClass": "Company",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdBy": {
"type": "Pointer",
"targetClass": "_User",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Company",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"name": {
"type": "String",
"required": true
},
"website": {
"type": "String",
"required": false
},
"industry": {
"type": "String",
"required": false
},
"address": {
"type": "String",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdBy": {
"type": "Pointer",
"targetClass": "_User",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Deal",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"title": {
"type": "String",
"required": true
},
"amount": {
"type": "Number",
"required": false
},
"stage": {
"type": "String",
"required": false
},
"contact": {
"type": "Pointer",
"targetClass": "Contact",
"required": false
},
"company": {
"type": "Pointer",
"targetClass": "Company",
"required": false
},
"expectedCloseDate": {
"type": "Date",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"assignedTo": {
"type": "Pointer",
"targetClass": "_User",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Activity",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"type": {
"type": "String",
"required": false
},
"subject": {
"type": "String",
"required": false
},
"description": {
"type": "String",
"required": false
},
"dueDate": {
"type": "Date",
"required": false
},
"completedAt": {
"type": "Date",
"required": false
},
"relatedTo": {
"type": "Pointer",
"required": false
},
"createdBy": {
"type": "Pointer",
"targetClass": "_User",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "_User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Construir con el Agente de IA
Utiliza el Agente de IA de Back4app para construir una aplicación CRM real a partir de esta plantilla: creará el frontend, el backend (este esquema, autenticación y APIs) y lo desplegará — sin configuración manual. El aviso a continuación describe esta pila CRM para que el Agente pueda generar una aplicación lista para producción de una sola vez.
Crea una aplicación CRM en Back4app con este esquema y comportamiento exactos. Esquema: 1. _Usuario (usar Back4app incorporado): nombre de usuario (String, requerido), correo electrónico (String, requerido), contraseña (String, requerido); objectId, createdAt, updatedAt (sistema). 2. Empresa: nombre (String, requerido), sitio web (String), industria (String), dirección (String), notas (String), creadoPor (Puntero a _Usuario); objectId, createdAt, updatedAt (sistema). 3. Contacto: nombre (String, requerido), correo electrónico (String), teléfono (String), empresa (Puntero a Empresa), notas (String), creadoPor (Puntero a _Usuario); objectId, createdAt, updatedAt (sistema). 4. Negocio: título (String, requerido), monto (Número), etapa (String; por ejemplo, cliente potencial, calificado, propuesta, negociación, ganado, perdido), contacto (Puntero a Contacto), empresa (Puntero a Empresa), fechaEsperadaCierre (Fecha), notas (String), asignadoA (Puntero a _Usuario); objectId, createdAt, updatedAt (sistema). 5. Actividad: tipo (String; por ejemplo, llamada, correo electrónico, reunión, nota), asunto (String), descripción (String), fechaVencimiento (Fecha), completadoEn (Fecha), relacionadoCon (Puntero a Contacto o Negocio), creadoPor (Puntero a _Usuario); objectId, createdAt, updatedAt (sistema). Seguridad: - Establecer ACLs para que solo los usuarios autenticados puedan acceder a los datos; usar reglas basadas en roles o basadas en propietarios donde sea apropiado (por ejemplo, asignadoA, creadoPor). - Usar Permisos a Nivel de Clase para que solo los usuarios autenticados puedan crear/leer/actualizar/eliminar estas clases. Autenticación: - Registro (nombre de usuario, correo electrónico, contraseña) e inicio de sesión; soporte para cerrar sesión/sesión. Comportamiento: - CRUD completo para Empresa, Contacto, Negocio y Actividad. - Listar negocios con filtro por etapa y ordenar por fechaEsperadaCierre o updatedAt (vista de pipeline). - Listar actividades por relacionadoCon (Contacto o Negocio). - Opcional: Live Queries en tiempo real para Negocio y Actividad para actualizaciones de panel/pipeline. - Opcional: fijación fuera de línea para móvil (Contactos, Negocios, Actividades). Entregar: - Crear la aplicación Back4app con el esquema anterior, ACLs y cualquier Código en la Nube necesario. - Generar el frontend y conectarlo a este backend; desplegar para que la aplicación sea ejecutable de extremo a extremo.
Presiona el botón a continuación para abrir el Agente con el aviso de esta plantilla prellenado.
Este es el aviso base sin un sufijo de tecnología. Elige una página de tecnología a continuación para un aviso específico de tecnología que también genere el frontend.
API Playground
Prueba los endpoints REST y GraphQL para el esquema CRM. Respuestas de los datos de ejemplo anteriores — no se necesita cuenta de Back4app.
Utiliza el mismo esquema CRM (Contacto, Empresa, Negocio, Actividad) que esta plantilla.
Elige tu tecnología
Cada guía incluye integración de SDK paso a paso, patrones de gestión de estado, un modelo de datos completo y un aviso de agente de IA específico de la tecnología.
Lo que obtienes con cada tecnología
No importa qué tecnología elijas, cada guía y despliegue comparten este backend.
Misma estructura
Cinco clases (_User, Company, Contact, Deal, Activity) con canalización y ACLs — idénticas en todas las guías.
APIs REST y GraphQL
Puntos finales autogenerados para cada operación CRUD, con encabezados de autenticación y paginación integrados.
Autenticación y sesiones
Registro, inicio de sesión y tokens de sesión listos para usar — no se necesita middleware de autenticación personalizado.
Sugerencia del Agente de IA
Cada página de tecnología añade un sufijo específico de la tecnología al aviso base para que el Agente genere el frontend correcto.
Live Queries
Suscríbete a cambios en tiempo real a través de WebSockets — disponible desde cualquier SDK que lo soporte.
Esquema Flexible
Agrega campos, clases o relaciones en cualquier momento desde el panel de control o la API — no se requieren migraciones.
Preguntas Frecuentes
Preguntas comunes sobre la plantilla del backend de la aplicación CRM.
¿Listo para construir tu aplicación CRM?
Comienza tu proyecto en minutos — elige una tecnología y sigue la guía, o deja que el Agente de IA lo construya por ti. No se requiere tarjeta de crédito.