-- phpMyAdmin SQL Dump
-- Migration V20: WhatsApp API Oficial (Agendamentos)
-- 
-- Estrutura da tabela para armazenar as credenciais da API Oficial da Meta
CREATE TABLE IF NOT EXISTS `whatsapp_api_config` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `phone_number_id` varchar(100) NOT NULL,
  `access_token` text NOT NULL,
  `ativo` tinyint(1) NOT NULL DEFAULT 0,
  `data_atualizacao` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Estrutura da tabela para mapeamento de status de agendamento para Templates da Meta
CREATE TABLE IF NOT EXISTS `whatsapp_templates` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `status_gatilho` ENUM('agendado', 'confirmado', 'cancelado', 'realizado') NOT NULL,
  `nome_template` varchar(150) NOT NULL,
  `ativo` tinyint(1) NOT NULL DEFAULT 1,
  `data_criacao` datetime DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_status_gatilho` (`status_gatilho`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Inserindo os status básicos para visualização na UI (mas desativados até preencher nome)
INSERT IGNORE INTO `whatsapp_templates` (`status_gatilho`, `nome_template`, `ativo`) VALUES
('agendado', '', 0),
('confirmado', '', 0),
('cancelado', '', 0),
('realizado', '', 0);

-- Estrutura da tabela de logs de disparos do WhatsApp
CREATE TABLE IF NOT EXISTS `whatsapp_logs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `agendamento_id` int(11) NOT NULL,
  `status_disparo` ENUM('sucesso', 'falha') NOT NULL,
  `payload_enviado` text DEFAULT NULL,
  `resposta_api` text DEFAULT NULL,
  `data_disparo` datetime DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_agendamento_id` (`agendamento_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
