Cinndev Logo
Workspace API Documentation
Host: api.cinndev.co
/api/v1

Crear Cuenta de Correo & Auto-Calendario

Cada usuario puede registrar una o múltiples cuentas de correo IMAP. Al guardar la cuenta, el sistema crea de forma automática un calendario vinculado a dicha cuenta con zona horaria America/Bogota y el color dorado corporativo de Cinndev.

POST /api/v1/email-accounts Bearer Token

Parámetros del Body (JSON)

Parámetro Tipo Estado Descripción
name
string Requerido Nombre de la cuenta (ej: Comercial Cinndev).
email
string Requerido Email de la cuenta.
imap_host
string Requerido Servidor IMAP (ej: imap.hostinger.com).
imap_port
integer Requerido Puerto IMAP (ej: 993).
imap_encryption
string Requerido Cifrado: ssl, tls o none.
imap_username
string Requerido Usuario de autenticación IMAP.
imap_password
string Requerido Contraseña (encriptada con seguridad AES-256).
Ejemplo de Creación
curl -X POST "https://api.cinndev.co/api/v1/email-accounts" \
  -H "Authorization: Bearer 5|XYZ..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "name": "Comercial Cinndev",
    "email": "[email protected]",
    "imap_host": "imap.hostinger.com",
    "imap_port": 993,
    "imap_encryption": "ssl",
    "imap_username": "[email protected]",
    "imap_password": "PasswordSeguro*"
  }'
Respuesta 201 Created (Con Calendario) 201 Created
{
  "success": true,
  "message": "Cuenta de correo configurada exitosamente y calendario creado automáticamente.",
  "data": {
    "id": 1,
    "name": "Comercial Cinndev",
    "email": "[email protected]",
    "calendar": {
      "id": 1,
      "user_id": 3,
      "email_account_id": 1,
      "name": "Calendario Comercial Cinndev",
      "color": "#c59b4c",
      "timezone": "America/Bogota",
      "is_default": true
    }
  }
}

Agendar Cita o Evento (Google Calendar)

Permite crear citas con enlace de videoconferencia (Google Meet, Zoom, Teams), asistentes con seguimiento de estado (aceptado, rechazado, pendiente), recordatorios automáticos por correo o popup, y reglas de recurrencia (semanal, mensual).

POST /api/v1/calendar-events Bearer Token

Parámetros del Body (JSON)

Parámetro Tipo Estado Descripción
calendar_id
integer Requerido ID del calendario donde se agendará la cita.
title
string Requerido Título de la reunión o cita.
start_time
datetime Requerido Fecha y hora inicial (ISO 8601 o YYYY-MM-DD HH:MM:SS).
end_time
datetime Requerido Fecha y hora de finalización.
meeting_url
url Opcional Enlace a Meet, Zoom o Teams.
location
string Opcional Ubicación física de la cita.
attendees
array Opcional Lista de invitados con nombre y correo.
reminders
array Opcional Recordatorios programados (minutos antes).
Ejemplo de Cita
curl -X POST "https://api.cinndev.co/api/v1/calendar-events" \
  -H "Authorization: Bearer 5|XYZ..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "calendar_id": 1,
    "title": "Demostración de Plataforma con Cliente",
    "description": "Revisión en vivo de las capacidades del API y CRM",
    "start_time": "2026-10-20 10:00:00",
    "end_time": "2026-10-20 11:00:00",
    "location": "Sala de Juntas Piso 5",
    "meeting_url": "https://meet.google.com/cin-ndev-crm",
    "attendees": [
      {"name": "Fernando Gonzalez", "email": "[email protected]", "status": "accepted"},
      {"name": "Director de Tecnología", "email": "[email protected]", "status": "needsAction"}
    ],
    "reminders": [
      {"type": "email", "minutes_before": 60},
      {"type": "popup", "minutes_before": 10}
    ]
  }'
Respuesta 201 Created 201 Created
{
  "success": true,
  "message": "Cita o evento agendado exitosamente.",
  "data": {
    "id": 1,
    "calendar_id": 1,
    "title": "Demostración de Plataforma con Cliente",
    "start_time": "2026-10-20T10:00:00.000000Z",
    "end_time": "2026-10-20T11:00:00.000000Z",
    "meeting_url": "https://meet.google.com/cin-ndev-crm",
    "status": "confirmed",
    "attendees": [
      {"name": "Fernando Gonzalez", "email": "[email protected]", "status": "accepted"},
      {"name": "Director de Tecnología", "email": "[email protected]", "status": "needsAction"}
    ]
  }
}

Consultar Citas por Rango de Fechas

Obtiene las citas del usuario para renderizar vistas de mes, semana o agenda en el frontend del Workspace.

GET /api/v1/calendar-events Bearer Token

Filtros Disponibles (Query Params)

Parámetro Tipo Descripción
start
datetime Fecha de inicio del rango (ej: 2026-10-01).
end
datetime Fecha de fin del rango (ej: 2026-10-31).
calendar_id
integer Filtra por un calendario específico.
search
string Busca coincidencias en título, descripción o lugar.
Consulta de Agenda
curl -X GET "https://api.cinndev.co/api/v1/calendar-events?start=2026-10-01&end=2026-10-31" \
  -H "Authorization: Bearer 5|XYZ..." \
  -H "Accept: application/json"
Respuesta 200 OK 200 OK
{
  "success": true,
  "data": [
    {
      "id": 1,
      "title": "Demostración de Plataforma con Cliente",
      "start_time": "2026-10-20T10:00:00.000000Z",
      "end_time": "2026-10-20T11:00:00.000000Z",
      "meeting_url": "https://meet.google.com/cin-ndev-crm",
      "calendar": {
        "id": 1,
        "name": "Calendario Comercial Cinndev",
        "color": "#c59b4c"
      }
    }
  ]
}