Centro de ayuda

Troubleshooting

Los recordatorios no llegan

Diagnóstico paso a paso cuando los recordatorios automáticos o el digest diario no se están enviando.

Actualizado: 2026-05-05

Los recordatorios no llegan

Los recordatorios automáticos (24h antes de la cita) y el digest diario al dueño dependen de tres capas: pg_cron en Supabase, la API del canal (Telegram, WhatsApp, etc.) y la configuración del tenant. Esta guía te ayuda a identificar en qué capa está el problema.

Diagnóstico rápido

Responde estas preguntas en orden:

1. ¿El canal está configurado en /dashboard/settingsCanales? ¿Aparece el indicador verde de "Conectado"?

2. ¿La cita tiene un estado Confirmada? Los recordatorios solo se envían a citas confirmadas.

3. ¿La zona horaria del tenant está correctamente configurada?

4. ¿El pg_cron job está activo en Supabase?

---

Verificar el estado del canal

Telegram

1. Ve a /dashboard/settingsCanalesTelegram.

2. Haz clic en Enviar mensaje de prueba.

3. Si el mensaje no llega: verifica que el Chat ID es correcto y que el bot no está bloqueado por el usuario.

Para desbloquear el bot en Telegram: abre la conversación con el bot → menú (...) → Desbloquear bot.

WhatsApp

1. Verifica que el token de acceso no haya expirado. Los tokens de prueba vencen en 24 horas.

2. Genera un nuevo System User Token en Meta for Developers y actualízalo en el dashboard.

3. Revisa que las plantillas recordatorio_24h y confirmacion_cita estén APPROVED en Meta Business Manager.

SMS (Twilio)

1. En la consola Twilio, ve a MonitorLogsMessaging.

2. Busca los mensajes fallidos de las últimas 24 horas.

3. El error 30003 (número inaccesible) suele significar que el número del cliente está apagado o fuera de cobertura.

Email (Resend)

1. Ve a resend.comEmails → revisa el estado de los últimos envíos.

2. Si aparece bounced, el correo del cliente no existe o está rechazando mensajes.

3. Si aparece spam, revisa la configuración SPF/DKIM de tu dominio.

---

Verificar pg_cron

Los jobs de recordatorio los ejecuta pg_cron en Supabase cada hora. Para verificar:


-- Ejecuta esto en el SQL Editor de Supabase
SELECT jobname, schedule, active, last_run, next_run
FROM cron.job
WHERE jobname LIKE '%recordatorio%' OR jobname LIKE '%digest%';

Si la columna active es false, reactiva el job:


SELECT cron.alter_job(
  (SELECT jobid FROM cron.job WHERE jobname = 'enviar_recordatorios'),
  active := true
);

Si el job no existe, consulta pg_cron no dispara para recrearlo.

---

Verificar zona horaria

Si los recordatorios llegan a la hora equivocada (o no llegan porque se envían fuera de ventana):

1. Ve a /dashboard/settingsNegocio.

2. Confirma que la Zona horaria sea la correcta (p. ej. America/Guayaquil, America/Bogota).

3. Guarda aunque no hayas cambiado nada — esto fuerza la recalculación de los próximos recordatorios.

---

Registro de envíos fallidos

En /dashboard/calls (próximamente en /dashboard/notifications) puedes ver el log de cada intento de envío de recordatorio con el error exacto devuelto por la API del canal.

Si el problema persiste, exporta el log y envíalo a soporte@cognitex.app.