Solución de problemas

Los problemas más comunes, sus causas y qué hacer.

Empieza por el Estado del sistema

En Nevua → Panel → Estado del sistema, Nevua revisa las causas más comunes y dice qué hacer. Para más detalle, activa el registro de depuración de WordPress (WP_DEBUG y WP_DEBUG_LOG en wp-config.php): Nevua escribe lo que falló (un correo, un medio de pago, un calendario) en wp-content/debug.log.

El formulario no muestra horarios, o no los que esperaba

Un horario solo aparece si todo esto lo permite:

  • es un día de atención, dentro de un turno (Configuración → General), o dentro de la agenda del profesional (PRO);
  • no es un día libre;
  • está después de la antelación mínima y antes de la antelación máxima;
  • el servicio termina, a más tardar, cuando el turno acaba;
  • nadie tiene una reserva en ese horario (ni un pago en curso, en PRO);
  • el calendario conectado del profesional no muestra un compromiso en ese horario (PRO).

Revisa también la zona horaria del sitio (Ajustes → Generales → Zona horaria, de WordPress): elige tu ciudad, no un desfase UTC.

“Error al cargar los servicios” en el formulario

El formulario limita las solicitudes por dirección IP del visitante: 60 por minuto, y 10 reservas nuevas por minuto. Muchos intentos seguidos, casi siempre al probar, llegan a ese límite. Espera un minuto y recarga. Un administrador con sesión iniciada nunca tiene límite.

Detrás de Cloudflare o de un proxy, todos los visitantes pueden parecer tener la misma IP. Mira Para desarrolladores.

Los clientes no reciben los correos, o llegan a spam

El correo predeterminado de WordPress suele ser filtrado. Instala un plugin de SMTP y conéctalo a un servicio de envío o al buzón de tu dominio. Después, envía un correo de prueba desde Nevua → Notificaciones. Mira Correos y recordatorios.

Los recordatorios llegan tarde o no llegan

Los recordatorios dependen de WP-Cron, que necesita visitas al sitio. El Estado del sistema muestra cuándo se enviaron por última vez. Pide a tu hosting un cron real que llame a wp-cron.php cada pocos minutos.

PRO: el pago se hizo, pero la reserva sigue pendiente

El medio de pago no pudo avisar a tu sitio. Revisa que:

  • el sitio sea público y esté en https;
  • el webhook del medio de pago apunte a la URL del webhook que aparece en Configuración → Pagos, con los eventos que se listan ahí;
  • en Stripe, el secreto del webhook sea el secreto de firma del endpoint (whsec_…).

Sin la confirmación del pago, el horario reservado se libera después de 30 minutos.

PRO: PayPal o Pix no aparecen en el formulario

  • PayPal solo acepta BRL, USD, EUR y MXN.
  • Pix necesita Mercado Pago activado y la moneda en BRL.
  • Un medio de pago solo aparece cuando está activado y con sus claves guardadas.

PRO: no se envían SMS ni WhatsApp

Abre Notificaciones → Registros: cada intento aparece con el motivo de la falla. Los más comunes:

  • el cliente dejó el teléfono vacío;
  • el canal está activado pero sin proveedor (la pestaña Canales avisa);
  • una cuenta de prueba de Twilio solo llega a números verificados en Twilio;
  • WhatsApp: el mensaje no tiene una plantilla aprobada (Content SID), o Meta todavía no la aprobó.

PRO: el calendario de Google u Outlook no se conecta

Casi siempre es la dirección de retorno: debe ser exactamente la URI de redirección que Nevua muestra en Configuración → Sincronización de calendario. Mientras la app esté en modo de prueba en Google, solo pueden conectarse los usuarios de prueba que agregaste. Mira Sincronización de calendario.

Para desarrolladores

  • Detrás de un proxy o de Cloudflare: por defecto, Nevua usa la IP de la propia conexión, porque los encabezados de IP reenviada se pueden falsificar. Si tu proxy los completa de forma confiable, agrega add_filter('nevua_trust_proxy_headers', '__return_true'); a un pequeño plugin o al functions.php del tema; detrás de Cloudflare, agrega también add_filter('nevua_trust_cloudflare', '__return_true');. Actívalo solo si el sitio está detrás de un proxy: de lo contrario, un visitante podría escribir su propia dirección.
  • Conservar los datos al eliminar, sea cual sea la opción: define('NEVUA_PRESERVE_DATA', true); en wp-config.php.