From d1fa5335e157e2a36c20568eb145ff338303a032 Mon Sep 17 00:00:00 2001 From: Rodribm10 Date: Fri, 24 Apr 2026 07:27:53 -0300 Subject: [PATCH] fix(whatsapp): remove janela de 24h pra providers Web (wuzapi, evolution) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A regra de 24h é da Meta Cloud API. Providers que conectam via WhatsApp Web (baileys, zapi — já isentos; wuzapi, evolution — agora isentos) permitem mensagem livre a qualquer momento. Antes: agente via "Você só pode responder a esta conversa usando um modelo de mensagem devido a Restrições de janela de mensagem de 24 horas" e ficava bloqueado de digitar. Agora: MessageWindowService.messaging_window retorna nil pros 4 providers Web, o que faz can_reply? retornar true incondicionalmente. Co-Authored-By: Claude Opus 4.7 (1M context) --- app/services/conversations/message_window_service.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/services/conversations/message_window_service.rb b/app/services/conversations/message_window_service.rb index d4f502713..7cbab1c43 100644 --- a/app/services/conversations/message_window_service.rb +++ b/app/services/conversations/message_window_service.rb @@ -14,7 +14,7 @@ class Conversations::MessageWindowService private - def messaging_window # rubocop:disable Metrics/CyclomaticComplexity + def messaging_window case @conversation.inbox.channel_type when 'Channel::Api' api_messaging_window @@ -25,7 +25,10 @@ class Conversations::MessageWindowService when 'Channel::Tiktok' tiktok_messaging_window when 'Channel::Whatsapp' - return if %w[baileys zapi].include?(@conversation.inbox.channel.provider) + # Providers via WhatsApp Web (baileys, zapi, wuzapi, evolution) não + # estão sujeitos à janela de 24h da Meta Cloud API — Web permite + # mensagem livre a qualquer momento. + return if %w[baileys zapi wuzapi evolution].include?(@conversation.inbox.channel.provider) MESSAGING_WINDOW_24_HOURS when 'Channel::TwilioSms'