Correção falha na migration da ultima atualização
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
# app/services/notificacao/teste_whatsapp.rb
|
||||
#
|
||||
# Dispara um WhatsApp de teste pelo Twilio para o número administrativo e
|
||||
# traduz o código de erro da API para uma instrução acionável em português —
|
||||
# os erros de Sandbox (opt-in) são de longe os mais comuns e o código cru
|
||||
# ("63003") não diz nada para quem está configurando.
|
||||
# Dispara um WhatsApp de teste para o número administrativo, pelo provedor
|
||||
# escolhido na tela (QR/Baileys ou Twilio).
|
||||
#
|
||||
# No Twilio, traduz o código de erro da API para uma instrução acionável em
|
||||
# português — os erros de Sandbox (opt-in) são de longe os mais comuns e o
|
||||
# código cru ("63003") não diz nada para quem está configurando.
|
||||
module Notificacao
|
||||
class TesteWhatsapp
|
||||
MENSAGENS = {
|
||||
@@ -26,7 +28,8 @@ module Notificacao
|
||||
|
||||
def initialize(config = ConfiguracaoNotificacao.instancia, destino: nil)
|
||||
@config = config
|
||||
@destino = ConfiguracaoNotificacao.canal(destino.presence || config.whatsapp_admin)
|
||||
@numero = ConfiguracaoNotificacao.normalizar_telefone(destino.presence || config.whatsapp_admin)
|
||||
@destino = @numero && ConfiguracaoNotificacao.canal(@numero)
|
||||
end
|
||||
|
||||
def executar
|
||||
@@ -35,6 +38,21 @@ module Notificacao
|
||||
'(ex.: 11 92005-1157) antes de testar.')
|
||||
end
|
||||
|
||||
@config.baileys? ? via_qr : via_twilio
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Modo QR: quem responde é a ponte Baileys (container `whatsapp`). Os erros
|
||||
# dela já vêm traduzidos pelo ClienteWhatsapp.
|
||||
def via_qr
|
||||
resposta = ClienteWhatsapp.padrao.enviar(para: @numero, texto: corpo)
|
||||
return Resultado.falha(resposta.erro.to_s) unless resposta.ok?
|
||||
|
||||
Resultado.sucesso("WhatsApp de teste enviado para #{@numero} pela ponte QR.")
|
||||
end
|
||||
|
||||
def via_twilio
|
||||
credenciais = @config.credenciais_whatsapp
|
||||
if credenciais.blank?
|
||||
return Resultado.falha('Marque "Ativar WhatsApp" e preencha Account SID, Auth Token e o ' \
|
||||
@@ -63,11 +81,9 @@ module Notificacao
|
||||
Resultado.falha("Falha inesperada ao enviar (#{e.class}).", e.message)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def corpo
|
||||
"✅ Teste do Reem Notas\n" \
|
||||
"Se você recebeu esta mensagem, a integração com o Twilio está funcionando.\n" \
|
||||
"Se você recebeu esta mensagem, o envio de WhatsApp está funcionando.\n" \
|
||||
"Enviado em #{Time.current.strftime('%d/%m/%Y às %H:%M')}."
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user