Solução de problemas

Os problemas mais comuns, as causas e o que fazer.

Comece pelo Status do sistema

Em Nevua → Painel → Status do sistema, o Nevua confere as causas mais comuns e diz o que fazer. Para mais detalhes, ligue o registro de depuração do WordPress (WP_DEBUG e WP_DEBUG_LOG no wp-config.php): o Nevua escreve o que falhou (um e-mail, um meio de pagamento, uma agenda) em wp-content/debug.log.

O formulário não mostra horários, ou não os que eu esperava

Um horário somente aparece se tudo isto permitir:

  • é um dia de atendimento, dentro de um turno (Configurações → Geral), ou dentro da agenda do profissional (PRO);
  • não é um dia de folga;
  • está depois da antecedência mínima e antes da antecedência máxima;
  • o serviço termina até o fim do turno;
  • ninguém tem reserva nesse horário (nem um pagamento em andamento, no PRO);
  • a agenda conectada do profissional não mostra compromisso nesse horário (PRO).

Confira também o fuso horário do site (Configurações → Geral → Fuso horário, do WordPress): escolha a sua cidade, não um deslocamento UTC.

“Falha ao carregar os serviços” no formulário

O formulário limita os pedidos por endereço IP do visitante: 60 por minuto, e 10 reservas novas por minuto. Muitas tentativas seguidas, quase sempre durante testes, chegam a esse limite. Espere um minuto e recarregue. Um administrador logado nunca é limitado.

Atrás do Cloudflare ou de um proxy, todos os visitantes podem parecer ter o mesmo IP. Veja Para desenvolvedores.

Os clientes não recebem os e-mails, ou eles caem no spam

O e-mail padrão do WordPress costuma ser filtrado. Instale um plugin de SMTP e ligue-o a um serviço de envio ou à caixa do seu domínio. Depois, envie um e-mail de teste em Nevua → Notificações. Veja E-mails e lembretes.

Os lembretes chegam atrasados ou não chegam

Os lembretes dependem do WP-Cron, que precisa de visitas ao site. O Status do sistema mostra quando eles rodaram pela última vez. Peça à hospedagem um cron no servidor que chame o wp-cron.php a cada poucos minutos.

PRO: o pagamento foi feito, mas a reserva continua pendente

O meio de pagamento não conseguiu avisar o seu site. Confira:

  • o site é público e está em https;
  • o webhook do meio de pagamento aponta para a URL do webhook mostrada em Configurações → Pagamentos, com os eventos listados ali;
  • no Stripe, o segredo do webhook é o segredo de assinatura do endpoint (whsec_…).

Sem a confirmação do pagamento, o horário reservado é liberado depois de 30 minutos.

PRO: o PayPal ou o Pix não aparecem no formulário

  • O PayPal somente aceita BRL, USD, EUR e MXN.
  • O Pix precisa do Mercado Pago ligado e da moeda em BRL.
  • Um meio de pagamento somente aparece quando está ligado e com as chaves salvas.

PRO: SMS ou WhatsApp não são enviados

Abra Notificações → Registros: cada tentativa aparece com o motivo da falha. Os mais comuns:

  • o cliente deixou o telefone vazio;
  • o canal está ligado, mas sem provedor (a aba Canais avisa);
  • conta de teste da Twilio: somente alcança números verificados na Twilio;
  • WhatsApp: a mensagem não tem um modelo aprovado (Content SID), ou a Meta ainda não aprovou.

PRO: a agenda Google ou Outlook não conecta

Quase sempre é o endereço de retorno: ele precisa ser exatamente a URI de redirecionamento que o Nevua mostra em Configurações → Sincronização de agenda. Enquanto o app estiver em modo de teste no Google, somente os usuários de teste que você listou conseguem conectar. Veja Sincronização de agenda.

Para desenvolvedores

  • Atrás de um proxy ou do Cloudflare: por padrão, o Nevua usa o IP da própria conexão, porque os cabeçalhos de IP repassado podem ser forjados. Se o seu proxy os preenche de forma confiável, adicione add_filter('nevua_trust_proxy_headers', '__return_true'); a um pequeno plugin ou ao functions.php do tema; atrás do Cloudflare, adicione também add_filter('nevua_trust_cloudflare', '__return_true');. Ative somente se o site estiver atrás de um proxy: caso contrário, um visitante poderia escrever o próprio endereço.
  • Manter os dados ao excluir, seja qual for a opção: define('NEVUA_PRESERVE_DATA', true); no wp-config.php.