Documéntalo
Relaciónalo

Relaciónalo — API de CRM y gestión de clientes

Clientes, historial de sesiones, comunicaciones automáticas y portal de reservas para organizaciones de servicios.

Relaciónalo

Clientes, historial de sesiones, comunicaciones automáticas y portal de reservas.

Relaciónalo es el módulo CRM del ecosistema Digitalo. Opera dentro de Coordinalo como uno de los tres módulos core y gestiona la relación completa con el cliente: desde su primera reserva online hasta las comunicaciones de seguimiento post-sesión.


Conceptos clave

Cliente

Persona que recibe servicios de la organización (paciente, alumno, cliente). Cada cliente pertenece a una organización y tiene un identificador único.

interface Client {
  id: string;
  organization_id: string;
  name: string;
  last_name: string;
  email: string;
  phone?: string;
  tags?: string[];
  notes?: string;
  created_at: string;
  updated_at: string;
}

Ficha de cliente

Vista consolidada que agrupa toda la información de un cliente en un solo lugar:

SecciónContenido
Datos personalesNombre, email, teléfono, tags
Historial de sesionesTodas las sesiones pasadas y futuras
MétricasTotal de sesiones, tasa de asistencia, LTV
SaldoSesiones disponibles, comprometidas, consumidas
ComunicacionesHistorial de WhatsApp y email

Portal de reservas

Página pública donde los clientes agendan sesiones online 24/7, sin necesidad de contactar a la organización. Cada organización tiene su propio portal con URL personalizada.

https://coordinalo.com/{slug}/explorar

El portal muestra los servicios disponibles, permite seleccionar profesional y horario, y confirma la reserva automáticamente.

Comunicaciones automáticas

Mensajes enviados automáticamente a clientes vía WhatsApp Business y email. Cubren todo el ciclo de vida de la sesión:

MomentoComunicaciónCanal
Al reservarConfirmación de reservaWhatsApp + Email
48h antesSolicitud de confirmaciónWhatsApp
24h antesRecordatorioWhatsApp + Email
2h antesRecordatorio finalWhatsApp
Post-sesiónSeguimientoWhatsApp
Inactividad (30d)ReactivaciónWhatsApp + Email

Endpoints

Todos los endpoints usan el prefijo /api/organizations/{slug}/relacionalo.

Clientes

MétodoEndpointDescripción
GET/clientsListar clientes
POST/clientsCrear cliente
GET/clients/{id}Detalle con historial completo
PATCH/clients/{id}Actualizar datos

Parámetros de query (listar clientes)

ParámetroTipoDescripción
searchstringBuscar por nombre, email o teléfono
tagsstringFiltrar por tags (separados por coma)
last_session_fromstringÚltima sesión desde (ISO 8601)
last_session_tostringÚltima sesión hasta (ISO 8601)
pagenumberPágina (default: 1)
limitnumberResultados por página (default: 20)

Portal de reservas

Endpoints públicos (no requieren autenticación).

MétodoEndpointDescripción
GET/{slug}/explorarServicios disponibles públicamente
GET/{slug}/explorar/disponibilidadHorarios disponibles
POST/{slug}/explorar/reservarCrear reserva desde portal

Parámetros de disponibilidad

ParámetroTipoDescripción
service_idstringServicio a consultar
provider_idstringProfesional (opcional)
datestringFecha específica (ISO 8601)
fromstringRango desde
tostringRango hasta

Comunicaciones

MétodoEndpointDescripción
POST/whatsapp/sendEnviar mensaje WhatsApp
GET/whatsapp/templatesTemplates aprobados disponibles
POST/whatsapp/webhookWebhook de respuestas entrantes

Flujo del cliente

El ciclo de vida completo del cliente en Relaciónalo:

┌────────────────────┐
│  Cliente descubre   │
│  portal de reservas │
└─────────┬──────────┘

┌────────────────────┐
│  Agenda online     │  ← Selecciona servicio, profesional, horario
└─────────┬──────────┘

┌────────────────────┐
│  Recibe            │  ← WhatsApp + Email automático
│  confirmación      │
└─────────┬──────────┘

┌────────────────────┐
│  Recordatorio      │  ← 48h: confirmación · 24h: recordatorio · 2h: último aviso
│  automático        │
└─────────┬──────────┘

┌────────────────────┐
│  Asiste a sesión   │  ← Status: confirmed → delivered
└─────────┬──────────┘

┌────────────────────┐
│  Mensaje           │  ← "¿Cómo te fue?" + link para agendar siguiente
│  post-sesión       │
└─────────┬──────────┘

┌────────────────────┐
│  Historial queda   │  ← Sesión, pago, comunicaciones registradas
│  en ficha          │
└─────────┬──────────┘

┌────────────────────┐
│  Próxima reserva   │  ← Si pasan 30d sin actividad → reactivación automática
│  sugerida          │
└────────────────────┘

Cada paso genera registros en la ficha del cliente: sesiones, pagos y comunicaciones quedan trazadas.


Templates WhatsApp

Relaciónalo incluye 11 templates pre-aprobados por Meta, listos para usar. Los templates usan variables dinámicas que se reemplazan automáticamente.

