omnichannel-deploy/database/migrations/026_whatsapp_templates_hsm.sql
Rafael Lopes 51eaaf0735 FEAT: Adiciona migrations para config WhatsApp e templates HSM
025: Tabela whatsapp_config com access_token, phone_number_id,
     api_version e webhook_token (singleton via UNIQUE INDEX on TRUE)
026: waba_id na whatsapp_config; colunas HSM em whatsapp_templates:
     language, meta_template_name, meta_template_id, meta_status,
     header_type, header_text, footer_text, buttons (JSONB),
     body_variables (JSONB)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 09:58:01 -03:00

30 lines
1.3 KiB
SQL

-- Migration 026: WhatsApp HSM Templates + WABA ID
-- Adiciona suporte a templates HSM da Meta com botões, header, footer e variáveis estruturadas.
-- WABA ID na config (necessário para gerenciar templates via API)
ALTER TABLE whatsapp_config
ADD COLUMN IF NOT EXISTS waba_id VARCHAR(100);
-- Colunas HSM na tabela de templates
ALTER TABLE whatsapp_templates
ADD COLUMN IF NOT EXISTS language VARCHAR(10) NOT NULL DEFAULT 'pt_BR',
ADD COLUMN IF NOT EXISTS meta_template_name VARCHAR(512),
ADD COLUMN IF NOT EXISTS meta_template_id VARCHAR(100),
ADD COLUMN IF NOT EXISTS meta_status VARCHAR(50),
ADD COLUMN IF NOT EXISTS header_type VARCHAR(20),
ADD COLUMN IF NOT EXISTS header_text TEXT,
ADD COLUMN IF NOT EXISTS footer_text TEXT,
ADD COLUMN IF NOT EXISTS buttons JSONB,
ADD COLUMN IF NOT EXISTS body_variables JSONB;
-- Templates existentes sem meta_template_name ficam como rascunho
UPDATE whatsapp_templates
SET status = 'draft'
WHERE status IN ('approved', 'meta_review', 'admin_review')
AND meta_template_name IS NULL;
-- Índice único para meta_template_name (ignora NULLs)
CREATE UNIQUE INDEX IF NOT EXISTS whatsapp_templates_meta_name_idx
ON whatsapp_templates (meta_template_name)
WHERE meta_template_name IS NOT NULL;