96 lines
2.9 KiB
PHP
96 lines
2.9 KiB
PHP
<?php
|
|
/**
|
|
* Debug: Ver datos crudos del API de mensajes programados
|
|
*/
|
|
|
|
require_once __DIR__ . '/config/config.php';
|
|
|
|
header('Content-Type: text/plain; charset=utf-8');
|
|
|
|
echo "=== DEBUG API get_scheduled_messages.php ===\n\n";
|
|
|
|
try {
|
|
$db = Database::getInstance();
|
|
|
|
// Obtener mensajes enviados recientes
|
|
$messages = $db->fetchAll(
|
|
"SELECT sm.*,
|
|
u.name as user_name,
|
|
u.phone_number,
|
|
mt.name as template_display_name,
|
|
mt.body_text as template_body
|
|
FROM scheduled_messages sm
|
|
LEFT JOIN users u ON sm.user_id = u.id
|
|
LEFT JOIN message_templates mt ON sm.template_id = mt.id
|
|
WHERE sm.status = 'sent'
|
|
ORDER BY sm.sent_at DESC
|
|
LIMIT 5"
|
|
);
|
|
|
|
if (empty($messages)) {
|
|
echo "❌ No hay mensajes enviados\n";
|
|
exit;
|
|
}
|
|
|
|
echo "Encontrados " . count($messages) . " mensajes enviados:\n\n";
|
|
|
|
foreach ($messages as $i => $msg) {
|
|
echo "========== MENSAJE #" . ($i + 1) . " (ID: {$msg['id']}) ==========\n";
|
|
echo "Usuario: {$msg['user_name']} ({$msg['phone_number']})\n";
|
|
echo "Plantilla: {$msg['template_name']}\n";
|
|
echo "Estado: {$msg['status']}\n";
|
|
echo "Enviado: {$msg['sent_at']}\n\n";
|
|
|
|
echo "📝 TEMPLATE BODY:\n";
|
|
echo $msg['template_body'] . "\n\n";
|
|
|
|
echo "📊 TEMPLATE_PARAMETERS (raw string):\n";
|
|
echo $msg['template_parameters'] . "\n\n";
|
|
|
|
echo "🔍 TEMPLATE_PARAMETERS (decodificado):\n";
|
|
$params = json_decode($msg['template_parameters'], true);
|
|
|
|
if (is_array($params)) {
|
|
echo "Tipo: array\n";
|
|
echo "Cantidad: " . count($params) . "\n";
|
|
|
|
// Detectar si es asociativo
|
|
$isAssoc = false;
|
|
foreach ($params as $k => $v) {
|
|
if (!is_int($k)) {
|
|
$isAssoc = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
echo "Formato: " . ($isAssoc ? "ASOCIATIVO" : "INDEXADO") . "\n\n";
|
|
|
|
echo "Valores:\n";
|
|
foreach ($params as $k => $v) {
|
|
echo " [$k] => '$v'\n";
|
|
}
|
|
} else {
|
|
echo "⚠️ No es un array válido\n";
|
|
}
|
|
|
|
echo "\n";
|
|
}
|
|
|
|
echo "\n\n=== SIMULACIÓN DE LO QUE VE EL FRONTEND ===\n\n";
|
|
|
|
// Simular lo que hace get_scheduled_messages.php
|
|
$firstMsg = $messages[0];
|
|
|
|
echo "JSON que recibe el frontend:\n";
|
|
|
|
$msgForFrontend = $firstMsg;
|
|
if ($msgForFrontend['template_parameters']) {
|
|
$msgForFrontend['template_parameters'] = json_decode($msgForFrontend['template_parameters'], true);
|
|
}
|
|
|
|
echo json_encode($msgForFrontend, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
|
|
|
} catch (Exception $e) {
|
|
echo "❌ Error: " . $e->getMessage() . "\n";
|
|
}
|