Atualização das configuração de mesagens do Zap
This commit is contained in:
@@ -42,6 +42,12 @@ module Notificacao
|
||||
post('/enviar', para: para, texto: texto)
|
||||
end
|
||||
|
||||
# Grupos de que o número conectado participa. O id do grupo é opaco, então a
|
||||
# tela precisa desta lista para o ADM escolher pelo nome.
|
||||
def grupos
|
||||
get('/grupos')
|
||||
end
|
||||
|
||||
def desconectar
|
||||
post('/logout')
|
||||
end
|
||||
|
||||
@@ -132,7 +132,8 @@ module Notificacao
|
||||
# [[destino, contato, user], ...] sem repetir o mesmo número/e-mail — a mesma
|
||||
# pessoa pode ser contato de um grupo E o envolvido no fato.
|
||||
def destinos_whatsapp
|
||||
lista = @evento.destinatarios('whatsapp').map { |c| [c.telefone, c, c.user] }
|
||||
# `destino_whatsapp` resolve pessoa (número) ou grupo (JID) — ver Contato.
|
||||
lista = @evento.destinatarios('whatsapp').map { |c| [c.destino_whatsapp, c, c.user] }
|
||||
lista += envolvido_whatsapp
|
||||
dedup(lista)
|
||||
end
|
||||
|
||||
@@ -11,6 +11,16 @@ module Notificacao
|
||||
Resposta = ClienteWhatsapp::Resposta
|
||||
|
||||
def self.enviar(para:, texto:, config: ConfiguracaoNotificacao.instancia)
|
||||
# Grupo do WhatsApp vem como JID pronto ("120363...@g.us") — não é
|
||||
# telefone, não normaliza. Passa direto para a ponte, que aceita as duas
|
||||
# formas.
|
||||
if Contato::JID_GRUPO_RE.match?(para.to_s.strip)
|
||||
return Resposta.new(ok: false, erro: 'O Twilio não envia para grupo do WhatsApp. ' \
|
||||
'Troque o provedor para QR code.') unless config.baileys?
|
||||
|
||||
return via_baileys(para.to_s.strip, texto)
|
||||
end
|
||||
|
||||
destino = ConfiguracaoNotificacao.normalizar_telefone(para)
|
||||
return Resposta.new(ok: false, erro: 'Número inválido.') if destino.blank?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user