Files
whatsapp/debug_message_7.php

106 lines
3.1 KiB
PHP

<?php
/**
* Debug: Ver qué hay en el mensaje programado ID 7
*/
require_once __DIR__ . '/config/config.php';
header('Content-Type: text/plain; charset=utf-8');
echo "=== DEBUG MENSAJE PROGRAMADO ID 7 ===\n\n";
try {
$db = Database::getInstance();
$msg = $db->fetch(
"SELECT sm.*, u.phone_number, u.name as user_name
FROM scheduled_messages sm
LEFT JOIN users u ON sm.user_id = u.id
WHERE sm.id = 7"
);
if (!$msg) {
echo "❌ Mensaje ID 7 no encontrado\n";
exit;
}
echo "📋 DATOS BÁSICOS:\n";
echo "ID: {$msg['id']}\n";
echo "Usuario: {$msg['user_name']} ({$msg['phone_number']})\n";
echo "Estado: {$msg['status']}\n";
echo "Tipo: {$msg['message_type']}\n";
echo "Programado para: {$msg['scheduled_date']} {$msg['scheduled_time']}\n\n";
if ($msg['message_type'] === 'template') {
echo "📝 PLANTILLA:\n";
echo "Nombre: {$msg['template_name']}\n";
echo "Idioma: {$msg['template_language']}\n";
echo "Template ID: {$msg['template_id']}\n\n";
echo "📊 PARÁMETROS RAW (string guardado en BD):\n";
echo $msg['template_parameters'] . "\n\n";
echo "🔍 PARÁMETROS DECODIFICADOS:\n";
$params = json_decode($msg['template_parameters'], true);
if (is_array($params)) {
echo "Tipo: array\n";
echo "Cantidad: " . count($params) . "\n";
echo "Formato: ";
$isAssociative = false;
foreach ($params as $k => $v) {
if (!is_int($k)) {
$isAssociative = true;
break;
}
}
echo ($isAssociative ? "ASOCIATIVO (con nombres)" : "INDEXADO (numérico)") . "\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\n📤 CÓMO SE ENVIARÁ A WHATSAPP:\n";
// Simular lo que hace WhatsAppService
$whatsappService = new WhatsAppService();
try {
// Hacer dry run para ver el payload
$dryPayload = $whatsappService->sendTemplateMessage(
$msg['phone_number'],
$msg['template_name'],
$msg['template_language'] ?? 'es',
$params,
[],
null,
null,
true // dryRun = true
);
echo json_encode($dryPayload, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
} catch (Exception $e) {
echo "❌ Error generando payload: " . $e->getMessage() . "\n";
}
} else {
echo "📝 CONTENIDO:\n";
echo $msg['message_content'] . "\n";
}
if (!empty($msg['error_message'])) {
echo "\n\n❌ ERROR REGISTRADO:\n";
echo $msg['error_message'] . "\n";
}
} catch (Exception $e) {
echo "❌ Error: " . $e->getMessage() . "\n";
}