diff --git a/debug_message_7.php b/debug_message_7.php new file mode 100644 index 0000000..c4042fd --- /dev/null +++ b/debug_message_7.php @@ -0,0 +1,105 @@ +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"; +}