31 lines
1.3 KiB
Ruby
31 lines
1.3 KiB
Ruby
# WhatsApp por sessão pareada com QR code (Baileys), no lugar do Twilio.
|
|
#
|
|
# `whatsapp_provedor` decide quem envia. Nasce com o valor que a instalação já
|
|
# usa ('twilio' se havia credencial configurada), então o deploy não muda o
|
|
# comportamento até o ADM parear o QR e trocar o provedor na tela.
|
|
#
|
|
# ⚠️ O envio por QR é a porta do WhatsApp Web (engenharia reversa), fora dos
|
|
# Termos do WhatsApp: a Meta PODE banir o número. Por isso o intervalo entre
|
|
# mensagens é configurável e nasce em 5s — disparo em rajada para dezenas de
|
|
# contatos é a forma mais rápida de perder o número.
|
|
class AddBaileysToConfiguracaoNotificacoes < ActiveRecord::Migration[7.1]
|
|
def up
|
|
change_table :configuracao_notificacoes, bulk: true do |t|
|
|
t.string :whatsapp_provedor, null: false, default: 'twilio' # twilio | baileys
|
|
t.string :baileys_url
|
|
t.text :baileys_token_cifrado
|
|
t.string :whatsapp_numero_conectado
|
|
t.datetime :whatsapp_conectado_em
|
|
t.integer :whatsapp_intervalo_segundos, null: false, default: 5
|
|
end
|
|
end
|
|
|
|
def down
|
|
change_table :configuracao_notificacoes, bulk: true do |t|
|
|
t.remove :whatsapp_provedor, :baileys_url, :baileys_token_cifrado,
|
|
:whatsapp_numero_conectado, :whatsapp_conectado_em,
|
|
:whatsapp_intervalo_segundos
|
|
end
|
|
end
|
|
end
|