";
// 1. Verificar configuraciones
echo "
";
// 2. Verificar conexión a base de datos
echo "
🗄️ Base de Datos
";
try {
$db = Database::getInstance();
echo "
✅ Conexión a base de datos exitosa
";
// Verificar tabla system_config
try {
$configs = $db->fetchAll("SELECT config_key, config_value FROM system_config WHERE config_key IN ('whatsapp_token', 'whatsapp_phone_number_id', 'whatsapp_api_url')");
if (!empty($configs)) {
echo "
Configuración en BD:
";
echo "
";
echo "| Clave | Valor |
";
foreach ($configs as $config) {
$display = ($config['config_key'] === 'whatsapp_token') ?
substr($config['config_value'], 0, 20) . '...' :
$config['config_value'];
echo "| " . htmlspecialchars($config['config_key']) . " | " . htmlspecialchars($display) . " |
";
}
echo "
";
} else {
echo "
⚠️ No hay configuración de WhatsApp en la base de datos
";
}
} catch (Exception $e) {
echo "
⚠️ Tabla system_config no encontrada: " . $e->getMessage() . "
";
}
} catch (Exception $e) {
echo "
❌ Error de base de datos: " . $e->getMessage() . "
";
}
echo "
";
// 3. Probar conectividad con Facebook Graph API
echo "
🌐 Conectividad Facebook Graph API
";
if (WHATSAPP_TOKEN !== 'TU_TOKEN_DE_WHATSAPP_AQUI' && WHATSAPP_PHONE_NUMBER_ID !== 'TU_PHONE_ID_AQUI') {
// Prueba 1: Verificar el Phone Number ID
echo "
📞 Verificación del Phone Number ID
";
$ch = curl_init();
$url = WHATSAPP_API_URL . WHATSAPP_PHONE_NUMBER_ID;
$headers = [
'Authorization: Bearer ' . WHATSAPP_TOKEN,
'Content-Type: application/json'
];
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_TIMEOUT => 15,
CURLOPT_SSL_VERIFYPEER => true
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
echo "
URL: $url
";
echo "
HTTP Code: $httpCode
";
if ($error) {
echo "
❌ Error cURL: $error
";
} else {
$decoded = json_decode($response, true);
if ($httpCode === 200) {
echo "
✅ Phone Number ID válido
";
echo "
Información del número:
";
echo "
" . json_encode($decoded, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "
";
} else {
echo "
❌ Phone Number ID inválido o sin permisos
";
echo "
Respuesta de la API:
";
echo "
" . json_encode($decoded, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "
";
if (isset($decoded['error'])) {
echo "
";
echo "
Detalles del error:
";
echo "
Mensaje: " . htmlspecialchars($decoded['error']['message'] ?? 'N/A') . "
";
echo "
Tipo: " . htmlspecialchars($decoded['error']['type'] ?? 'N/A') . "
";
echo "
Código: " . htmlspecialchars($decoded['error']['code'] ?? 'N/A') . "
";
if (isset($decoded['error']['error_subcode'])) {
echo "
Subcódigo: " . htmlspecialchars($decoded['error']['error_subcode']) . "
";
}
echo "
";
}
}
}
// Prueba 2: Verificar permisos del token
echo "
🔑 Verificación de permisos del token
";
$ch = curl_init();
$debugUrl = "https://graph.facebook.com/debug_token?input_token=" . WHATSAPP_TOKEN . "&access_token=" . WHATSAPP_TOKEN;
curl_setopt_array($ch, [
CURLOPT_URL => $debugUrl,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 15,
CURLOPT_SSL_VERIFYPEER => true
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if (!$error && $httpCode === 200) {
$decoded = json_decode($response, true);
if (isset($decoded['data'])) {
echo "
Información del token:
";
echo "
" . json_encode($decoded['data'], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "
";
}
} else {
echo "
⚠️ No se pudo verificar el token: $error
";
}
} else {
echo "
❌ Token o Phone Number ID no configurados correctamente
";
}
echo "
";
// 4. Recomendaciones
echo "
💡 Recomendaciones y Soluciones
";
$recommendations = [];
if (WHATSAPP_TOKEN === 'TU_TOKEN_DE_WHATSAPP_AQUI') {
$recommendations[] = "❌
Configure el token de WhatsApp: Vaya a la configuración del sistema y ingrese su token de WhatsApp Business API.";
}
if (WHATSAPP_PHONE_NUMBER_ID === 'TU_PHONE_ID_AQUI') {
$recommendations[] = "❌
Configure el Phone Number ID: Vaya a la configuración del sistema y ingrese su Phone Number ID.";
}
if (WHATSAPP_PHONE_NUMBER_ID === '858157464051987') {
$recommendations[] = "⚠️
Phone Number ID problemático: El ID '858157464051987' está generando errores. Verifique que:
- El número esté verificado en Facebook Business
- Tenga los permisos correctos (whatsapp_business_messaging)
- La aplicación esté en modo de producción
- El token tenga acceso a este número
";
}
$recommendations[] = "✅
Verificar en Meta for Developers:
- Vaya a Facebook for Developers
- Seleccione su aplicación de WhatsApp Business
- Vaya a Configuración > WhatsApp > Números de teléfono
- Verifique que el número esté activo y verificado
- Copie el Phone Number ID correcto
";
$recommendations[] = "🔧
Pasos para resolver el error:
- Verifique que el Phone Number ID sea correcto
- Asegúrese de que el token tenga permisos para el número
- Verifique que la aplicación esté aprobada para producción
- Compruebe que el número esté verificado en Meta Business
";
foreach ($recommendations as $rec) {
echo "
$rec
";
}
echo "