#TemplateCanalTriggerVariables
1Confirmación de reservaWhatsAppAl crear reserva{{name}}, {{service}}, {{date}}, {{time}}, {{provider}}
2Solicitud de confirmaciónWhatsApp48h antes{{name}}, {{service}}, {{date}}, {{time}}
3Recordatorio 24hWhatsApp + Email24h antes{{name}}, {{service}}, {{date}}, {{time}}, {{location}}
4Recordatorio 2hWhatsApp2h antes{{name}}, {{time}}
5Cancelación por clienteWhatsAppAl cancelar{{name}}, {{service}}, {{date}}
6Cancelación por organizaciónWhatsAppAl cancelar (org){{name}}, {{service}}, {{date}}, {{reason}}
7ReagendamientoWhatsAppAl reagendar{{name}}, {{old_date}}, {{new_date}}, {{new_time}}
8Seguimiento post-sesiónWhatsApp1h post-sesión{{name}}, {{service}}, {{provider}}, {{booking_url}}
9Recordatorio de pagoWhatsApp + EmailX días post-vencimiento{{name}}, {{amount}}, {{payment_url}}
10ReactivaciónWhatsApp + Email30d sin actividad{{name}}, {{days_inactive}}, {{booking_url}}
11BienvenidaWhatsAppAl crear cliente{{name}}, {{organization}}, {{booking_url}}

Los templates deben ser pre-aprobados por Meta antes de poder usarse en WhatsApp Business. Coordinalo incluye estos 11 templates listos para usar con la integración de Evolution API.

Ejemplo de template

{
  "template_id": "tpl_session_reminder_24h",
  "name": "Recordatorio 24h",
  "channel": "whatsapp",
  "body": "Hola {{name}}, te recordamos que mañana {{date}} a las {{time}} tienes tu sesión de {{service}} con {{provider}}.\n\nTe esperamos en {{location}}.\n\n¿Podrás asistir? Responde SÍ o NO.",
  "variables": ["name", "date", "time", "service", "provider", "location"],
  "status": "approved"
}

Ejemplo: Ficha de cliente con historial

GET /api/organizations/clinica-salud/relacionalo/clients/cli_789

Respuesta (200):

{
  "id": "cli_789",
  "name": "Juan",
  "last_name": "Pérez",
  "email": "[email protected]",
  "phone": "+56912345678",
  "tags": ["kinesiologia", "convenio-isapre"],
  "notes": "Paciente derivado por Dr. Muñoz. Lesión de rodilla derecha.",
  "created_at": "2024-03-15T10:00:00-03:00",
  "stats": {
    "total_sessions": 24,
    "completed_sessions": 22,
    "cancelled_sessions": 2,
    "attendance_rate": 0.917,
    "total_spent": 1200000,
    "first_session": "2024-03-20T10:00:00-03:00",
    "last_session": "2025-01-10T11:00:00-03:00"
  },
  "balance": {
    "available": 3,
    "committed": 1,
    "consumed": 6
  },
  "recent_sessions": [
    {
      "id": "ses_101",
      "service": "Sesión de kinesiología",
      "provider": "Dra. García",
      "starts_at": "2025-01-10T11:00:00-03:00",
      "status": "delivered"
    },
    {
      "id": "ses_102",
      "service": "Sesión de kinesiología",
      "provider": "Dra. García",
      "starts_at": "2025-01-17T11:00:00-03:00",
      "status": "scheduled"
    }
  ],
  "recent_communications": [
    {
      "id": "comm_201",
      "channel": "whatsapp",
      "type": "session_reminder",
      "status": "read",
      "sent_at": "2025-01-09T11:00:00-03:00",
      "body": "Hola Juan, te recordamos que mañana tienes tu sesión..."
    },
    {
      "id": "comm_202",
      "channel": "whatsapp",
      "type": "confirmation",
      "status": "read",
      "sent_at": "2025-01-08T11:00:00-03:00",
      "response": {
        "text": "Sí, confirmo",
        "received_at": "2025-01-08T11:05:00-03:00"
      }
    }
  ]
}

La ficha incluye en una sola llamada: datos personales, métricas históricas, saldo actual de sesiones, sesiones recientes y últimas comunicaciones.


Relación con otros módulos

Relaciónalo se integra con los otros dos módulos de Coordinalo:

MóduloRelación con Relaciónalo
Coordinalo (Operaciones)Las sesiones agendadas se vinculan al cliente en su ficha
Planifícalo (Finanzas)Las ventas y saldos del cliente se muestran en la ficha

Webhooks de CRM

Relaciónalo emite eventos que pueden consumirse vía webhooks:

EventoDescripción
client.createdNuevo cliente registrado
client.updatedDatos de cliente actualizados
booking.createdReserva creada desde portal público
booking.cancelledReserva cancelada por cliente
communication.sentMensaje enviado (WhatsApp/email)
communication.deliveredMensaje entregado
communication.readMensaje leído (WhatsApp)
whatsapp.responseRespuesta recibida de cliente

Documentación detallada


Relaciónalo es parte del ecosistema Coordinalo. Ver también: Planifícalo (Finanzas) · Servicialo (Estándar abierto).

On this page